Scope

Undocumented in source.

Constructors

this
this(Scope sc)
Undocumented in source.

Members

Functions

alignment
structalign_t alignment()
Undocumented in source. Be warned that the author may not have intended to support it.
copy
Scope* copy()
Undocumented in source. Be warned that the author may not have intended to support it.
detach
void detach()

Similar to pop(), but the results in this are not folded into enclosing.

endCTFE
Scope* endCTFE()
Undocumented in source. Be warned that the author may not have intended to support it.
getClassScope
ClassDeclaration getClassScope()

Search enclosing scopes for ClassDeclaration.

getStructClassScope
AggregateDeclaration getStructClassScope()

Search enclosing scopes for ClassDeclaration.

insert
Dsymbol insert(Dsymbol s)
Undocumented in source. Be warned that the author may not have intended to support it.
instantiatingModule
Module instantiatingModule()
Undocumented in source. Be warned that the author may not have intended to support it.
isDeprecated
bool isDeprecated()

Checks whether the current scope (or any of its parents) is deprecated.

merge
void merge(Loc loc, CtorFlow ctorflow)

Merge results of ctorflow into this.

pop
Scope* pop()
Undocumented in source. Be warned that the author may not have intended to support it.
push
Scope* push()
Undocumented in source. Be warned that the author may not have intended to support it.
push
Scope* push(ScopeDsymbol ss)
Undocumented in source. Be warned that the author may not have intended to support it.
search
Dsymbol search(Loc loc, Identifier ident, Dsymbol* pscopesym, int flags)

Perform unqualified name lookup by following the chain of scopes up until found.

search_correct
Dsymbol search_correct(Identifier ident)
Undocumented in source. Be warned that the author may not have intended to support it.
setNoFree
void setNoFree()

For TemplateDeclarations, we need to remember the Scope where it was declared. So mark the Scope as not to be free'd.

startCTFE
Scope* startCTFE()
Undocumented in source. Be warned that the author may not have intended to support it.

Static functions

alloc
Scope* alloc()
Undocumented in source. Be warned that the author may not have intended to support it.
createGlobal
Scope* createGlobal(Module _module)
Undocumented in source. Be warned that the author may not have intended to support it.
search_correct_C
const(char)* search_correct_C(Identifier ident)

Maybe ident was a C or C++ name. Check for that, and suggest the D equivalent.

Static variables

freelist
Scope* freelist;
Undocumented in source.

Variables

_module
Module _module;

Root module

aligndecl
AlignDeclaration aligndecl;

alignment for struct members

anchorCounts
uint[void*] anchorCounts;

lookup duplicate anchor name count

callsc
Scope* callsc;

used for __FUNCTION__, __PRETTY_FUNCTION__ and __MODULE__

cppmangle
CPPMANGLE cppmangle;

mangle type

ctorflow
CtorFlow ctorflow;

flow analysis for constructors

depdecl
DeprecatedDeclaration depdecl;

customized deprecation message

enclosing
Scope* enclosing;

enclosing Scope

explicitProtection
int explicitProtection;

set if in an explicit protection attribute

fes
ForeachStatement fes;

if nested function for ForeachStatement, this is it

flags
uint flags;
Undocumented in source.
func
FuncDeclaration func;

function we are in

inLoop
bool inLoop;

true if inside a loop (where constructor calls aren't allowed)

inlining
PINLINE inlining;

inlining strategy for functions

intypeof
int intypeof;

in typeof(exp)

inunion
Dsymbol inunion;

!= null if processing members of a union

lastVar
VarDeclaration lastVar;

Previous symbol used to prevent goto-skips-init

lastdc
DocComment* lastdc;

documentation comment for last symbol at this scope

linkage
LINK linkage;

linkage for external functions

minst
Module minst;

root module where the instantiated templates should belong to

namespace
CPPNamespaceDeclaration namespace;

C++ namespace this symbol is in

nofree
bool nofree;

true if shouldn't free it

os
ScopeGuardStatement os;

enclosing scope(xxx) statement

parent
Dsymbol parent;

parent to use

prevAnchor
Identifier prevAnchor;

qualified symbol name of last doc anchor

protection
Prot protection;

protection for class members

sbreak
Statement sbreak;

enclosing statement that supports "break"

scontinue
Statement scontinue;

enclosing statement that supports "continue"

scopesym
ScopeDsymbol scopesym;

current symbol

slabel
LabelStatement slabel;

enclosing labelled statement

stc
StorageClass stc;

storage class

sw
SwitchStatement sw;

enclosing switch statement

tf
TryFinallyStatement tf;

enclosing try finally statement

tinst
TemplateInstance tinst;

enclosing template instance

tryBody
Statement tryBody;

enclosing _body of TryCatchStatement or TryFinallyStatement

userAttribDecl
UserAttributeDeclaration userAttribDecl;
Undocumented in source.

Meta