public JavaParserEnumDeclaration(com.github.javaparser.ast.body.EnumDeclaration wrappedNode, TypeSolver typeSolver) { this.wrappedNode = wrappedNode; this.typeSolver = typeSolver; this.javaParserTypeAdapter = new JavaParserTypeAdapter(wrappedNode, typeSolver); }
@Override public Optional<ResolvedReferenceTypeDeclaration> containerType() { return javaParserTypeAdapter.containerType(); } }
@Override public String getClassName() { return javaParserTypeAdapter.getClassName(); }
@Override public boolean isAssignableBy(ResolvedReferenceTypeDeclaration other) { return javaParserTypeAdapter.isAssignableBy(other); }
@Override public String getQualifiedName() { return javaParserTypeAdapter.getQualifiedName(); }
@Override public List<ResolvedFieldDeclaration> getAllFields() { List<ResolvedFieldDeclaration> fields = javaParserTypeAdapter.getFieldsForDeclaredVariables(); if (this.wrappedNode.getEntries() != null) { for (EnumConstantDeclaration member : this.wrappedNode.getEntries()) { fields.add(new JavaParserFieldDeclaration(member, typeSolver)); } } return fields; }
@Override public String getPackageName() { return javaParserTypeAdapter.getPackageName(); }
@Deprecated public SymbolReference<ResolvedTypeDeclaration> solveType(String name, TypeSolver typeSolver) { if (this.wrappedNode.getName().getId().equals(name)) { return SymbolReference.solved(this); } SymbolReference<ResolvedTypeDeclaration> ref = javaParserTypeAdapter.solveType(name, typeSolver); if (ref.isSolved()) { return ref; } String prefix = wrappedNode.getName() + "."; if (name.startsWith(prefix) && name.length() > prefix.length()) { return new JavaParserClassDeclaration(this.wrappedNode, typeSolver).solveType(name.substring(prefix.length()), typeSolver); } return getContext().getParent().solveType(name, typeSolver); }
@Override public boolean isAssignableBy(ResolvedType type) { return javaParserTypeAdapter.isAssignableBy(type); }
@Override public String getQualifiedName() { return javaParserTypeAdapter.getQualifiedName(); }
@Override public List<ResolvedFieldDeclaration> getAllFields() { List<ResolvedFieldDeclaration> fields = javaParserTypeAdapter.getFieldsForDeclaredVariables(); if (this.wrappedNode.getEntries() != null) { for (EnumConstantDeclaration member : this.wrappedNode.getEntries()) { fields.add(new JavaParserFieldDeclaration(member, typeSolver)); } } return fields; }
@Override public String getPackageName() { return javaParserTypeAdapter.getPackageName(); }
@Deprecated public SymbolReference<ResolvedTypeDeclaration> solveType(String name, TypeSolver typeSolver) { if (this.wrappedNode.getName().getId().equals(name)) { return SymbolReference.solved(this); } SymbolReference<ResolvedTypeDeclaration> ref = javaParserTypeAdapter.solveType(name, typeSolver); if (ref.isSolved()) { return ref; } String prefix = wrappedNode.getName() + "."; if (name.startsWith(prefix) && name.length() > prefix.length()) { return new JavaParserInterfaceDeclaration(this.wrappedNode, typeSolver).solveType(name.substring(prefix.length()), typeSolver); } return getContext().getParent().solveType(name, typeSolver); }
@Override public boolean isAssignableBy(ResolvedType type) { return javaParserTypeAdapter.isAssignableBy(type); }
@Override public String getQualifiedName() { return javaParserTypeAdapter.getQualifiedName(); }
@Override public Optional<ResolvedReferenceTypeDeclaration> containerType() { return javaParserTypeAdapter.containerType(); } }
public JavaParserEnumDeclaration(com.github.javaparser.ast.body.EnumDeclaration wrappedNode, TypeSolver typeSolver) { this.wrappedNode = wrappedNode; this.typeSolver = typeSolver; this.javaParserTypeAdapter = new JavaParserTypeAdapter<>(wrappedNode, typeSolver); }
@Override public List<ResolvedFieldDeclaration> getAllFields() { List<ResolvedFieldDeclaration> fields = javaParserTypeAdapter.getFieldsForDeclaredVariables(); this.getAncestors().forEach(a -> fields.addAll(a.getAllFieldsVisibleToInheritors())); this.wrappedNode.getMembers().stream().filter(m -> m instanceof FieldDeclaration).forEach(m -> { FieldDeclaration fd = (FieldDeclaration)m; fd.getVariables().forEach(v -> fields.add(new JavaParserFieldDeclaration(v, typeSolver))); }); return fields; }
@Override public String getPackageName() { return javaParserTypeAdapter.getPackageName(); }
@Override public String getClassName() { return javaParserTypeAdapter.getClassName(); }