/** form a fully qualified name from a name and an owner */ static public Name formFullName(Name name, Symbol owner) { if (owner == null) return name; if (((owner.kind != ERR)) && ((owner.kind & (VAR | MTH)) != 0 || (owner.kind == TYP && owner.type.tag == TYPEVAR) )) return name; Name prefix = owner.getQualifiedName(); if (prefix == null || prefix == prefix.table.empty) return name; else return prefix.append('.', name); }
/** form a fully qualified name from a name and an owner */ static public Name formFullName(Name name, Symbol owner) { if (owner == null) return name; if (((owner.kind != ERR)) && ((owner.kind & (VAR | MTH)) != 0 || (owner.kind == TYP && owner.type.tag == TYPEVAR) )) return name; Name prefix = owner.getQualifiedName(); if (prefix == null || prefix == prefix.table.empty) return name; else return prefix.append('.', name); }
/** form a fully qualified name from a name and an owner, after * converting to flat representation */ static public Name formFlatName(Name name, Symbol owner) { if (owner == null || (owner.kind & (VAR | MTH)) != 0 || (owner.kind == TYP && owner.type.tag == TYPEVAR) ) return name; char sep = owner.kind == TYP ? '$' : '.'; Name prefix = owner.flatName(); if (prefix == null || prefix == prefix.table.empty) return name; else return prefix.append(sep, name); }
/** form a fully qualified name from a name and an owner, after * converting to flat representation */ static public Name formFlatName(Name name, Symbol owner) { if (owner == null || (owner.kind & (VAR | MTH)) != 0 || (owner.kind == TYP && owner.type.tag == TYPEVAR) ) return name; char sep = owner.kind == TYP ? '$' : '.'; Name prefix = owner.flatName(); if (prefix == null || prefix == prefix.table.empty) return name; else return prefix.append(sep, name); }
/** form a fully qualified name from a name and an owner */ static public Name formFullName(Name name, Symbol owner) { if (owner == null) return name; if (((owner.kind != ERR)) && ((owner.kind & (VAR | MTH)) != 0 || (owner.kind == TYP && owner.type.hasTag(TYPEVAR)) )) return name; Name prefix = owner.getQualifiedName(); if (prefix == null || prefix == prefix.table.names.empty) return name; else return prefix.append('.', name); }
/** form a fully qualified name from a name and an owner */ static public Name formFullName(Name name, Symbol owner) { if (owner == null) return name; if (((owner.kind != ERR)) && ((owner.kind & (VAR | MTH)) != 0 || (owner.kind == TYP && owner.type.hasTag(TYPEVAR)) )) return name; Name prefix = owner.getQualifiedName(); if (prefix == null || prefix == prefix.table.names.empty) return name; else return prefix.append('.', name); }
/** form a fully qualified name from a name and an owner, after * converting to flat representation */ static public Name formFlatName(Name name, Symbol owner) { if (owner == null || (owner.kind & (VAR | MTH)) != 0 || (owner.kind == TYP && owner.type.hasTag(TYPEVAR)) ) return name; char sep = owner.kind == TYP ? '$' : '.'; Name prefix = owner.flatName(); if (prefix == null || prefix == prefix.table.names.empty) return name; else return prefix.append(sep, name); }
/** form a fully qualified name from a name and an owner, after * converting to flat representation */ static public Name formFlatName(Name name, Symbol owner) { if (owner == null || (owner.kind & (VAR | MTH)) != 0 || (owner.kind == TYP && owner.type.hasTag(TYPEVAR)) ) return name; char sep = owner.kind == TYP ? '$' : '.'; Name prefix = owner.flatName(); if (prefix == null || prefix == prefix.table.names.empty) return name; else return prefix.append(sep, name); }
/** Create a fresh synthetic name within a given scope - the unique name is * obtained by appending '$' chars at the end of the name until no match * is found. * * @param name base name * @param s scope in which the name has to be unique * @return fresh synthetic name */ private Name makeSyntheticName(Name name, Scope s) { do { name = name.append( target.syntheticNameChar(), names.empty); } while (lookupSynthetic(name, s) != null); return name; }
/** Create a fresh synthetic name within a given scope - the unique name is * obtained by appending '$' chars at the end of the name until no match * is found. * * @param name base name * @param s scope in which the name has to be unique * @return fresh synthetic name */ private Name makeSyntheticName(Name name, Scope s) { do { name = name.append( target.syntheticNameChar(), names.empty); } while (lookupSynthetic(name, s) != null); return name; }
public Name fullName(JCTree tree) { switch (tree.getTag()) { case IDENT: return ((JCIdent) tree).name; case SELECT: JCFieldAccess sel = (JCFieldAccess)tree; Name sname = fullName(sel.selected); return sname != null && sname.getByteLength() > 0 ? sname.append('.', sel.name) : sel.name; default: return null; } }
/** If this tree is a qualified identifier, its return fully qualified name, * otherwise return null. */ public static Name fullName(JCTree tree) { tree = skipParens(tree); switch (tree.tag) { case JCTree.IDENT: return ((JCIdent) tree).name; case JCTree.SELECT: Name sname = fullName(((JCFieldAccess) tree).selected); return sname == null ? null : sname.append('.', name(tree)); default: return null; } }
/** If this tree is a qualified identifier, its return fully qualified name, * otherwise return null. */ public static Name fullName(JCTree tree) { tree = skipParens(tree); switch (tree.getTag()) { case IDENT: return ((JCIdent) tree).name; case SELECT: Name sname = fullName(((JCFieldAccess) tree).selected); return sname == null ? null : sname.append('.', name(tree)); default: return null; } }
/** If this tree is a qualified identifier, its return fully qualified name, * otherwise return null. */ public static Name fullName(JCTree tree) { tree = skipParens(tree); switch (tree.getTag()) { case IDENT: return ((JCIdent) tree).name; case SELECT: Name sname = fullName(((JCFieldAccess) tree).selected); return sname == null ? null : sname.append('.', name(tree)); default: return null; } }
/** If this tree is a qualified identifier, its return fully qualified name, * otherwise return null. */ public static Name fullName(JCTree tree) { tree = skipParens(tree); switch (tree.getTag()) { case JCTree.IDENT: return ((JCIdent) tree).name; case JCTree.SELECT: Name sname = fullName(((JCFieldAccess) tree).selected); return sname == null ? null : sname.append('.', name(tree)); default: return null; } }
/** Unbox an object to a primitive value. */ JCExpression unbox(JCExpression tree, Type primitive) { Type unboxedType = types.unboxedType(tree.type); // note: the "primitive" parameter is not used. There muse be // a conversion from unboxedType to primitive. make_at(tree.pos()); Symbol valueSym = lookupMethod(tree.pos(), unboxedType.tsym.name.append(names.Value), // x.intValue() tree.type, List.<Type>nil()); return make.App(make.Select(tree, valueSym)); }
/** Unbox an object to a primitive value. */ JCExpression unbox(JCExpression tree, Type primitive) { Type unboxedType = types.unboxedType(tree.type); // note: the "primitive" parameter is not used. There muse be // a conversion from unboxedType to primitive. make_at(tree.pos()); Symbol valueSym = lookupMethod(tree.pos(), unboxedType.tsym.name.append(names.Value), // x.intValue() tree.type, List.<Type>nil()); return make.App(make.Select(tree, valueSym)); }
/** Unbox an object to a primitive value. */ JCExpression unbox(JCExpression tree, Type primitive) { Type unboxedType = types.unboxedType(tree.type); if (unboxedType.hasTag(NONE)) { unboxedType = primitive; if (!unboxedType.isPrimitive()) throw new AssertionError(unboxedType); make_at(tree.pos()); tree = make.TypeCast(types.boxedClass(unboxedType).type, tree); } else { // There must be a conversion from unboxedType to primitive. if (!types.isSubtype(unboxedType, primitive)) throw new AssertionError(tree); } make_at(tree.pos()); Symbol valueSym = lookupMethod(tree.pos(), unboxedType.tsym.name.append(names.Value), // x.intValue() tree.type, List.<Type>nil()); return make.App(make.Select(tree, valueSym)); }
/** Unbox an object to a primitive value. */ JCExpression unbox(JCExpression tree, Type primitive) { Type unboxedType = types.unboxedType(tree.type); if (unboxedType.hasTag(NONE)) { unboxedType = primitive; if (!unboxedType.isPrimitive()) throw new AssertionError(unboxedType); make_at(tree.pos()); tree = make.TypeCast(types.boxedClass(unboxedType).type, tree); } else { // There must be a conversion from unboxedType to primitive. if (!types.isSubtype(unboxedType, primitive)) throw new AssertionError(tree); } make_at(tree.pos()); Symbol valueSym = lookupMethod(tree.pos(), unboxedType.tsym.name.append(names.Value), // x.intValue() tree.type, List.<Type>nil()); return make.App(make.Select(tree, valueSym)); }
public void complete(Symbol sym) throws CompletionFailure { try { completer.complete(sym); } catch (CompletionFailure e) { sym.flags_field |= PUBLIC; ((ClassType) sym.type).supertype_field = objectType; Name n = target.boxWithConstructors() ? names.init : names.valueOf; MethodSymbol boxMethod = new MethodSymbol(PUBLIC | STATIC, n, new MethodType(List.of(type), sym.type, List.<Type>nil(), methodClass), sym); sym.members().enter(boxMethod); MethodSymbol unboxMethod = new MethodSymbol(PUBLIC, type.tsym.name.append(names.Value), // x.intValue() new MethodType(List.<Type>nil(), type, List.<Type>nil(), methodClass), sym); sym.members().enter(unboxMethod); } } };