- arrayExpressionSemantic
bool arrayExpressionSemantic(Expressions* exps, Scope* sc, bool preserveErrors)
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.
- binSemanticProp
Expression binSemanticProp(BinExp e, Scope* sc)
Undocumented in source. Be warned that the author may not have intended to support it.
- checkAddressVar
bool checkAddressVar(Scope* sc, Expression exp, VarDeclaration v)
Determine if exp, which gets its address taken, can do so safely.
- checkSharedAccess
bool checkSharedAccess(Expression e, Scope* sc, bool returnRef)
If expression is shared, check that we can access it.
Give error message if not.
- expressionSemantic
Expression expressionSemantic(Expression e, Scope* sc)
Undocumented in source. Be warned that the author may not have intended to support it.
- expressionsToString
bool expressionsToString(OutBuffer buf, Scope* sc, Expressions* exps)
Perform semantic analysis and CTFE on expressions to produce
a string.
- getThisSkipNestedFuncs
Expression getThisSkipNestedFuncs(Loc loc, Scope* sc, Dsymbol s, AggregateDeclaration ad, Expression e1, Type t, Dsymbol var, bool flag)
Helper function for getRightThis().
Gets this of the next outer aggregate.
- makeThis2Argument
VarDeclaration makeThis2Argument(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.
- resolveProperties
Expression resolveProperties(Scope* sc, Expression e)
Undocumented in source. Be warned that the author may not have intended to support it.
- resolvePropertiesOnly
Expression resolvePropertiesOnly(Scope* sc, Expression e1)
If e1 is a property function (template), resolve it.
- semanticString
StringExp semanticString(Scope* sc, Expression exp, char* s)
Resolve exp as a compile-time known string.
- semanticX
Expression semanticX(DotIdExp exp, Scope* sc)
Undocumented in source. Be warned that the author may not have intended to support it.
- semanticY
Expression semanticY(DotIdExp exp, Scope* sc, int flag)
Undocumented in source. Be warned that the author may not have intended to support it.
- semanticY
Expression semanticY(DotTemplateInstanceExp exp, Scope* sc, int flag)
Undocumented in source. Be warned that the author may not have intended to support it.
- symbolToExp
Expression symbolToExp(Dsymbol s, 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(Loc loc, Scope sc, Identifier id, string description, Identifier module_)
Make sure that the runtime hook id exists.
Semantic analysis of expressions.
Specification: ($LINK2 https://dlang.org/spec/expression.html, Expressions)