Skip to content

Commit

Permalink
logic: simplify AbstractTypeDeclaration
Browse files Browse the repository at this point in the history
  • Loading branch information
ftomassetti committed Nov 22, 2015
1 parent 3f27992 commit 949f967
Show file tree
Hide file tree
Showing 5 changed files with 15 additions and 9 deletions.
Expand Up @@ -43,6 +43,11 @@ public JavaParserClassDeclaration(com.github.javaparser.ast.body.ClassOrInterfac
this.typeSolver = typeSolver; this.typeSolver = typeSolver;
} }


@Override
public SymbolReference<MethodDeclaration> solveMethod(String name, List<TypeUsage> parameterTypes) {
return getContext().solveMethod(name, parameterTypes, typeSolver());
}

@Override @Override
public Context getContext() { public Context getContext() {
return JavaParserFactory.getContext(wrappedNode, typeSolver); return JavaParserFactory.getContext(wrappedNode, typeSolver);
Expand Down
Expand Up @@ -40,6 +40,11 @@ public JavaParserInterfaceDeclaration(ClassOrInterfaceDeclaration wrappedNode, T
this.typeSolver = typeSolver; this.typeSolver = typeSolver;
} }


@Override
public SymbolReference<MethodDeclaration> solveMethod(String name, List<TypeUsage> parameterTypes) {
return getContext().solveMethod(name, parameterTypes, typeSolver());
}

@Override @Override
public Set<MethodDeclaration> getDeclaredMethods() { public Set<MethodDeclaration> getDeclaredMethods() {
throw new UnsupportedOperationException(); throw new UnsupportedOperationException();
Expand Down
Expand Up @@ -37,6 +37,11 @@ public Set<MethodDeclaration> getDeclaredMethods() {
return Collections.emptySet(); return Collections.emptySet();
} }


@Override
public SymbolReference<MethodDeclaration> solveMethod(String name, List<TypeUsage> parameterTypes) {
return getContext().solveMethod(name, parameterTypes, typeSolver());
}

@Override @Override
public boolean equals(Object o) { public boolean equals(Object o) {
if (this == o) return true; if (this == o) return true;
Expand Down
Expand Up @@ -41,7 +41,6 @@ public final List<ReferenceTypeUsage> getAllSuperClasses() {
public final List<InterfaceDeclaration> getAllInterfaces() { public final List<InterfaceDeclaration> getAllInterfaces() {
// TODO it could specify type parameters: they should appear // TODO it could specify type parameters: they should appear
List<InterfaceDeclaration> interfaces = new ArrayList<>(); List<InterfaceDeclaration> interfaces = new ArrayList<>();
//ClassDeclaration superClass = getSuperClass(typeSolver);
for (InterfaceDeclaration interfaceDeclaration : getInterfaces()) { for (InterfaceDeclaration interfaceDeclaration : getInterfaces()) {
interfaces.add(interfaceDeclaration); interfaces.add(interfaceDeclaration);
interfaces.addAll(interfaceDeclaration.getAllInterfacesExtended()); interfaces.addAll(interfaceDeclaration.getAllInterfacesExtended());
Expand Down
Expand Up @@ -3,22 +3,14 @@
import me.tomassetti.symbolsolver.model.declarations.MethodDeclaration; import me.tomassetti.symbolsolver.model.declarations.MethodDeclaration;
import me.tomassetti.symbolsolver.model.declarations.TypeDeclaration; import me.tomassetti.symbolsolver.model.declarations.TypeDeclaration;
import me.tomassetti.symbolsolver.model.invokations.MethodUsage; import me.tomassetti.symbolsolver.model.invokations.MethodUsage;
import me.tomassetti.symbolsolver.model.resolution.SymbolReference;
import me.tomassetti.symbolsolver.model.resolution.TypeSolver; import me.tomassetti.symbolsolver.model.resolution.TypeSolver;
import me.tomassetti.symbolsolver.model.typesystem.ReferenceTypeUsage; import me.tomassetti.symbolsolver.model.typesystem.ReferenceTypeUsage;
import me.tomassetti.symbolsolver.model.typesystem.TypeUsage;


import java.util.HashSet; import java.util.HashSet;
import java.util.List;
import java.util.Set; import java.util.Set;


public abstract class AbstractTypeDeclaration implements TypeDeclaration { public abstract class AbstractTypeDeclaration implements TypeDeclaration {


@Override
public SymbolReference<MethodDeclaration> solveMethod(String name, List<TypeUsage> parameterTypes) {
return getContext().solveMethod(name, parameterTypes, typeSolver());
}

protected abstract TypeSolver typeSolver(); protected abstract TypeSolver typeSolver();


@Override @Override
Expand Down

0 comments on commit 949f967

Please sign in to comment.