View source code
							
							
						
								Display the source code in dmd/expressionsem.d from which this
								page was generated on github.
							
						
							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
								local clone.
							
						Module dmd.expressionsem
Semantic analysis of expressions.
Specification
($LINK2 https://dlang.org/spec/expression.html, Expressions)
Documentation
https://dlang.org/phobos/dmd_expressionsem.html
Coverage
https://codecov.io/gh/dlang/dmd/src/master/src/dmd/expressionsem.d
Functions
| Name | Description | 
|---|---|
								
									arrayExpressionSemantic(exps, sc, preserveErrors)
								
							 | 
							Perform semantic() on an array of Expressions. | 
								
									binSemantic(e, sc)
								
							 | 
							Helper function for easy error propagation. If error occurs, returns ErrorExp. Otherwise returns NULL. | 
								
									checkAddressable(e, sc)
								
							 | 
							This check ensures that the object in exp can have its address taken, or
 issue a diagnostic error.
 | 
						
								
									checkAddressVar(sc, exp, v)
								
							 | 
							Determine if exp, which gets its address taken, can do so safely.
 | 
						
								
									checkSharedAccess(e, sc, returnRef)
								
							 | 
							If expression is shared, check that we can access it. Give error message if not. | 
								
									expressionsToString(buf, sc, exps)
								
							 | 
							Perform semantic analysis and CTFE on expressions to produce a string. | 
								
									getThisSkipNestedFuncs(loc, sc, s, ad, e1, t, var, flag)
								
							 | 
							Helper function for getRightThis().
 Gets this of the next outer aggregate.
 | 
						
								
									getVarExp(em, loc, sc)
								
							 | 
							Returns em as a VariableExp
 | 
						
								
									makeThis2Argument(loc, sc, fd)
								
							 | 
							Make a dual-context container for use as a this argument.
 | 
						
								
									resolveIsPackage(sym)
								
							 | 
							Determines whether a symbol represents a module or package (Used as a helper for is(type == module) and is(type == package)) | 
								
									resolveOpDollar(sc, ae, pe0)
								
							 | 
							Runs semantic on ae.arguments. Declares temporary variables if '$' was used. | 
								
									resolveOpDollar(sc, ae, ie, pe0)
								
							 | 
							Runs semantic on se.lwr and se.upr. Declares a temporary variable if '$' was used. | 
								
									resolvePropertiesOnly(sc, e1)
								
							 | 
							If e1 is a property function (template), resolve it. | 
								
									semanticString(sc, exp, s)
								
							 | 
							Resolve exp as a compile-time known string.
 | 
						
								
									semanticY(exp, sc, flag)
								
							 | 
							Resolve properties, i.e. e1, without seeing UFCS.
 | 
						
								
									symbolToExp(s, loc, sc, hasOverloads)
								
							 | 
							Turn symbol s into the expression it represents.
 | 
						
								
									toBoolean(exp, sc)
								
							 | 
							Try to treat exp as a boolean,
 | 
						
								
									trySemantic(exp, sc)
								
							 | 
							Try to run semantic routines. If they fail, return NULL. | 
								
									unaSemantic(e, sc)
								
							 | 
							Helper function for easy error propagation. If error occurs, returns ErrorExp. Otherwise returns NULL. | 
								
									verifyHookExist(loc, sc, id, description, module_)
								
							 | 
							Make sure that the runtime hook id exists.
 | 
						
Authors
License
					Copyright © 1999-2024 by the D Language Foundation | Page generated by ddox.