diff options
Diffstat (limited to 'gcc/d/dmd/expression.h')
-rw-r--r-- | gcc/d/dmd/expression.h | 15 |
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); |