Skip to content

Commit

Permalink
more work on converting to moved classes
Browse files Browse the repository at this point in the history
  • Loading branch information
ftomassetti committed Sep 28, 2017
1 parent 223fc76 commit 5d8d0cb
Show file tree
Hide file tree
Showing 33 changed files with 492 additions and 464 deletions.

Large diffs are not rendered by default.

Expand Up @@ -16,17 +16,17 @@


package com.github.javaparser.symbolsolver.javaparsermodel.contexts; package com.github.javaparser.symbolsolver.javaparsermodel.contexts;


import com.github.javaparser.resolution.MethodUsage;
import com.github.javaparser.resolution.declarations.ResolvedTypeDeclaration;
import com.github.javaparser.resolution.types.ResolvedType;
import com.github.javaparser.symbolsolver.core.resolution.Context; import com.github.javaparser.symbolsolver.core.resolution.Context;
import com.github.javaparser.symbolsolver.javaparsermodel.declarations.JavaParserClassDeclaration; import com.github.javaparser.symbolsolver.javaparsermodel.declarations.JavaParserClassDeclaration;
import com.github.javaparser.symbolsolver.javaparsermodel.declarations.JavaParserEnumDeclaration; import com.github.javaparser.symbolsolver.javaparsermodel.declarations.JavaParserEnumDeclaration;
import com.github.javaparser.symbolsolver.javaparsermodel.declarations.JavaParserInterfaceDeclaration; import com.github.javaparser.symbolsolver.javaparsermodel.declarations.JavaParserInterfaceDeclaration;
import com.github.javaparser.symbolsolver.javassistmodel.JavassistClassDeclaration; import com.github.javaparser.symbolsolver.javassistmodel.JavassistClassDeclaration;
import com.github.javaparser.symbolsolver.javassistmodel.JavassistEnumDeclaration; import com.github.javaparser.symbolsolver.javassistmodel.JavassistEnumDeclaration;
import com.github.javaparser.symbolsolver.javassistmodel.JavassistInterfaceDeclaration; import com.github.javaparser.symbolsolver.javassistmodel.JavassistInterfaceDeclaration;
import com.github.javaparser.symbolsolver.model.declarations.TypeDeclaration;
import com.github.javaparser.symbolsolver.model.methods.MethodUsage;
import com.github.javaparser.symbolsolver.model.resolution.TypeSolver; import com.github.javaparser.symbolsolver.model.resolution.TypeSolver;
import com.github.javaparser.symbolsolver.model.typesystem.Type;
import com.github.javaparser.symbolsolver.reflectionmodel.ReflectionClassDeclaration; import com.github.javaparser.symbolsolver.reflectionmodel.ReflectionClassDeclaration;
import com.github.javaparser.symbolsolver.reflectionmodel.ReflectionEnumDeclaration; import com.github.javaparser.symbolsolver.reflectionmodel.ReflectionEnumDeclaration;
import com.github.javaparser.symbolsolver.reflectionmodel.ReflectionInterfaceDeclaration; import com.github.javaparser.symbolsolver.reflectionmodel.ReflectionInterfaceDeclaration;
Expand All @@ -43,9 +43,9 @@ private ContextHelper() {
// prevent instantiation // prevent instantiation
} }


public static Optional<MethodUsage> solveMethodAsUsage(TypeDeclaration typeDeclaration, String name, public static Optional<MethodUsage> solveMethodAsUsage(ResolvedTypeDeclaration typeDeclaration, String name,
List<Type> argumentsTypes, TypeSolver typeSolver, List<ResolvedType> argumentsTypes, TypeSolver typeSolver,
Context invokationContext, List<Type> typeParameters) { Context invokationContext, List<ResolvedType> typeParameters) {
if (typeDeclaration instanceof JavassistClassDeclaration) { if (typeDeclaration instanceof JavassistClassDeclaration) {
return ((JavassistClassDeclaration) typeDeclaration).solveMethodAsUsage(name, argumentsTypes, typeSolver, invokationContext, typeParameters); return ((JavassistClassDeclaration) typeDeclaration).solveMethodAsUsage(name, argumentsTypes, typeSolver, invokationContext, typeParameters);
} else if (typeDeclaration instanceof JavassistInterfaceDeclaration) { } else if (typeDeclaration instanceof JavassistInterfaceDeclaration) {
Expand Down
Expand Up @@ -19,16 +19,16 @@
import com.github.javaparser.ast.expr.Expression; import com.github.javaparser.ast.expr.Expression;
import com.github.javaparser.ast.expr.FieldAccessExpr; import com.github.javaparser.ast.expr.FieldAccessExpr;
import com.github.javaparser.ast.expr.ThisExpr; import com.github.javaparser.ast.expr.ThisExpr;
import com.github.javaparser.resolution.declarations.ResolvedMethodDeclaration;
import com.github.javaparser.resolution.declarations.ResolvedTypeDeclaration;
import com.github.javaparser.resolution.declarations.ResolvedValueDeclaration;
import com.github.javaparser.resolution.types.ResolvedPrimitiveType;
import com.github.javaparser.resolution.types.ResolvedType;
import com.github.javaparser.symbolsolver.javaparsermodel.JavaParserFacade; import com.github.javaparser.symbolsolver.javaparsermodel.JavaParserFacade;
import com.github.javaparser.symbolsolver.javaparsermodel.JavaParserFactory; import com.github.javaparser.symbolsolver.javaparsermodel.JavaParserFactory;
import com.github.javaparser.symbolsolver.model.declarations.MethodDeclaration;
import com.github.javaparser.symbolsolver.model.declarations.TypeDeclaration;
import com.github.javaparser.symbolsolver.model.declarations.ValueDeclaration;
import com.github.javaparser.symbolsolver.model.resolution.SymbolReference; import com.github.javaparser.symbolsolver.model.resolution.SymbolReference;
import com.github.javaparser.symbolsolver.model.resolution.TypeSolver; import com.github.javaparser.symbolsolver.model.resolution.TypeSolver;
import com.github.javaparser.symbolsolver.model.resolution.Value; import com.github.javaparser.symbolsolver.model.resolution.Value;
import com.github.javaparser.symbolsolver.model.typesystem.PrimitiveType;
import com.github.javaparser.symbolsolver.model.typesystem.Type;
import com.github.javaparser.symbolsolver.resolution.SymbolSolver; import com.github.javaparser.symbolsolver.resolution.SymbolSolver;


import java.util.List; import java.util.List;
Expand All @@ -48,36 +48,36 @@ public FieldAccessContext(FieldAccessExpr wrappedNode, TypeSolver typeSolver) {
} }


@Override @Override
public SymbolReference<? extends ValueDeclaration> solveSymbol(String name, TypeSolver typeSolver) { public SymbolReference<? extends ResolvedValueDeclaration> solveSymbol(String name, TypeSolver typeSolver) {
if (wrappedNode.getField().toString().equals(name)) { if (wrappedNode.getField().toString().equals(name)) {
if (wrappedNode.getScope() instanceof ThisExpr) { if (wrappedNode.getScope() instanceof ThisExpr) {
Type typeOfThis = JavaParserFacade.get(typeSolver).getTypeOfThisIn(wrappedNode); ResolvedType typeOfThis = JavaParserFacade.get(typeSolver).getTypeOfThisIn(wrappedNode);
return new SymbolSolver(typeSolver).solveSymbolInType(typeOfThis.asReferenceType().getTypeDeclaration(), name); return new SymbolSolver(typeSolver).solveSymbolInType(typeOfThis.asReferenceType().getTypeDeclaration(), name);
} }
} }
return JavaParserFactory.getContext(getParentNode(wrappedNode), typeSolver).solveSymbol(name, typeSolver); return JavaParserFactory.getContext(getParentNode(wrappedNode), typeSolver).solveSymbol(name, typeSolver);
} }


@Override @Override
public SymbolReference<TypeDeclaration> solveType(String name, TypeSolver typeSolver) { public SymbolReference<ResolvedTypeDeclaration> solveType(String name, TypeSolver typeSolver) {
return JavaParserFactory.getContext(getParentNode(wrappedNode), typeSolver).solveType(name, typeSolver); return JavaParserFactory.getContext(getParentNode(wrappedNode), typeSolver).solveType(name, typeSolver);
} }


@Override @Override
public SymbolReference<MethodDeclaration> solveMethod(String name, List<Type> parameterTypes, boolean staticOnly, TypeSolver typeSolver) { public SymbolReference<ResolvedMethodDeclaration> solveMethod(String name, List<ResolvedType> parameterTypes, boolean staticOnly, TypeSolver typeSolver) {
return JavaParserFactory.getContext(getParentNode(wrappedNode), typeSolver).solveMethod(name, parameterTypes, false, typeSolver); return JavaParserFactory.getContext(getParentNode(wrappedNode), typeSolver).solveMethod(name, parameterTypes, false, typeSolver);
} }


@Override @Override
public Optional<Value> solveSymbolAsValue(String name, TypeSolver typeSolver) { public Optional<Value> solveSymbolAsValue(String name, TypeSolver typeSolver) {
Expression scope = wrappedNode.getScope(); Expression scope = wrappedNode.getScope();
if (wrappedNode.getField().toString().equals(name)) { if (wrappedNode.getField().toString().equals(name)) {
Type typeOfScope = JavaParserFacade.get(typeSolver).getType(scope); ResolvedType typeOfScope = JavaParserFacade.get(typeSolver).getType(scope);
if (typeOfScope.isArray() && name.equals(ARRAY_LENGTH_FIELD_NAME)) { if (typeOfScope.isArray() && name.equals(ARRAY_LENGTH_FIELD_NAME)) {
return Optional.of(new Value(PrimitiveType.INT, ARRAY_LENGTH_FIELD_NAME)); return Optional.of(new Value(ResolvedPrimitiveType.INT, ARRAY_LENGTH_FIELD_NAME));
} }
if (typeOfScope.isReferenceType()) { if (typeOfScope.isReferenceType()) {
Optional<Type> typeUsage = typeOfScope.asReferenceType().getFieldType(name); Optional<ResolvedType> typeUsage = typeOfScope.asReferenceType().getFieldType(name);
if (typeUsage.isPresent()) { if (typeUsage.isPresent()) {
return Optional.of(new Value(typeUsage.get(), name)); return Optional.of(new Value(typeUsage.get(), name));
} else { } else {
Expand Down
Expand Up @@ -23,12 +23,12 @@
import com.github.javaparser.ast.expr.VariableDeclarationExpr; import com.github.javaparser.ast.expr.VariableDeclarationExpr;
import com.github.javaparser.ast.nodeTypes.NodeWithStatements; import com.github.javaparser.ast.nodeTypes.NodeWithStatements;
import com.github.javaparser.ast.stmt.ForStmt; import com.github.javaparser.ast.stmt.ForStmt;
import com.github.javaparser.resolution.declarations.ResolvedMethodDeclaration;
import com.github.javaparser.resolution.declarations.ResolvedValueDeclaration;
import com.github.javaparser.resolution.types.ResolvedType;
import com.github.javaparser.symbolsolver.javaparsermodel.declarations.JavaParserSymbolDeclaration; import com.github.javaparser.symbolsolver.javaparsermodel.declarations.JavaParserSymbolDeclaration;
import com.github.javaparser.symbolsolver.model.declarations.MethodDeclaration;
import com.github.javaparser.symbolsolver.model.declarations.ValueDeclaration;
import com.github.javaparser.symbolsolver.model.resolution.SymbolReference; import com.github.javaparser.symbolsolver.model.resolution.SymbolReference;
import com.github.javaparser.symbolsolver.model.resolution.TypeSolver; import com.github.javaparser.symbolsolver.model.resolution.TypeSolver;
import com.github.javaparser.symbolsolver.model.typesystem.Type;


import java.util.List; import java.util.List;


Expand All @@ -41,7 +41,7 @@ public ForStatementContext(ForStmt wrappedNode, TypeSolver typeSolver) {
} }


@Override @Override
public SymbolReference<? extends ValueDeclaration> solveSymbol(String name, TypeSolver typeSolver) { public SymbolReference<? extends ResolvedValueDeclaration> solveSymbol(String name, TypeSolver typeSolver) {
for (Expression expression : wrappedNode.getInitialization()) { for (Expression expression : wrappedNode.getInitialization()) {
if (expression instanceof VariableDeclarationExpr) { if (expression instanceof VariableDeclarationExpr) {
VariableDeclarationExpr variableDeclarationExpr = (VariableDeclarationExpr) expression; VariableDeclarationExpr variableDeclarationExpr = (VariableDeclarationExpr) expression;
Expand All @@ -63,7 +63,8 @@ public SymbolReference<? extends ValueDeclaration> solveSymbol(String name, Type
} }


@Override @Override
public SymbolReference<MethodDeclaration> solveMethod(String name, List<Type> argumentsTypes, boolean staticOnly, TypeSolver typeSolver) { public SymbolReference<ResolvedMethodDeclaration> solveMethod(String name, List<ResolvedType> argumentsTypes,
boolean staticOnly, TypeSolver typeSolver) {
return getParent().solveMethod(name, argumentsTypes, false, typeSolver); return getParent().solveMethod(name, argumentsTypes, false, typeSolver);
} }
} }
Expand Up @@ -19,12 +19,12 @@
import com.github.javaparser.ast.body.VariableDeclarator; import com.github.javaparser.ast.body.VariableDeclarator;
import com.github.javaparser.ast.stmt.BlockStmt; import com.github.javaparser.ast.stmt.BlockStmt;
import com.github.javaparser.ast.stmt.ForeachStmt; import com.github.javaparser.ast.stmt.ForeachStmt;
import com.github.javaparser.resolution.declarations.ResolvedMethodDeclaration;
import com.github.javaparser.resolution.declarations.ResolvedValueDeclaration;
import com.github.javaparser.resolution.types.ResolvedType;
import com.github.javaparser.symbolsolver.javaparsermodel.declarations.JavaParserSymbolDeclaration; import com.github.javaparser.symbolsolver.javaparsermodel.declarations.JavaParserSymbolDeclaration;
import com.github.javaparser.symbolsolver.model.declarations.MethodDeclaration;
import com.github.javaparser.symbolsolver.model.declarations.ValueDeclaration;
import com.github.javaparser.symbolsolver.model.resolution.SymbolReference; import com.github.javaparser.symbolsolver.model.resolution.SymbolReference;
import com.github.javaparser.symbolsolver.model.resolution.TypeSolver; import com.github.javaparser.symbolsolver.model.resolution.TypeSolver;
import com.github.javaparser.symbolsolver.model.typesystem.Type;


import java.util.List; import java.util.List;


Expand All @@ -37,7 +37,7 @@ public ForechStatementContext(ForeachStmt wrappedNode, TypeSolver typeSolver) {
} }


@Override @Override
public SymbolReference<? extends ValueDeclaration> solveSymbol(String name, TypeSolver typeSolver) { public SymbolReference<? extends ResolvedValueDeclaration> solveSymbol(String name, TypeSolver typeSolver) {
if (wrappedNode.getVariable().getVariables().size() != 1) { if (wrappedNode.getVariable().getVariables().size() != 1) {
throw new IllegalStateException(); throw new IllegalStateException();
} }
Expand All @@ -54,7 +54,8 @@ public SymbolReference<? extends ValueDeclaration> solveSymbol(String name, Type
} }


@Override @Override
public SymbolReference<MethodDeclaration> solveMethod(String name, List<Type> argumentsTypes, boolean staticOnly, TypeSolver typeSolver) { public SymbolReference<ResolvedMethodDeclaration> solveMethod(String name, List<ResolvedType> argumentsTypes,
boolean staticOnly, TypeSolver typeSolver) {
return getParent().solveMethod(name, argumentsTypes, false, typeSolver); return getParent().solveMethod(name, argumentsTypes, false, typeSolver);
} }
} }
Expand Up @@ -21,24 +21,24 @@
import com.github.javaparser.ast.expr.Expression; import com.github.javaparser.ast.expr.Expression;
import com.github.javaparser.ast.expr.LambdaExpr; import com.github.javaparser.ast.expr.LambdaExpr;
import com.github.javaparser.ast.expr.MethodCallExpr; import com.github.javaparser.ast.expr.MethodCallExpr;
import com.github.javaparser.resolution.MethodUsage;
import com.github.javaparser.resolution.declarations.ResolvedMethodDeclaration;
import com.github.javaparser.resolution.declarations.ResolvedTypeDeclaration;
import com.github.javaparser.resolution.declarations.ResolvedTypeParameterDeclaration;
import com.github.javaparser.resolution.declarations.ResolvedValueDeclaration;
import com.github.javaparser.resolution.types.ResolvedLambdaConstraintType;
import com.github.javaparser.resolution.types.ResolvedType;
import com.github.javaparser.symbolsolver.javaparsermodel.JavaParserFacade; import com.github.javaparser.symbolsolver.javaparsermodel.JavaParserFacade;
import com.github.javaparser.symbolsolver.javaparsermodel.JavaParserFactory; import com.github.javaparser.symbolsolver.javaparsermodel.JavaParserFactory;
import com.github.javaparser.symbolsolver.logic.FunctionalInterfaceLogic; import com.github.javaparser.symbolsolver.logic.FunctionalInterfaceLogic;
import com.github.javaparser.symbolsolver.logic.InferenceContext; import com.github.javaparser.symbolsolver.logic.InferenceContext;
import com.github.javaparser.symbolsolver.model.declarations.MethodDeclaration;
import com.github.javaparser.symbolsolver.model.declarations.TypeDeclaration;
import com.github.javaparser.symbolsolver.model.declarations.TypeParameterDeclaration;
import com.github.javaparser.symbolsolver.model.declarations.ValueDeclaration;
import com.github.javaparser.symbolsolver.model.methods.MethodUsage;
import com.github.javaparser.symbolsolver.model.resolution.SymbolReference; import com.github.javaparser.symbolsolver.model.resolution.SymbolReference;
import com.github.javaparser.symbolsolver.model.resolution.TypeSolver; import com.github.javaparser.symbolsolver.model.resolution.TypeSolver;
import com.github.javaparser.symbolsolver.model.resolution.Value; import com.github.javaparser.symbolsolver.model.resolution.Value;
import com.github.javaparser.symbolsolver.model.typesystem.LambdaConstraintType;
import com.github.javaparser.symbolsolver.model.typesystem.ReferenceTypeImpl; import com.github.javaparser.symbolsolver.model.typesystem.ReferenceTypeImpl;
import com.github.javaparser.symbolsolver.model.typesystem.Type;
import com.github.javaparser.symbolsolver.reflectionmodel.MyObjectProvider; import com.github.javaparser.symbolsolver.reflectionmodel.MyObjectProvider;
import com.github.javaparser.symbolsolver.resolution.SymbolDeclarator; import com.github.javaparser.symbolsolver.resolution.SymbolDeclarator;
import javaslang.Tuple2; import javassist.compiler.ast.Pair;


import java.util.*; import java.util.*;


Expand All @@ -58,13 +58,13 @@ public Optional<Value> solveSymbolAsValue(String name, TypeSolver typeSolver) {
for (Parameter parameter : wrappedNode.getParameters()) { for (Parameter parameter : wrappedNode.getParameters()) {
SymbolDeclarator sb = JavaParserFactory.getSymbolDeclarator(parameter, typeSolver); SymbolDeclarator sb = JavaParserFactory.getSymbolDeclarator(parameter, typeSolver);
int index = 0; int index = 0;
for (ValueDeclaration decl : sb.getSymbolDeclarations()) { for (ResolvedValueDeclaration decl : sb.getSymbolDeclarations()) {
if (decl.getName().equals(name)) { if (decl.getName().equals(name)) {
if (getParentNode(wrappedNode) instanceof MethodCallExpr) { if (getParentNode(wrappedNode) instanceof MethodCallExpr) {
MethodCallExpr methodCallExpr = (MethodCallExpr) getParentNode(wrappedNode); MethodCallExpr methodCallExpr = (MethodCallExpr) getParentNode(wrappedNode);
MethodUsage methodUsage = JavaParserFacade.get(typeSolver).solveMethodAsUsage(methodCallExpr); MethodUsage methodUsage = JavaParserFacade.get(typeSolver).solveMethodAsUsage(methodCallExpr);
int i = pos(methodCallExpr, wrappedNode); int i = pos(methodCallExpr, wrappedNode);
Type lambdaType = methodUsage.getParamTypes().get(i); ResolvedType lambdaType = methodUsage.getParamTypes().get(i);


// Get the functional method in order for us to resolve it's type arguments properly // Get the functional method in order for us to resolve it's type arguments properly
Optional<MethodUsage> functionalMethodOpt = FunctionalInterfaceLogic.getFunctionalMethod(lambdaType); Optional<MethodUsage> functionalMethodOpt = FunctionalInterfaceLogic.getFunctionalMethod(lambdaType);
Expand All @@ -88,13 +88,13 @@ public Optional<Value> solveSymbolAsValue(String name, TypeSolver typeSolver) {
if (!found) { return Optional.empty(); } if (!found) { return Optional.empty(); }


// Now resolve the argument type using the inference context // Now resolve the argument type using the inference context
Type argType = inferenceContext.resolve(inferenceContext.addSingle(functionalMethod.getParamType(lambdaParamIndex))); ResolvedType argType = inferenceContext.resolve(inferenceContext.addSingle(functionalMethod.getParamType(lambdaParamIndex)));


LambdaConstraintType conType; ResolvedLambdaConstraintType conType;
if (argType.isWildcard()){ if (argType.isWildcard()){
conType = LambdaConstraintType.bound(argType.asWildcard().getBoundedType()); conType = ResolvedLambdaConstraintType.bound(argType.asWildcard().getBoundedType());
} else { } else {
conType = LambdaConstraintType.bound(argType); conType = ResolvedLambdaConstraintType.bound(argType);
} }
Value value = new Value(conType, name); Value value = new Value(conType, name);
return Optional.of(value); return Optional.of(value);
Expand All @@ -103,18 +103,18 @@ public Optional<Value> solveSymbolAsValue(String name, TypeSolver typeSolver) {
} }
} else if (getParentNode(wrappedNode) instanceof VariableDeclarator) { } else if (getParentNode(wrappedNode) instanceof VariableDeclarator) {
VariableDeclarator variableDeclarator = (VariableDeclarator) getParentNode(wrappedNode); VariableDeclarator variableDeclarator = (VariableDeclarator) getParentNode(wrappedNode);
Type t = JavaParserFacade.get(typeSolver).convertToUsageVariableType(variableDeclarator); ResolvedType t = JavaParserFacade.get(typeSolver).convertToUsageVariableType(variableDeclarator);
Optional<MethodUsage> functionalMethod = FunctionalInterfaceLogic.getFunctionalMethod(t); Optional<MethodUsage> functionalMethod = FunctionalInterfaceLogic.getFunctionalMethod(t);
if (functionalMethod.isPresent()) { if (functionalMethod.isPresent()) {
Type lambdaType = functionalMethod.get().getParamType(index); ResolvedType lambdaType = functionalMethod.get().getParamType(index);


// Replace parameter from declarator // Replace parameter from declarator
Map<TypeParameterDeclaration, Type> inferredTypes = new HashMap<>(); Map<ResolvedTypeParameterDeclaration, ResolvedType> inferredTypes = new HashMap<>();
if (lambdaType.isReferenceType()) { if (lambdaType.isReferenceType()) {
for (Tuple2<TypeParameterDeclaration, Type> entry : lambdaType.asReferenceType().getTypeParametersMap()) { for (com.github.javaparser.utils.Pair<ResolvedTypeParameterDeclaration, ResolvedType> entry : lambdaType.asReferenceType().getTypeParametersMap()) {
if (entry._2.isTypeVariable() && entry._2.asTypeParameter().declaredOnType()) { if (entry.b.isTypeVariable() && entry.b.asTypeParameter().declaredOnType()) {
Type ot = t.asReferenceType().typeParametersMap().getValue(entry._1); ResolvedType ot = t.asReferenceType().typeParametersMap().getValue(entry.a);
lambdaType = lambdaType.replaceTypeVariables(entry._1, ot, inferredTypes); lambdaType = lambdaType.replaceTypeVariables(entry.a, ot, inferredTypes);
} }
} }
} else if (lambdaType.isTypeVariable() && lambdaType.asTypeParameter().declaredOnType()) { } else if (lambdaType.isTypeVariable() && lambdaType.asTypeParameter().declaredOnType()) {
Expand All @@ -139,10 +139,10 @@ public Optional<Value> solveSymbolAsValue(String name, TypeSolver typeSolver) {
} }


@Override @Override
public SymbolReference<? extends ValueDeclaration> solveSymbol(String name, TypeSolver typeSolver) { public SymbolReference<? extends ResolvedValueDeclaration> solveSymbol(String name, TypeSolver typeSolver) {
for (Parameter parameter : wrappedNode.getParameters()) { for (Parameter parameter : wrappedNode.getParameters()) {
SymbolDeclarator sb = JavaParserFactory.getSymbolDeclarator(parameter, typeSolver); SymbolDeclarator sb = JavaParserFactory.getSymbolDeclarator(parameter, typeSolver);
SymbolReference<ValueDeclaration> symbolReference = solveWith(sb, name); SymbolReference<ResolvedValueDeclaration> symbolReference = solveWith(sb, name);
if (symbolReference.isSolved()) { if (symbolReference.isSolved()) {
return symbolReference; return symbolReference;
} }
Expand All @@ -153,13 +153,13 @@ public SymbolReference<? extends ValueDeclaration> solveSymbol(String name, Type
} }


@Override @Override
public SymbolReference<TypeDeclaration> solveType(String name, TypeSolver typeSolver) { public SymbolReference<ResolvedTypeDeclaration> solveType(String name, TypeSolver typeSolver) {
return getParent().solveType(name, typeSolver); return getParent().solveType(name, typeSolver);
} }


@Override @Override
public SymbolReference<MethodDeclaration> solveMethod( public SymbolReference<ResolvedMethodDeclaration> solveMethod(
String name, List<Type> argumentsTypes, boolean staticOnly, TypeSolver typeSolver) { String name, List<ResolvedType> argumentsTypes, boolean staticOnly, TypeSolver typeSolver) {
return getParent().solveMethod(name, argumentsTypes, false, typeSolver); return getParent().solveMethod(name, argumentsTypes, false, typeSolver);
} }


Expand All @@ -168,7 +168,7 @@ public SymbolReference<MethodDeclaration> solveMethod(
/// ///


protected final Optional<Value> solveWithAsValue(SymbolDeclarator symbolDeclarator, String name, TypeSolver typeSolver) { protected final Optional<Value> solveWithAsValue(SymbolDeclarator symbolDeclarator, String name, TypeSolver typeSolver) {
for (ValueDeclaration decl : symbolDeclarator.getSymbolDeclarations()) { for (ResolvedValueDeclaration decl : symbolDeclarator.getSymbolDeclarations()) {
if (decl.getName().equals(name)) { if (decl.getName().equals(name)) {


throw new UnsupportedOperationException(); throw new UnsupportedOperationException();
Expand Down

0 comments on commit 5d8d0cb

Please sign in to comment.