- arrayExpressionSemantic
bool arrayExpressionSemantic(Expressions* exps, Scope* sc, bool preserveErrors = false)
Perform semantic() on an array of Expressions.
- binSemantic
Expression binSemantic(BinExp e, Scope* sc)
Helper function for easy error propagation.
If error occurs, returns ErrorExp. Otherwise returns NULL.
- checkSharedAccess
bool checkSharedAccess(Expression e, Scope* sc)
If expression is shared, check that we can access it.
Give error message if not.
- expressionsToString
bool expressionsToString(ref OutBuffer buf, Scope* sc, Expressions* exps)
Perform semantic analysis and CTFE on expressions to produce
a string.
- getThisSkipNestedFuncs
Expression getThisSkipNestedFuncs(const ref Loc loc, Scope* sc, Dsymbol s, AggregateDeclaration ad, Expression e1, Type t, Dsymbol var, bool flag = false)
Helper function for getRightThis().
Gets this of the next outer aggregate.
- makeThis2Argument
VarDeclaration makeThis2Argument(const ref Loc loc, Scope* sc, FuncDeclaration fd)
Make a dual-context container for use as a this argument.
- resolveIsPackage
Package resolveIsPackage(Dsymbol sym)
Determines whether a symbol represents a module or package
(Used as a helper for is(type == module) and is(type == package))
- resolveOpDollar
Expression resolveOpDollar(Scope* sc, ArrayExp ae, Expression* pe0)
Runs semantic on ae.arguments. Declares temporary variables
if '$' was used.
- resolveOpDollar
Expression resolveOpDollar(Scope* sc, ArrayExp ae, IntervalExp ie, Expression* pe0)
Runs semantic on se.lwr and se.upr. Declares a temporary variable
if '$' was used.
- resolvePropertiesOnly
Expression resolvePropertiesOnly(Scope* sc, Expression e1)
If e1 is a property function (template), resolve it.
- semanticString
StringExp semanticString(Scope* sc, Expression exp, const char* s)
Resolve exp as a compile-time known string.
- symbolToExp
Expression symbolToExp(Dsymbol s, const ref Loc loc, Scope* sc, bool hasOverloads)
Turn symbol s into the expression it represents.
- trySemantic
Expression trySemantic(Expression exp, Scope* sc)
Try to run semantic routines.
If they fail, return NULL.
- unaSemantic
Expression unaSemantic(UnaExp e, Scope* sc)
Helper function for easy error propagation.
If error occurs, returns ErrorExp. Otherwise returns NULL.
- verifyHookExist
bool verifyHookExist(const ref Loc loc, ref Scope sc, Identifier id, string description, Identifier module_ = Id.object)
Make sure that the runtime hook id exists.
Semantic analysis of expressions.
Specification: ($LINK2 https://dlang.org/spec/expression.html, Expressions)