/** Add member to class unless it is synthetic. */ private void enterMember(ClassSymbol c, Symbol sym) { // Synthetic members are not entered -- reason lost to history (optimization?). // Lambda methods must be entered because they may have inner classes (which reference them) if ((sym.flags_field & (SYNTHETIC|BRIDGE)) != SYNTHETIC || sym.name.startsWith(names.lambda)) c.members_field.enter(sym); }
/** Does given name start with "access$" and end in an odd digit? */ private boolean isOddAccessName(Name name) { return name.startsWith(accessDollar) && (name.byteAt(name.len - 1) & 1) == 1; }
/** Does given name start with "access$" and end in an odd digit? */ private boolean isOddAccessName(Name name) { return name.startsWith(accessDollar) && (name.byteAt(name.len - 1) & 1) == 1; }
/** Add member to class unless it is synthetic. */ private void enterMember(ClassSymbol c, Symbol sym) { // Synthetic members are not entered -- reason lost to history (optimization?). // Lambda methods must be entered because they may have inner classes (which reference them) if ((sym.flags_field & (SYNTHETIC|BRIDGE)) != SYNTHETIC || sym.name.startsWith(names.lambda)) c.members_field.enter(sym); }
/** Does given name start with "access$" and end in an odd digit? */ private boolean isOddAccessName(Name name) { return name.startsWith(accessDollar) && (name.getByteAt(name.getByteLength() - 1) & 1) == 1; }
/** Does given name start with "access$" and end in an odd digit? */ private boolean isOddAccessName(Name name) { return name.startsWith(accessDollar) && (name.getByteAt(name.getByteLength() - 1) & 1) == 1; }
void assembleClassSig(Type type) { ClassType ct = (ClassType)type; ClassSymbol c = (ClassSymbol)ct.tsym; enterInner(c); Type outer = ct.getEnclosingType(); if (outer.allparams().nonEmpty()) { boolean rawOuter = c.owner.kind == MTH || // either a local class c.name == names.empty; // or anonymous assembleClassSig(rawOuter ? types.erasure(outer) : outer); sigbuf.appendByte('.'); assert c.flatname.startsWith(c.owner.enclClass().flatname); sigbuf.appendName(rawOuter ? c.flatname.subName(c.owner.enclClass() .flatname.len+1, c.flatname.len) : c.name); } else { sigbuf.appendBytes(externalize(c.flatname)); } if (ct.getTypeArguments().nonEmpty()) { sigbuf.appendByte('<'); assembleSig(ct.getTypeArguments()); sigbuf.appendByte('>'); } }
void assembleClassSig(Type type) { ClassType ct = (ClassType)type; ClassSymbol c = (ClassSymbol)ct.tsym; enterInner(c); Type outer = ct.getEnclosingType(); if (outer.allparams().nonEmpty()) { boolean rawOuter = c.owner.kind == MTH || // either a local class c.name == names.empty; // or anonymous assembleClassSig(rawOuter ? types.erasure(outer) : outer); sigbuf.appendByte('.'); assert c.flatname.startsWith(c.owner.enclClass().flatname); sigbuf.appendName(rawOuter ? c.flatname.subName(c.owner.enclClass() .flatname.len+1, c.flatname.len) : c.name); } else { sigbuf.appendBytes(externalize(c.flatname)); } if (ct.getTypeArguments().nonEmpty()) { sigbuf.appendByte('<'); assembleSig(ct.getTypeArguments()); sigbuf.appendByte('>'); } }
public void assembleClassSig(Type type) { type = type.unannotatedType(); ClassType ct = (ClassType) type; ClassSymbol c = (ClassSymbol) ct.tsym; classReference(c); Type outer = ct.getEnclosingType(); if (outer.allparams().nonEmpty()) { boolean rawOuter = c.owner.kind == Kinds.MTH || // either a local class c.name == types.names.empty; // or anonymous assembleClassSig(rawOuter ? types.erasure(outer) : outer); append(rawOuter ? '$' : '.'); Assert.check(c.flatname.startsWith(c.owner.enclClass().flatname)); append(rawOuter ? c.flatname.subName(c.owner.enclClass().flatname.getByteLength() + 1, c.flatname.getByteLength()) : c.name); } else { append(externalize(c.flatname)); } if (ct.getTypeArguments().nonEmpty()) { append('<'); assembleSig(ct.getTypeArguments()); append('>'); } }
public void assembleClassSig(Type type) { type = type.unannotatedType(); ClassType ct = (ClassType) type; ClassSymbol c = (ClassSymbol) ct.tsym; classReference(c); Type outer = ct.getEnclosingType(); if (outer.allparams().nonEmpty()) { boolean rawOuter = c.owner.kind == Kinds.MTH || // either a local class c.name == types.names.empty; // or anonymous assembleClassSig(rawOuter ? types.erasure(outer) : outer); append('.'); Assert.check(c.flatname.startsWith(c.owner.enclClass().flatname)); append(rawOuter ? c.flatname.subName(c.owner.enclClass().flatname.getByteLength() + 1, c.flatname.getByteLength()) : c.name); } else { append(externalize(c.flatname)); } if (ct.getTypeArguments().nonEmpty()) { append('<'); assembleSig(ct.getTypeArguments()); append('>'); } }
try { lambdaTranslationMap = (tree.sym.flags() & SYNTHETIC) != 0 && tree.sym.name.startsWith(names.lambda) ? makeTranslationMap(tree) : null; super.visitMethodDef(tree);
try { lambdaTranslationMap = (tree.sym.flags() & SYNTHETIC) != 0 && tree.sym.name.startsWith(names.lambda) ? makeTranslationMap(tree) : null; super.visitMethodDef(tree);