/** Return the variables accessed from within a local class, which * are declared in the local class' owner. * (in reverse order of first access). */ List<VarSymbol> freevars(ClassSymbol c) { if ((c.owner.kind & (VAR | MTH)) != 0) { List<VarSymbol> fvs = freevarCache.get(c); if (fvs == null) { FreeVarCollector collector = new FreeVarCollector(c); collector.scan(classDef(c)); fvs = collector.fvs; freevarCache.put(c, fvs); } return fvs; } else { return List.nil(); } }
/** Return the variables accessed from within a local class, which * are declared in the local class' owner. * (in reverse order of first access). */ List<VarSymbol> freevars(ClassSymbol c) { if ((c.owner.kind & (VAR | MTH)) != 0) { List<VarSymbol> fvs = freevarCache.get(c); if (fvs == null) { FreeVarCollector collector = new FreeVarCollector(c); collector.scan(classDef(c)); fvs = collector.fvs; freevarCache.put(c, fvs); } return fvs; } else { return List.nil(); } }
/** Return the variables accessed from within a local class, which * are declared in the local class' owner. * (in reverse order of first access). */ List<VarSymbol> freevars(ClassSymbol c) { List<VarSymbol> fvs = freevarCache.get(c); if (fvs != null) { return fvs; } if ((c.owner.kind & (VAR | MTH)) != 0) { FreeVarCollector collector = new FreeVarCollector(c); collector.scan(classDef(c)); fvs = collector.fvs; freevarCache.put(c, fvs); return fvs; } else { ClassSymbol owner = ownerToCopyFreeVarsFrom(c); if (owner != null) { fvs = freevarCache.get(owner); freevarCache.put(c, fvs); return fvs; } else { return List.nil(); } } }
/** Return the variables accessed from within a local class, which * are declared in the local class' owner. * (in reverse order of first access). */ List<VarSymbol> freevars(ClassSymbol c) { List<VarSymbol> fvs = freevarCache.get(c); if (fvs != null) { return fvs; } if ((c.owner.kind & (VAR | MTH)) != 0) { FreeVarCollector collector = new FreeVarCollector(c); collector.scan(classDef(c)); fvs = collector.fvs; freevarCache.put(c, fvs); return fvs; } else { ClassSymbol owner = ownerToCopyFreeVarsFrom(c); if (owner != null) { fvs = freevarCache.get(owner); freevarCache.put(c, fvs); return fvs; } else { return List.nil(); } } }
/** Add all required access methods for a private symbol to enclosing class. * @param sym The symbol. */ void makeAccessible(Symbol sym) { JCClassDecl cdef = classDef(sym.owner.enclClass()); assert cdef != null : "class def not found: " + sym + " in " + sym.owner; if (sym.name == names.init) { cdef.defs = cdef.defs.prepend( accessConstructorDef(cdef.pos, sym, accessConstrs.get(sym))); } else { MethodSymbol[] accessors = accessSyms.get(sym); for (int i = 0; i < NCODES; i++) { if (accessors[i] != null) cdef.defs = cdef.defs.prepend( accessDef(cdef.pos, sym, accessors[i], i)); } } }
/** Add all required access methods for a private symbol to enclosing class. * @param sym The symbol. */ void makeAccessible(Symbol sym) { JCClassDecl cdef = classDef(sym.owner.enclClass()); assert cdef != null : "class def not found: " + sym + " in " + sym.owner; if (sym.name == names.init) { cdef.defs = cdef.defs.prepend( accessConstructorDef(cdef.pos, sym, accessConstrs.get(sym))); } else { MethodSymbol[] accessors = accessSyms.get(sym); for (int i = 0; i < NCODES; i++) { if (accessors[i] != null) cdef.defs = cdef.defs.prepend( accessDef(cdef.pos, sym, accessors[i], i)); } } }
/** Add all required access methods for a private symbol to enclosing class. * @param sym The symbol. */ void makeAccessible(Symbol sym) { JCClassDecl cdef = classDef(sym.owner.enclClass()); if (cdef == null) Assert.error("class def not found: " + sym + " in " + sym.owner); if (sym.name == names.init) { cdef.defs = cdef.defs.prepend( accessConstructorDef(cdef.pos, sym, accessConstrs.get(sym))); } else { MethodSymbol[] accessors = accessSyms.get(sym); for (int i = 0; i < NCODES; i++) { if (accessors[i] != null) cdef.defs = cdef.defs.prepend( accessDef(cdef.pos, sym, accessors[i], i)); } } }
/** Add all required access methods for a private symbol to enclosing class. * @param sym The symbol. */ void makeAccessible(Symbol sym) { JCClassDecl cdef = classDef(sym.owner.enclClass()); if (cdef == null) Assert.error("class def not found: " + sym + " in " + sym.owner); if (sym.name == names.init) { cdef.defs = cdef.defs.prepend( accessConstructorDef(cdef.pos, sym, accessConstrs.get(sym))); } else { MethodSymbol[] accessors = accessSyms.get(sym); for (int i = 0; i < NCODES; i++) { if (accessors[i] != null) cdef.defs = cdef.defs.prepend( accessDef(cdef.pos, sym, accessors[i], i)); } } }
/** The variable symbol that caches T.class values. * If none exists yet, create a definition. * @param sig The signature of type T. * @param pos The position to report diagnostics, if any. */ private VarSymbol cacheSym(DiagnosticPosition pos, String sig) { ClassSymbol outerCacheClass = outerCacheClass(); Name cname = cacheName(sig); VarSymbol cacheSym = (VarSymbol)lookupSynthetic(cname, outerCacheClass.members()); if (cacheSym == null) { cacheSym = new VarSymbol( STATIC | SYNTHETIC, cname, types.erasure(syms.classType), outerCacheClass); enterSynthetic(pos, cacheSym, outerCacheClass.members()); JCVariableDecl cacheDef = make.VarDef(cacheSym, null); JCClassDecl outerCacheClassDef = classDef(outerCacheClass); outerCacheClassDef.defs = outerCacheClassDef.defs.prepend(cacheDef); } return cacheSym; }
/** The variable symbol that caches T.class values. * If none exists yet, create a definition. * @param sig The signature of type T. * @param pos The position to report diagnostics, if any. */ private VarSymbol cacheSym(DiagnosticPosition pos, String sig) { ClassSymbol outerCacheClass = outerCacheClass(); Name cname = cacheName(sig); VarSymbol cacheSym = (VarSymbol)lookupSynthetic(cname, outerCacheClass.members()); if (cacheSym == null) { cacheSym = new VarSymbol( STATIC | SYNTHETIC, cname, types.erasure(syms.classType), outerCacheClass); enterSynthetic(pos, cacheSym, outerCacheClass.members()); JCVariableDecl cacheDef = make.VarDef(cacheSym, null); JCClassDecl outerCacheClassDef = classDef(outerCacheClass); outerCacheClassDef.defs = outerCacheClassDef.defs.prepend(cacheDef); } return cacheSym; }
/** The variable symbol that caches T.class values. * If none exists yet, create a definition. * @param sig The signature of type T. * @param pos The position to report diagnostics, if any. */ private VarSymbol cacheSym(DiagnosticPosition pos, String sig) { ClassSymbol outerCacheClass = outerCacheClass(); Name cname = cacheName(sig); VarSymbol cacheSym = (VarSymbol)lookupSynthetic(cname, outerCacheClass.members()); if (cacheSym == null) { cacheSym = new VarSymbol( STATIC | SYNTHETIC, cname, types.erasure(syms.classType), outerCacheClass); enterSynthetic(pos, cacheSym, outerCacheClass.members()); JCVariableDecl cacheDef = make.VarDef(cacheSym, null); JCClassDecl outerCacheClassDef = classDef(outerCacheClass); outerCacheClassDef.defs = outerCacheClassDef.defs.prepend(cacheDef); } return cacheSym; }
ctype.interfaces_field = List.nil(); JCClassDecl odef = classDef(owner);
/** The variable symbol that caches T.class values. * If none exists yet, create a definition. * @param sig The signature of type T. * @param pos The position to report diagnostics, if any. */ private VarSymbol cacheSym(DiagnosticPosition pos, String sig) { ClassSymbol outerCacheClass = outerCacheClass(); Name cname = cacheName(sig); VarSymbol cacheSym = (VarSymbol)lookupSynthetic(cname, outerCacheClass.members()); if (cacheSym == null) { cacheSym = new VarSymbol( STATIC | SYNTHETIC, cname, types.erasure(syms.classType), outerCacheClass); enterSynthetic(pos, cacheSym, outerCacheClass.members()); JCVariableDecl cacheDef = make.VarDef(cacheSym, null); JCClassDecl outerCacheClassDef = classDef(outerCacheClass); outerCacheClassDef.defs = outerCacheClassDef.defs.prepend(cacheDef); } return cacheSym; }
ctype.interfaces_field = List.nil(); JCClassDecl odef = classDef(owner);
ctype.interfaces_field = List.nil(); JCClassDecl odef = classDef(owner);
ctype.interfaces_field = List.nil(); JCClassDecl odef = classDef(owner);
void translate() { make.at(pos.getStartPosition()); JCClassDecl owner = classDef((ClassSymbol)mapVar.owner);
chk.completionError(pos, ex); JCClassDecl outerCacheClassDef = classDef(outerCacheClass); outerCacheClassDef.defs = outerCacheClassDef.defs.prepend(md);
types.erasure(syms.classType), List.<Type>nil()); JCClassDecl containerDef = classDef(container); make_at(containerDef.pos()); JCExpression notStatus = makeUnary(JCTree.NOT, make.App(make.Select(
types.erasure(syms.classType), List.<Type>nil()); JCClassDecl containerDef = classDef(container); make_at(containerDef.pos()); JCExpression notStatus = makeUnary(JCTree.NOT, make.App(make.Select(