aboutsummaryrefslogtreecommitdiff
path: root/gcc/d/dmd/expression.h
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/d/dmd/expression.h')
-rw-r--r--gcc/d/dmd/expression.h15
1 files changed, 14 insertions, 1 deletions
diff --git a/gcc/d/dmd/expression.h b/gcc/d/dmd/expression.h
index 15a4d87..f0ae280 100644
--- a/gcc/d/dmd/expression.h
+++ b/gcc/d/dmd/expression.h
@@ -1,6 +1,6 @@
/* Compiler implementation of the D programming language
- * Copyright (C) 1999-2020 by The D Language Foundation, All Rights Reserved
+ * Copyright (C) 1999-2021 by The D Language Foundation, All Rights Reserved
* written by Walter Bright
* http://www.digitalmars.com
* Distributed under the Boost Software License, Version 1.0.
@@ -43,6 +43,9 @@ class TemplateInstance;
class TemplateDeclaration;
class ClassDeclaration;
class BinExp;
+class UnaExp;
+class DotIdExp;
+class DotTemplateInstanceExp;
class OverloadSet;
class Initializer;
class StringExp;
@@ -55,6 +58,16 @@ typedef union tree_node Symbol;
struct Symbol; // back end symbol
#endif
+Expression *expressionSemantic(Expression *e, Scope *sc);
+Expression *semanticX(DotIdExp *exp, Scope *sc);
+Expression *semanticY(DotIdExp *exp, Scope *sc, int flag);
+Expression *semanticY(DotTemplateInstanceExp *exp, Scope *sc, int flag);
+Expression *trySemantic(Expression *e, Scope *sc);
+Expression *unaSemantic(UnaExp *e, Scope *sc);
+Expression *binSemantic(BinExp *e, Scope *sc);
+Expression *binSemanticProp(BinExp *e, Scope *sc);
+StringExp *semanticString(Scope *sc, Expression *exp, const char *s);
+
Expression *resolveProperties(Scope *sc, Expression *e);
Expression *resolvePropertiesOnly(Scope *sc, Expression *e1);
bool checkAccess(Loc loc, Scope *sc, Expression *e, Declaration *d);