Report a bug
If you spot a problem with this page, click here to create a Bugzilla issue.
Improve this page
Quickly fork, edit online, and submit a pull request for this page.
Requires a signed-in GitHub account. This works well for small changes.
If you'd like to make larger changes you may want to consider using
a local clone.
dmd.expressionsem
Compiler implementation of the
D programming language.
Authors:
License:
Source expressionsem.d
Documentation https://dlang.org/phobos/dmd_expressionsem.html
- bool
expressionsToString
(ref OutBufferbuf
, Scope*sc
, Expressions*exps
); - Perform semantic analysis and CTFE on expressions to produce a string.Parameters:
OutBuffer buf
append generated string to buffer Scope* sc
context Expressions* exps
array of Expressions Returns:true on error - StringExp
semanticString
(Scope*sc
, Expressionexp
, const char*s
); - Resolve
exp
as a compile-time known string.Parameters:Scope* sc
scope Expression exp
Expression which expected as a string char* s
What the string is expected for, will be used in error diagnostic. Returns:String literal, or null if error happens. - Expression
resolveOpDollar
(Scope*sc
, ArrayExpae
, Expression*pe0
); - Runs semantic on ae.arguments. Declares temporary variables if '$' was used.
- Expression
resolveOpDollar
(Scope*sc
, ArrayExpae
, IntervalExpie
, Expression*pe0
); - Runs semantic on se.lwr and se.upr. Declares a temporary variable if '$' was used.
- bool
arrayExpressionSemantic
(Expressions*exps
, Scope*sc
, boolpreserveErrors
= false); - Perform semantic() on an array of Expressions.
- Expression
resolvePropertiesOnly
(Scope*sc
, Expressione1
); - If e1 is a property function (template), resolve it.
- Expression
symbolToExp
(Dsymbols
, ref const Locloc
, Scope*sc
, boolhasOverloads
); - Turn symbol
s
into the expression it represents.Parameters:Dsymbol s
symbol to resolve Loc loc
location of use of s
Scope* sc
context bool hasOverloads
applies if s
represents a function. true means it's overloaded and will be resolved later, false means it's the exact function symbol.Returns:s
turned into an expression, ErrorExp if an error occurred - Expression
trySemantic
(Expressionexp
, Scope*sc
); - Try to run semantic routines. If they fail, return NULL.
- Expression
unaSemantic
(UnaExpe
, Scope*sc
); - Helper function for easy error propagation. If error occurs, returns ErrorExp. Otherwise returns NULL.
- Expression
binSemantic
(BinExpe
, Scope*sc
); - Helper function for easy error propagation. If error occurs, returns ErrorExp. Otherwise returns NULL.
- Expression
getThisSkipNestedFuncs
(ref const Locloc
, Scope*sc
, Dsymbols
, AggregateDeclarationad
, Expressione1
, Typet
, Dsymbolvar
, boolflag
= false); - Helper function for getRightThis(). Gets this of the next outer aggregate.Parameters:
Loc loc
location to use for error messages Scope* sc
context Dsymbol s
the parent symbol of the existing this AggregateDeclaration ad
struct or class we need the correct this for Expression e1
existing this Type t
type of the existing this Dsymbol var
the specific member of ad we're accessing bool flag
if true, return null instead of throwing an error Returns:Expression representing the this for the var
Copyright © 1999-2022 by the D Language Foundation | Page generated by
Ddoc on (no date time)