public Iterable<? extends Element> getLocalElements() { return env.toplevel.starImportScope.getElements(); } };
public Iterable<? extends Element> getLocalElements() { return env.toplevel.starImportScope.getElements(); } };
public Iterable<Symbol> getElements() { return getElements(noFilter); }
public Iterable<Symbol> getElements() { return getElements(noFilter); }
public boolean anyMatch(Filter<Symbol> sf) { return getElements(sf).iterator().hasNext(); }
public boolean anyMatch(Filter<Symbol> sf) { return getElements(sf).iterator().hasNext(); }
public Iterable<Symbol> getLocalElements() { if (scope == null) return List.nil(); return scope.getElements(); }
@Override public Iterable<Symbol> getMembers( Symbol.ClassSymbol classSym ) { return classSym.members().getElements(); }
@Override public Iterable<Symbol> getMembers( Symbol.ClassSymbol classSym, Filter<Symbol> filter ) { return classSym.members().getElements( filter ); }
public Iterable<Symbol> getLocalElements() { if (scope == null) return List.nil(); return scope.getElements(); }
public Iterable<Symbol> getLocalElements() { if (scope == null) return List.nil(); return scope.getElements(); }
public Iterable<Symbol> getLocalElements() { if (scope == null) return List.nil(); return scope.getElements(); }
private void validateDefault(Symbol container, Symbol contained, DiagnosticPosition pos) { // validate that all other elements of containing type has defaults Scope scope = container.members(); for(Symbol elm : scope.getElements()) { if (elm.name != names.value && elm.kind == Kinds.MTH && ((MethodSymbol)elm).defaultValue == null) { log.error(pos, "invalid.repeatable.annotation.elem.nondefault", container, elm); } } }
private void validateDefault(Symbol container, DiagnosticPosition pos) { // validate that all other elements of containing type has defaults Scope scope = container.members(); for(Symbol elm : scope.getElements()) { if (elm.name != names.value && elm.kind == Kinds.MTH && ((MethodSymbol)elm).defaultValue == null) { log.error(pos, "invalid.repeatable.annotation.elem.nondefault", container, elm); } } }
for(Symbol annotationMember: ((Symbol.ClassSymbol) methodAnnotation.getAnnotationType().asElement()).members().getElements()) { if(annotationMember instanceof Symbol.MethodSymbol) { Symbol.MethodSymbol annotationMemberAsMethod = (Symbol.MethodSymbol)annotationMember;
private void checkLambdaCandidate(JCNewClass tree, ClassSymbol csym, Type clazztype) { if (allowLambda && identifyLambdaCandidate && clazztype.hasTag(CLASS) && !pt().hasTag(NONE) && types.isFunctionalInterface(clazztype.tsym)) { Symbol descriptor = types.findDescriptorSymbol(clazztype.tsym); int count = 0; boolean found = false; for (Symbol sym : csym.members().getElements()) { if ((sym.flags() & SYNTHETIC) != 0 || sym.isConstructor()) continue; count++; if (sym.kind != MTH || !sym.name.equals(descriptor.name)) continue; Type mtype = types.memberType(clazztype, sym); if (types.overrideEquivalent(mtype, types.memberType(clazztype, descriptor))) { found = true; } } if (found && count == 1) { log.note(tree.def, "potential.lambda.found"); } } }
private void checkLambdaCandidate(JCNewClass tree, ClassSymbol csym, Type clazztype) { if (allowLambda && identifyLambdaCandidate && clazztype.hasTag(CLASS) && !pt().hasTag(NONE) && types.isFunctionalInterface(clazztype.tsym)) { Symbol descriptor = types.findDescriptorSymbol(clazztype.tsym); int count = 0; boolean found = false; for (Symbol sym : csym.members().getElements()) { if ((sym.flags() & SYNTHETIC) != 0 || sym.isConstructor()) continue; count++; if (sym.kind != MTH || !sym.name.equals(descriptor.name)) continue; Type mtype = types.memberType(clazztype, sym); if (types.overrideEquivalent(mtype, types.memberType(clazztype, descriptor))) { found = true; } } if (found && count == 1) { log.note(tree.def, "potential.lambda.found"); } } }
private List<JCTree> addOverrideBridgesIfNeeded(DiagnosticPosition pos, final ClassSymbol c) { ListBuffer<JCTree> buf = new ListBuffer<>(); if (c.isInterface() || !boundsRestricted(c)) return buf.toList(); Type t = types.supertype(c.type); Scope s = t.tsym.members(); if (s.elems != null) { for (Symbol sym : s.getElements(new NeedsOverridBridgeFilter(c))) { MethodSymbol m = (MethodSymbol)sym; MethodSymbol member = (MethodSymbol)m.asMemberOf(c.type, types); MethodSymbol impl = m.implementation(c, types, false); if ((impl == null || impl.owner != c) && !types.isSameType(member.erasure(types), m.erasure(types))) { addOverrideBridges(pos, m, member, c, buf); } } } return buf.toList(); } // where
private List<JCTree> addOverrideBridgesIfNeeded(DiagnosticPosition pos, final ClassSymbol c) { ListBuffer<JCTree> buf = new ListBuffer<>(); if (c.isInterface() || !boundsRestricted(c)) return buf.toList(); Type t = types.supertype(c.type); Scope s = t.tsym.members(); if (s.elems != null) { for (Symbol sym : s.getElements(new NeedsOverridBridgeFilter(c))) { MethodSymbol m = (MethodSymbol)sym; MethodSymbol member = (MethodSymbol)m.asMemberOf(c.type, types); MethodSymbol impl = m.implementation(c, types, false); if ((impl == null || impl.owner != c) && !types.isSameType(member.erasure(types), m.erasure(types))) { addOverrideBridges(pos, m, member, c, buf); } } } return buf.toList(); } // where