/netbsd-current/external/gpl3/gcc/dist/gcc/d/dmd/ |
H A D | aggregate.d | 125 VarDeclaration vthis; /// 'this' parameter if this aggregate is nested 626 /* Append vthis field (this.tupleof[$-1]) to make this aggregate type nested. 678 assert(!vthis); 679 vthis = new ThisDeclaration(loc, t); 680 //vthis.storage_class |= STC.ref_; 682 // Emulate vthis.addMember() 683 members.push(vthis); 685 // Emulate vthis.dsymbolSemantic() 686 vthis.storage_class |= STC.field; 687 vthis [all...] |
H A D | func.d | 281 VarDeclaration vthis; /// 'this' parameter (member and nested) 525 vthis = null; 544 vthis = new VarDeclaration(loc, tthis, dualCtx ? Id.this2 : Id.capture, null); 545 vthis.storage_class |= STC.parameter | STC.nodtor; 550 vthis = new ThisDeclaration(loc, thandle); 551 vthis.storage_class |= STC.parameter; 554 vthis.storage_class |= STC.ref_; 561 vthis.storage_class |= STC.return_; 563 vthis.storage_class |= STC.scope_; 565 vthis [all...] |
H A D | semantic3.d | 396 //printf("[%s] ad = %p vthis = %p\n", loc.toChars(), ad, vthis); 397 //if (vthis) printf("\tvthis.type = %s\n", vthis.type.toChars()); 539 Expression e = addInvariant(funcdecl.isThis(), funcdecl.vthis); 548 Expression e = addInvariant(funcdecl.isThis(), funcdecl.vthis); 717 Type tthis = ad2.type.addMod(funcdecl.vthis.type.mod); 1197 vsync = new VarExp(funcdecl.loc, funcdecl.vthis); 1300 size_t dim = (funcdecl.vthis !is null) + (funcdecl.parameters ? funcdecl.parameters.dim : 0); 1307 if (funcdecl.vthis) [all...] |
H A D | aggregate.h | 94 VarDeclaration *vthis; // 'this' parameter if this aggregate is nested member in class:AggregateDeclaration
|
H A D | typesem.d | 4327 if (ident == Id.outer && mt.sym.vthis) 4329 if (mt.sym.vthis.semanticRun == PASS.initial) 4330 mt.sym.vthis.dsymbolSemantic(null); 4334 auto dve = new DotVarExp(e.loc, e, mt.sym.vthis); 4356 ve.var = fd.vthis; 4357 const nestedError = fd.vthis.checkNestedReference(sc, e.loc); 4360 ve.type = cdp.type.addMod(fd.vthis.type.mod).addMod(e.type.mod); 4367 auto dve = new DotVarExp(e.loc, e, mt.sym.vthis); 4368 dve.type = mt.sym.vthis.type.addMod(e.type.mod); 4529 e1 = new VarExp(e.loc, f.vthis); [all...] |
H A D | escape.d | 607 if (va == fd.vthis) // `this` of a non-static member function is considered to be the first parameter 609 if (!fd.vthis && fd.parameters && fd.parameters.length && (*fd.parameters)[0] == va) // va is first parameter 1321 if (!refs && sc.func.vthis == v) 1418 if (v == fd.vthis)
|
H A D | dinterpret.d | 558 if (fd.vthis && thisarg) 560 ctfeGlobals.stack.push(fd.vthis); 561 setValue(fd.vthis, thisarg); 691 if (tf.isref && e.op == EXP.variable && e.isVarExp().var == fd.vthis) 698 if (ve && ve.var == fd.vthis) 1763 if (istate && istate.fd.vthis) 1765 result = ctfeEmplaceExp!VarExp(e.loc, istate.fd.vthis); 2004 if (ve.var == istate.fd.vthis) 2663 auto vthis = i == 0 ? e.sd.vthis [all...] |
H A D | declaration.h | 554 VarDeclaration *vthis; // 'this' parameter (member and nested) member in class:FuncDeclaration
|
H A D | declaration.d | 382 VarDeclaration vthis = e1.isThisExp().var; 385 if (scx.func == vthis.parent && (scx.flags & SCOPE.contract))
|
H A D | expressionsem.d | 1054 e1 = new VarExp(loc, f.vthis); 1086 auto vthis = tcd.followInstantiationContext(ad) ? tcd.vthis2 : tcd.vthis; 1087 e1 = new DotVarExp(loc, e1, vthis); 1088 e1.type = vthis.type; 2848 assert(fd.vthis); 2849 e.var = fd.vthis; 2915 e.var = fd.vthis; 4105 exp.fd.vthis = null; 13119 if (f.vthis) [all...] |
/netbsd-current/external/gpl3/gcc.old/dist/gcc/d/dmd/ |
H A D | dstruct.c | 205 vthis = NULL; 869 /* Append vthis field (this->tupleof[$-1]) to make this aggregate type nested. 918 assert(!vthis); 919 vthis = new ThisDeclaration(loc, t); 920 //vthis->storage_class |= STCref; 922 // Emulate vthis->addMember() 923 members->push(vthis); 925 // Emulate vthis->semantic() 926 vthis->storage_class |= STCfield; 927 vthis [all...] |
H A D | func.c | 33 Expression *addInvariant(Loc loc, Scope *sc, AggregateDeclaration *ad, VarDeclaration *vthis, bool direct); 324 vthis = NULL; 1518 vthis = declareThis(sc2, ad); 1519 //printf("[%s] ad = %p vthis = %p\n", loc.toChars(), ad, vthis); 1520 //if (vthis) printf("\tvthis->type = %s\n", vthis->type->toChars()); 1651 Expression *e = addInvariant(loc, sc, ad, vthis, isDtorDeclaration() != NULL); 1660 Expression *e = addInvariant(loc, sc, ad, vthis, isCtorDeclaration() != NULL); 1828 FuncDeclaration *fd = resolveFuncCall(Loc(), sc2, cd->baseClass->ctor, NULL, vthis 4164 addInvariant(Loc loc, Scope *sc, AggregateDeclaration *ad, VarDeclaration *vthis, bool direct) argument [all...] |
H A D | aggregate.h | 110 VarDeclaration *vthis; // 'this' parameter if this aggregate is nested member in class:AggregateDeclaration
|
H A D | dclass.c | 685 vthis = baseClass->vthis; 698 if (vthis) // if inheriting from nested class
|
H A D | mtype.c | 8603 if (ident == Id::outer && sym->vthis) 8605 if (sym->vthis->semanticRun == PASSinit) 8606 sym->vthis->semantic(NULL); 8610 DotVarExp *dve = new DotVarExp(e->loc, e, sym->vthis); 8631 ve->var = fd->vthis; 8632 const bool nestedError = fd->vthis->checkNestedReference(sc, e->loc); 8635 ve->type = fd->vthis->type->addMod(e->type->mod); 8642 DotVarExp *dve = new DotVarExp(e->loc, e, sym->vthis); 8643 dve->type = sym->vthis->type->addMod(e->type->mod); 8794 e1 = new DotVarExp(e->loc, e1, tcd->vthis); [all...] |
H A D | dinterpret.c | 862 if (fd->vthis && thisarg) 864 ctfeStack.push(fd->vthis); 865 setValue(fd->vthis, thisarg); 961 if (tf->isref && e->op == TOKvar && ((VarExp *)e)->var == fd->vthis) 1856 if (istate && istate->fd->vthis) 1858 result = new VarExp(e->loc, istate->fd->vthis); 2045 if (er->op == TOKvar && ((VarExp *)er)->var == istate->fd->vthis) 2650 ne->type = e->sd->vthis->type;
|
H A D | escape.c | 696 if (v == fd->vthis)
|
H A D | declaration.h | 535 VarDeclaration *vthis; // 'this' parameter (member and nested) member in class:FuncDeclaration
|
H A D | expression.c | 102 e1 = new DotVarExp(loc, e1, tcd->vthis); 103 e1->type = tcd->vthis->type; 117 if (f->vthis) 121 e1 = new VarExp(loc, f->vthis); 200 assert(fd->vthis); 3343 if (fdthis && ad && isAggregate(fdthis->vthis->type) == ad &&
|
/netbsd-current/external/gpl3/gcc.old/dist/gcc/d/ |
H A D | d-codegen.cc | 2048 which is to be used for the 'vthis' context parameter for TYPE. 2140 if (!thisfd->vthis) 2163 gcc_assert (fdp->isNested () || fdp->vthis); 2180 if (!adp || !adp->isNested () || !adp->vthis) 2290 return get_decl_tree (fd->vthis); 2292 return convert_expr (get_decl_tree (fd->vthis), 2358 if (fdo->vthis && fdo->vthis->type != Type::tvoidptr) 2359 vthis_value = get_decl_tree (fdo->vthis); 2387 if (fd->vthis) [all...] |
H A D | decl.cc | 881 For nested functions, D still generates a vthis, but it 883 if (d->vthis) 885 parm_decl = get_symbol_decl (d->vthis); 889 if (d->vthis->type == Type::tvoidptr) 930 tree this_tree = get_symbol_decl (d->vthis); 935 tree vthis_field = get_symbol_decl (ad->vthis); 1518 gcc_assert (fd->vthis); 1528 if (fd->vthis == vd) 1531 t = get_decl_tree (fd->vthis); 1540 tree vfield = get_symbol_decl (ad->vthis); [all...] |
H A D | expr.cc | 1084 tree field = get_symbol_decl (sd->vthis); 2138 /* This check is for lambda's, remove 'vthis' as function isn't nested. */ 2142 e->fd->vthis = NULL; 2233 fld->vthis = NULL; 2297 gcc_assert (fd && fd->vthis); 2298 result = get_decl_tree (fd->vthis); 2357 tree field = get_symbol_decl (cd->vthis); 2380 /* Generate: (new())->vthis = this; */ 2438 tree field = get_symbol_decl (sd->vthis); 2941 tree field = get_symbol_decl (e->sd->vthis); [all...] |
/netbsd-current/external/gpl3/gcc/dist/gcc/d/ |
H A D | d-codegen.cc | 2347 which is to be used for the `vthis' context parameter for TYPE. 2443 if (!thisfd->vthis) 2466 gcc_assert (fdp->isNested () || fdp->vthis); 2483 if (!adp || !adp->isNested () || !adp->vthis) 2576 return get_decl_tree (fd->vthis); 2578 return convert_expr (get_decl_tree (fd->vthis), 2643 if (fdo->vthis && fdo->vthis->type != Type::tvoidptr) 2644 vthis_value = get_decl_tree (fdo->vthis); 2672 if (fd->vthis) [all...] |
H A D | decl.cc | 158 For nested functions, D still generates a vthis, but it 160 if (decl->vthis) 162 tree parm_decl = get_symbol_decl (decl->vthis); 166 if (decl->vthis->type == Type::tvoidptr) 988 if (d->vthis) 989 d_function_chain->static_chain = get_symbol_decl (d->vthis); 994 tree this_tree = get_symbol_decl (d->vthis); 999 tree vthis_field = get_symbol_decl (ad->vthis); 1705 gcc_assert (fd->vthis); 1715 if (fd->vthis [all...] |
H A D | expr.cc | 1093 tree field = get_symbol_decl (sd->vthis); 2068 /* This check is for lambda's, remove `vthis' as function isn't nested. */ 2072 e->fd->vthis = NULL; 2163 fld->vthis = NULL; 2254 gcc_assert (fd && fd->vthis); 2255 result = get_decl_tree (fd->vthis); 2303 tree field = get_symbol_decl (cd->vthis); 2328 /* Generate: (new())->vthis = this; */ 2377 tree field = get_symbol_decl (sd->vthis); 2891 tree field = get_symbol_decl (e->sd->vthis); [all...] |