Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions src/dmd/aggregate.h
Original file line number Diff line number Diff line change
Expand Up @@ -95,6 +95,7 @@ class AggregateDeclaration : public ScopeDsymbol
*/
Dsymbol *enclosing;
VarDeclaration *vthis; // 'this' parameter if this aggregate is nested
VarDeclaration *vthis2; // 'this' parameter if this aggregate is a template and is nested
// Special member functions
FuncDeclarations invs; // Array of invariants
FuncDeclaration *inv; // invariant
Expand All @@ -121,6 +122,7 @@ class AggregateDeclaration : public ScopeDsymbol
virtual Scope *newScope(Scope *sc);
void setScope(Scope *sc);
bool determineFields();
size_t nonHiddenFields();
bool determineSize(Loc loc);
virtual void finalizeSize() = 0;
d_uns64 size(const Loc &loc);
Expand All @@ -129,6 +131,7 @@ class AggregateDeclaration : public ScopeDsymbol
bool isDeprecated() const; // is aggregate deprecated?
bool isNested() const;
void makeNested();
void makeNested2();
bool isExport() const;
Dsymbol *searchCtor();

Expand Down
2 changes: 2 additions & 0 deletions src/dmd/declaration.h
Original file line number Diff line number Diff line change
Expand Up @@ -461,6 +461,7 @@ class FuncDeclaration : public Declaration
struct HiddenParameters
{
VarDeclaration *this_;
bool isThis2;
VarDeclaration *selector;
};

Expand All @@ -486,6 +487,7 @@ class FuncDeclaration : public Declaration
// scopes from having the same name
DsymbolTable *localsymtab;
VarDeclaration *vthis; // 'this' parameter (member and nested)
bool isThis2; // has a dual-context 'this' parameter
VarDeclaration *v_arguments; // '_arguments' parameter
ObjcSelector *selector; // Objective-C method selector (member function only)
VarDeclaration *selectorParameter; // Objective-C implicit selector parameter
Expand Down
2 changes: 2 additions & 0 deletions src/dmd/expression.h
Original file line number Diff line number Diff line change
Expand Up @@ -785,6 +785,7 @@ class DelegateExp : public UnaExp
public:
FuncDeclaration *func;
bool hasOverloads;
VarDeclaration *vthis2; // container for multi-context


void accept(Visitor *v) { v->visit(this); }
Expand All @@ -804,6 +805,7 @@ class CallExp : public UnaExp
Expressions *arguments; // function arguments
FuncDeclaration *f; // symbol to call
bool directcall; // true if a virtual call is devirtualized
VarDeclaration *vthis2; // container for multi-context

static CallExp *create(Loc loc, Expression *e, Expressions *exps);
static CallExp *create(Loc loc, Expression *e);
Expand Down