Position in source file
pure nothrow @safe void
set(const(char)*
filename, uint
linnum, int
charnum);
Set fields of Srcpos
Parameters:const(char)*filename | file name |
uintlinnum | line number |
intcharnum | character number |
Current 'state' of the compiler. Used to gather together most global variables. This struct is saved/restored during function body parsing.
Global variables.
alias
ClassDeclaration_ = void*;
Basic blocks: Basic blocks are a linked list of all the basic blocks in a function. startblock heads the list.
While constructing a block list, BlockState maintains the global state needed to construct that list.
Basic block control flow operators.
Range for blocks.
alias
func_flags_t = uint;
Functions
Base classes are a list of these.
alias
enum_flags_t = uint;
Special information for enums.
alias
struct_flags_t = uint;
Special information for structs.
nothrow @nogc @trusted inout(Symbol)*
list_symbol(inout list_t
lst);
Symbol Table
Function parameters: Pident identifier of parameter Ptype type of argument Pelem default value for argument Psym symbol corresponding to Pident when using the parameter list as a symbol table For template-parameter-list: Pident identifier of parameter Ptype if NULL, this is a type-parameter else the type for a parameter-declaration value argument Pelem default value for value argument Pdeftype default value for type-parameter Pptpl template-parameter-list for template-template-parameter Psym default value for template-template-parameter For template-arg-list: (actual arguments) Pident NULL Ptype type-name Pelem expression (either Ptype or Pelem is NULL) Psym SCtemplate for template-template-argument
nothrow @nogc @trusted EHmethod
ehmethod(Symbol*
f);
Returns:exception method for f
Element types. These should be combined with storage classes.
Srcfiles
This is to support compiling expressions within the context of a function.
Data definitions DTibytes 1..7 bytes DTabytes offset of bytes of data a { a data bytes } DTnbytes bytes of data a { a data bytes } a = offset DTazeros # of 0 bytes a DTsymsize same as DTazeros, but the type of the symbol gives the size DTcommon # of 0 bytes (in a common block) a DTxoff offset from symbol w a w = symbol number (pointer for CPP) a = offset DTcoff offset into code segment