dmd.typesem
Semantic analysis for D types.
License
Source: typesem.d
Documentation: https://dlang.org/phobos/dmd_typesem.html
- 
  DeclarationExpressiontypeToExpression(Typet);We've mistakenly parsed ttParametersTypetmistaken type Return Valuetredone as Expression,nullif cannot
- 
  DeclarationTypetypeSemantic(Typetype, const ref Locloc, Scope*sc);Perform semantic analysis on a type.ParametersTypetypeType AST node Loclocthe location of the typeScope*sccontext Return ValueTypewith completed semantic analysis,Terrorif errors were encountered
- 
  DeclarationTypemerge(Typetype);If an identical typetotypetype.stringtabletype.stringtableParametersTypetypeType to check against existing types Return Valuethe typethat was merged
- 
  DeclarationExpressiongetProperty(Typet, Scope*scope_, const ref Locloc, Identifierident, intflag, Expressionsrc= null);Calculate built-in properties which just the type is necessary. ParametersTypetthe type for which the property is calculated Scope*scope_the scope from which the property is being accessed. Used for visibility checks only. Loclocthe location where the property is encountered Identifieridentthe identifier of the property intflagif flag& 1, don'treport "not a property" error and just return NULL.Expressionsrcexpression for type tnull.Return Valueexpression representing the property, or nullif not a property and (flag& 1)
- 
  Declarationvoidresolve(Typemt, const ref Locloc, Scope*sc, out Expressionpe, out Typept, out Dsymbolps, boolintypeid= false);Resolve type ' mt' to either type, symbol, or expression. If errors happened, resolved to Type.terror.ParametersTypemttype to be resolved Loclocthe location where the type is encountered Scope*scthe scope of the type Expressionpeis set if t is an expression Typeptis set if t is a type Dsymbolpsis set if t is a symbol boolintypeidtrueif in type id
- 
  DeclarationExpressiondotExp(Typemt, Scope*sc, Expressione, Identifierident, intflag);Access the members of the object e. This type is same ase.type.ParametersTypemttype for which the dot expression is used Scope*scinstantiating scope Expressioneexpression to convert Identifieridentidentifier being used intflagDotExpFlag bit flags Return Valueresulting expression with e.identresolved
- 
  DeclarationExpressiondefaultInit(Typemt, const ref Locloc, const boolisCfile= false);Get the default initialization expression for a type. ParametersTypemtthe type for which the init expression is returned Loclocthe location where the expression needs to be evaluated boolisCfiledefault initializers are different with C Return ValueThe initialization expression for the type.