Skip to content

Commit

Permalink
remove TypeDeclaration.solveSymbol
Browse files Browse the repository at this point in the history
  • Loading branch information
ftomassetti committed Oct 16, 2016
1 parent 656bb37 commit 4067732
Show file tree
Hide file tree
Showing 16 changed files with 127 additions and 89 deletions.
Expand Up @@ -22,6 +22,7 @@
import me.tomassetti.symbolsolver.model.usages.typesystem.TypeParameter; import me.tomassetti.symbolsolver.model.usages.typesystem.TypeParameter;
import me.tomassetti.symbolsolver.resolution.MethodResolutionLogic; import me.tomassetti.symbolsolver.resolution.MethodResolutionLogic;
import me.tomassetti.symbolsolver.resolution.SymbolDeclarator; import me.tomassetti.symbolsolver.resolution.SymbolDeclarator;
import me.tomassetti.symbolsolver.resolution.SymbolSolver;


import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
Expand Down Expand Up @@ -53,7 +54,7 @@ public SymbolReference<? extends ValueDeclaration> solveSymbol(String name, Type


// then among inherited fields // then among inherited fields
for (ReferenceType ancestor : getDeclaration().getAncestors()) { for (ReferenceType ancestor : getDeclaration().getAncestors()) {
SymbolReference ref = ancestor.getTypeDeclaration().solveSymbol(name, typeSolver); SymbolReference ref = new SymbolSolver(typeSolver).solveSymbolInType(ancestor.getTypeDeclaration(), name);
if (ref.isSolved() && ref.getCorrespondingDeclaration().asField().accessLevel() != AccessLevel.PRIVATE) { if (ref.isSolved() && ref.getCorrespondingDeclaration().asField().accessLevel() != AccessLevel.PRIVATE) {
return ref; return ref;
} }
Expand Down
Expand Up @@ -13,6 +13,7 @@
import me.tomassetti.symbolsolver.javaparsermodel.declarations.JavaParserClassDeclaration; import me.tomassetti.symbolsolver.javaparsermodel.declarations.JavaParserClassDeclaration;
import me.tomassetti.symbolsolver.javaparsermodel.declarations.JavaParserInterfaceDeclaration; import me.tomassetti.symbolsolver.javaparsermodel.declarations.JavaParserInterfaceDeclaration;
import me.tomassetti.symbolsolver.resolution.MethodResolutionLogic; import me.tomassetti.symbolsolver.resolution.MethodResolutionLogic;
import me.tomassetti.symbolsolver.resolution.SymbolSolver;


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


Expand All @@ -37,7 +38,7 @@ public SymbolReference<? extends ValueDeclaration> solveSymbol(String name, Type
String memberName = getMember(itName); String memberName = getMember(itName);
SymbolReference<me.tomassetti.symbolsolver.model.declarations.TypeDeclaration> type = this.solveType(typeName, typeSolver); SymbolReference<me.tomassetti.symbolsolver.model.declarations.TypeDeclaration> type = this.solveType(typeName, typeSolver);
if (type.isSolved()) { if (type.isSolved()) {
return type.getCorrespondingDeclaration().solveSymbol(memberName, typeSolver); return new SymbolSolver(typeSolver).solveSymbolInType(type.getCorrespondingDeclaration(), memberName);
} else { } else {
itName = typeName; itName = typeName;
} }
Expand All @@ -51,7 +52,7 @@ public SymbolReference<? extends ValueDeclaration> solveSymbol(String name, Type
if (importDecl.getName() instanceof QualifiedNameExpr) { if (importDecl.getName() instanceof QualifiedNameExpr) {
String qName = importDecl.getName().toString(); String qName = importDecl.getName().toString();
me.tomassetti.symbolsolver.model.declarations.TypeDeclaration importedType = typeSolver.solveType(qName); me.tomassetti.symbolsolver.model.declarations.TypeDeclaration importedType = typeSolver.solveType(qName);
SymbolReference<? extends ValueDeclaration> ref = importedType.solveSymbol(name, typeSolver); SymbolReference<? extends ValueDeclaration> ref = new SymbolSolver(typeSolver).solveSymbolInType(importedType, name);
if (ref.isSolved()) { if (ref.isSolved()) {
return ref; return ref;
} }
Expand All @@ -67,7 +68,7 @@ public SymbolReference<? extends ValueDeclaration> solveSymbol(String name, Type


if (memberName.equals(name)) { if (memberName.equals(name)) {
me.tomassetti.symbolsolver.model.declarations.TypeDeclaration importedType = typeSolver.solveType(typeName); me.tomassetti.symbolsolver.model.declarations.TypeDeclaration importedType = typeSolver.solveType(typeName);
return importedType.solveSymbol(memberName, typeSolver); return new SymbolSolver(typeSolver).solveSymbolInType(importedType, memberName);
} }
} else { } else {
throw new UnsupportedOperationException("C"); throw new UnsupportedOperationException("C");
Expand Down
Expand Up @@ -13,6 +13,7 @@
import me.tomassetti.symbolsolver.model.usages.typesystem.Type; import me.tomassetti.symbolsolver.model.usages.typesystem.Type;
import me.tomassetti.symbolsolver.javaparsermodel.JavaParserFacade; import me.tomassetti.symbolsolver.javaparsermodel.JavaParserFacade;
import me.tomassetti.symbolsolver.javaparsermodel.JavaParserFactory; import me.tomassetti.symbolsolver.javaparsermodel.JavaParserFactory;
import me.tomassetti.symbolsolver.resolution.SymbolSolver;


import java.util.List; import java.util.List;
import java.util.Optional; import java.util.Optional;
Expand All @@ -30,7 +31,7 @@ public SymbolReference<? extends ValueDeclaration> solveSymbol(String name, Type
if (wrappedNode.getFieldExpr().toString().equals(name)) { if (wrappedNode.getFieldExpr().toString().equals(name)) {
if (wrappedNode.getScope() instanceof ThisExpr) { if (wrappedNode.getScope() instanceof ThisExpr) {
Type typeOfThis = JavaParserFacade.get(typeSolver).getTypeOfThisIn(wrappedNode); Type typeOfThis = JavaParserFacade.get(typeSolver).getTypeOfThisIn(wrappedNode);
return typeOfThis.asReferenceType().getTypeDeclaration().solveSymbol(name, typeSolver); return new SymbolSolver(typeSolver).solveSymbolInType(typeOfThis.asReferenceType().getTypeDeclaration(), name);
} }
} }
return JavaParserFactory.getContext(wrappedNode.getParentNode(), typeSolver).solveSymbol(name, typeSolver); return JavaParserFactory.getContext(wrappedNode.getParentNode(), typeSolver).solveSymbol(name, typeSolver);
Expand Down
Expand Up @@ -318,11 +318,7 @@ public boolean hasField(String name) {
} }
} }


@Override @Deprecated
public SymbolReference<? extends ValueDeclaration> solveSymbol(String name, TypeSolver typeSolver) {
return getContext().solveSymbol(name, typeSolver);
}

@Override @Override
public SymbolReference<TypeDeclaration> solveType(String name, TypeSolver typeSolver) { public SymbolReference<TypeDeclaration> solveType(String name, TypeSolver typeSolver) {
if (this.wrappedNode.getName().equals(name)) { if (this.wrappedNode.getName().equals(name)) {
Expand Down
Expand Up @@ -279,11 +279,6 @@ public List<FieldDeclaration> getAllFields() {
return fields; return fields;
} }


@Override
public SymbolReference<? extends ValueDeclaration> solveSymbol(String substring, TypeSolver typeSolver) {
return getContext().solveSymbol(substring, typeSolver);
}

@Override @Override
public SymbolReference<TypeDeclaration> solveType(String substring, TypeSolver typeSolver) { public SymbolReference<TypeDeclaration> solveType(String substring, TypeSolver typeSolver) {
throw new UnsupportedOperationException(); throw new UnsupportedOperationException();
Expand Down
Expand Up @@ -254,11 +254,6 @@ public boolean hasField(String name) {
throw new UnsupportedOperationException("Derived fields"); throw new UnsupportedOperationException("Derived fields");
} }


@Override
public SymbolReference<? extends ValueDeclaration> solveSymbol(String substring, TypeSolver typeSolver) {
return getContext().solveSymbol(substring, typeSolver);
}

@Override @Override
public SymbolReference<TypeDeclaration> solveType(String name, TypeSolver typeSolver) { public SymbolReference<TypeDeclaration> solveType(String name, TypeSolver typeSolver) {
if (this.wrappedNode.getName().equals(name)) { if (this.wrappedNode.getName().equals(name)) {
Expand Down
Expand Up @@ -3,19 +3,18 @@
import com.github.javaparser.ast.Node; import com.github.javaparser.ast.Node;
import com.github.javaparser.ast.body.ClassOrInterfaceDeclaration; import com.github.javaparser.ast.body.ClassOrInterfaceDeclaration;
import com.github.javaparser.ast.type.ClassOrInterfaceType; import com.github.javaparser.ast.type.ClassOrInterfaceType;
import me.tomassetti.symbolsolver.core.resolution.Context;
import me.tomassetti.symbolsolver.javaparsermodel.JavaParserFacade;
import me.tomassetti.symbolsolver.logic.AbstractTypeDeclaration; import me.tomassetti.symbolsolver.logic.AbstractTypeDeclaration;
import me.tomassetti.symbolsolver.model.declarations.FieldDeclaration; import me.tomassetti.symbolsolver.model.declarations.FieldDeclaration;
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.declarations.ValueDeclaration;
import me.tomassetti.symbolsolver.core.resolution.Context;
import me.tomassetti.symbolsolver.model.resolution.SymbolReference;
import me.tomassetti.symbolsolver.model.declarations.TypeParameterDeclaration; import me.tomassetti.symbolsolver.model.declarations.TypeParameterDeclaration;
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.usages.typesystem.ReferenceType; import me.tomassetti.symbolsolver.model.usages.typesystem.ReferenceType;
import me.tomassetti.symbolsolver.model.usages.typesystem.ReferenceTypeImpl; import me.tomassetti.symbolsolver.model.usages.typesystem.ReferenceTypeImpl;
import me.tomassetti.symbolsolver.model.usages.typesystem.Type; import me.tomassetti.symbolsolver.model.usages.typesystem.Type;
import me.tomassetti.symbolsolver.javaparsermodel.JavaParserFacade;


import java.util.ArrayList; import java.util.ArrayList;
import java.util.Collections; import java.util.Collections;
Expand Down Expand Up @@ -136,11 +135,6 @@ public List<FieldDeclaration> getAllFields() {
return new ArrayList<>(); return new ArrayList<>();
} }


@Override
public SymbolReference<? extends ValueDeclaration> solveSymbol(String substring, TypeSolver typeSolver) {
throw new UnsupportedOperationException();
}

@Override @Override
public SymbolReference<TypeDeclaration> solveType(String substring, TypeSolver typeSolver) { public SymbolReference<TypeDeclaration> solveType(String substring, TypeSolver typeSolver) {
throw new UnsupportedOperationException(); throw new UnsupportedOperationException();
Expand Down
Expand Up @@ -88,11 +88,6 @@ public boolean hasField(String name) {
public List<FieldDeclaration> getAllFields() { public List<FieldDeclaration> getAllFields() {
return new ArrayList<>(); return new ArrayList<>();
} }

@Override
public SymbolReference<? extends ValueDeclaration> solveSymbol(String substring, TypeSolver typeSolver) {
return SymbolReference.unsolved(ValueDeclaration.class);
}


@Override @Override
public SymbolReference<TypeDeclaration> solveType(String substring, TypeSolver typeSolver) { public SymbolReference<TypeDeclaration> solveType(String substring, TypeSolver typeSolver) {
Expand Down
Expand Up @@ -173,7 +173,7 @@ public Optional<MethodUsage> solveMethodAsUsage(String name, List<Type> paramete
return Optional.empty(); return Optional.empty();
} }


@Override @Deprecated
public SymbolReference<? extends ValueDeclaration> solveSymbol(String name, TypeSolver typeSolver) { public SymbolReference<? extends ValueDeclaration> solveSymbol(String name, TypeSolver typeSolver) {
for (CtField field : ctClass.getDeclaredFields()) { for (CtField field : ctClass.getDeclaredFields()) {
if (field.getName().equals(name)) { if (field.getName().equals(name)) {
Expand Down
Expand Up @@ -206,11 +206,6 @@ public boolean isAssignableBy(TypeDeclaration other) {
throw new UnsupportedOperationException(); throw new UnsupportedOperationException();
} }


@Override
public SymbolReference<? extends ValueDeclaration> solveSymbol(String substring, TypeSolver typeSolver) {
throw new UnsupportedOperationException();
}

@Override @Override
public SymbolReference<TypeDeclaration> solveType(String substring, TypeSolver typeSolver) { public SymbolReference<TypeDeclaration> solveType(String substring, TypeSolver typeSolver) {
throw new UnsupportedOperationException(); throw new UnsupportedOperationException();
Expand Down
Expand Up @@ -254,7 +254,7 @@ public List<FieldDeclaration> getAllFields() {
return fields; return fields;
} }


@Override @Deprecated
public SymbolReference<? extends ValueDeclaration> solveSymbol(String name, TypeSolver typeSolver) { public SymbolReference<? extends ValueDeclaration> solveSymbol(String name, TypeSolver typeSolver) {
for (Field field : clazz.getFields()) { for (Field field : clazz.getFields()) {
if (field.getName().equals(name)) { if (field.getName().equals(name)) {
Expand Down
Expand Up @@ -228,7 +228,7 @@ public boolean canBeAssignedTo(TypeDeclaration other, TypeSolver typeSolver) {
return false; return false;
}*/ }*/


@Override @Deprecated
public SymbolReference<? extends ValueDeclaration> solveSymbol(String name, TypeSolver typeSolver) { public SymbolReference<? extends ValueDeclaration> solveSymbol(String name, TypeSolver typeSolver) {
for (Field field : clazz.getFields()) { for (Field field : clazz.getFields()) {
if (field.getName().equals(name)) { if (field.getName().equals(name)) {
Expand Down
Expand Up @@ -3,18 +3,24 @@
import com.github.javaparser.ast.Node; import com.github.javaparser.ast.Node;
import com.github.javaparser.ast.type.ClassOrInterfaceType; import com.github.javaparser.ast.type.ClassOrInterfaceType;
import com.github.javaparser.ast.type.ReferenceType; import com.github.javaparser.ast.type.ReferenceType;
import me.tomassetti.symbolsolver.core.resolution.Context;
import me.tomassetti.symbolsolver.javaparsermodel.JavaParserFactory;
import me.tomassetti.symbolsolver.javaparsermodel.UnsolvedSymbolException;
import me.tomassetti.symbolsolver.javaparsermodel.declarations.JavaParserClassDeclaration;
import me.tomassetti.symbolsolver.javaparsermodel.declarations.JavaParserEnumDeclaration;
import me.tomassetti.symbolsolver.javaparsermodel.declarations.JavaParserInterfaceDeclaration;
import me.tomassetti.symbolsolver.javassistmodel.JavassistClassDeclaration;
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.declarations.ValueDeclaration; import me.tomassetti.symbolsolver.model.declarations.ValueDeclaration;
import me.tomassetti.symbolsolver.model.usages.MethodUsage;
import me.tomassetti.symbolsolver.core.resolution.Context;
import me.tomassetti.symbolsolver.model.resolution.SymbolReference; 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.resolution.Value; import me.tomassetti.symbolsolver.model.resolution.Value;
import me.tomassetti.symbolsolver.model.usages.MethodUsage;
import me.tomassetti.symbolsolver.model.usages.typesystem.ReferenceTypeImpl; import me.tomassetti.symbolsolver.model.usages.typesystem.ReferenceTypeImpl;
import me.tomassetti.symbolsolver.model.usages.typesystem.Type; import me.tomassetti.symbolsolver.model.usages.typesystem.Type;
import me.tomassetti.symbolsolver.javaparsermodel.JavaParserFactory; import me.tomassetti.symbolsolver.reflectionmodel.ReflectionClassDeclaration;
import me.tomassetti.symbolsolver.javaparsermodel.UnsolvedSymbolException; import me.tomassetti.symbolsolver.reflectionmodel.ReflectionInterfaceDeclaration;


import java.util.List; import java.util.List;
import java.util.Optional; import java.util.Optional;
Expand Down Expand Up @@ -108,4 +114,34 @@ public Type solveTypeUsage(String name, Context context) {
ReferenceTypeImpl typeUsage = new ReferenceTypeImpl(typeDeclaration, typeSolver); ReferenceTypeImpl typeUsage = new ReferenceTypeImpl(typeDeclaration, typeSolver);
return typeUsage; return typeUsage;
} }

/**
* Solve any possible visible symbols including: fields, internal types, type variables, the type itself or its containers.
*
* It should contain its own private fields but not inherited private fields.
*/
public SymbolReference<? extends ValueDeclaration> solveSymbolInType(TypeDeclaration typeDeclaration, String name) {
if (typeDeclaration instanceof JavaParserClassDeclaration) {
Context ctx = ((JavaParserClassDeclaration)typeDeclaration).getContext();
return ctx.solveSymbol(name, typeSolver);
}
if (typeDeclaration instanceof JavaParserInterfaceDeclaration) {
Context ctx = ((JavaParserInterfaceDeclaration)typeDeclaration).getContext();
return ctx.solveSymbol(name, typeSolver);
}
if (typeDeclaration instanceof JavaParserEnumDeclaration) {
Context ctx = ((JavaParserEnumDeclaration)typeDeclaration).getContext();
return ctx.solveSymbol(name, typeSolver);
}
if (typeDeclaration instanceof ReflectionClassDeclaration) {
return ((ReflectionClassDeclaration)typeDeclaration).solveSymbol(name, typeSolver);
}
if (typeDeclaration instanceof ReflectionInterfaceDeclaration) {
return ((ReflectionInterfaceDeclaration)typeDeclaration).solveSymbol(name, typeSolver);
}
if (typeDeclaration instanceof JavassistClassDeclaration) {
return ((JavassistClassDeclaration)typeDeclaration).solveSymbol(name, typeSolver);
}
return SymbolReference.unsolved(ValueDeclaration.class);
}
} }
Expand Up @@ -748,39 +748,6 @@ public void testSolveMethodNotExistingBecauseOfTypeParameters() {
assertEquals(false, res.isSolved()); assertEquals(false, res.isSolved());
} }


@Test
public void testSolveSymbolUnexisting() {
JavaParserClassDeclaration constructorDeclaration = (JavaParserClassDeclaration) typeSolverNewCode.solveType("com.github.javaparser.ast.body.ConstructorDeclaration");

SymbolReference<? extends ValueDeclaration> res = constructorDeclaration.solveSymbol("unexisting", typeSolver);
assertEquals(false, res.isSolved());
}

@Test
public void testSolveSymbolToDeclaredField() {
JavaParserClassDeclaration constructorDeclaration = (JavaParserClassDeclaration) typeSolverNewCode.solveType("com.github.javaparser.ast.body.ConstructorDeclaration");

SymbolReference<? extends ValueDeclaration> res = constructorDeclaration.solveSymbol("name", typeSolver);
assertEquals(true, res.isSolved());
assertEquals(true, res.getCorrespondingDeclaration().isField());
}

@Test
public void testSolveSymbolToInheritedPublicField() {
JavaParserClassDeclaration constructorDeclaration = (JavaParserClassDeclaration) typeSolverNewCode.solveType("com.github.javaparser.ast.body.ConstructorDeclaration");

SymbolReference<? extends ValueDeclaration> res = constructorDeclaration.solveSymbol("NODE_BY_BEGIN_POSITION", typeSolver);
assertEquals(true, res.isSolved());
assertEquals(true, res.getCorrespondingDeclaration().isField());
}

@Test
public void testSolveSymbolToInheritedPrivateField() {
JavaParserClassDeclaration constructorDeclaration = (JavaParserClassDeclaration) typeSolverNewCode.solveType("com.github.javaparser.ast.body.ConstructorDeclaration");

SymbolReference<? extends ValueDeclaration> res = constructorDeclaration.solveSymbol("parentNode", typeSolver);
assertEquals(false, res.isSolved());
}


/// ///
/// Assignability /// Assignability
Expand Down
@@ -0,0 +1,72 @@
package me.tomassetti.symbolsolver.resolution;

import me.tomassetti.symbolsolver.AbstractTest;
import me.tomassetti.symbolsolver.javaparsermodel.declarations.JavaParserClassDeclaration;
import me.tomassetti.symbolsolver.model.declarations.ValueDeclaration;
import me.tomassetti.symbolsolver.model.resolution.SymbolReference;
import me.tomassetti.symbolsolver.model.resolution.TypeSolver;
import me.tomassetti.symbolsolver.resolution.typesolvers.CombinedTypeSolver;
import me.tomassetti.symbolsolver.resolution.typesolvers.JavaParserTypeSolver;
import me.tomassetti.symbolsolver.resolution.typesolvers.JreTypeSolver;
import org.junit.Before;
import org.junit.Test;

import java.io.File;

import static org.junit.Assert.assertEquals;

/**
* @author Federico Tomassetti
*/
public class SymbolSolverTest extends AbstractTest {

private TypeSolver typeSolverNewCode;
private SymbolSolver symbolSolver;

@Before
public void setup() {

File srcNewCode = adaptPath(new File("src/test/resources/javaparser_new_src/javaparser-core"));
CombinedTypeSolver combinedTypeSolverNewCode = new CombinedTypeSolver();
combinedTypeSolverNewCode.add(new JreTypeSolver());
combinedTypeSolverNewCode.add(new JavaParserTypeSolver(srcNewCode));
combinedTypeSolverNewCode.add(new JavaParserTypeSolver(adaptPath(new File("src/test/resources/javaparser_new_src/javaparser-generated-sources"))));
typeSolverNewCode = combinedTypeSolverNewCode;

symbolSolver = new SymbolSolver(typeSolverNewCode);
}

@Test
public void testSolveSymbolUnexisting() {
JavaParserClassDeclaration constructorDeclaration = (JavaParserClassDeclaration) typeSolverNewCode.solveType("com.github.javaparser.ast.body.ConstructorDeclaration");

SymbolReference<? extends ValueDeclaration> res = symbolSolver.solveSymbolInType(constructorDeclaration, "unexisting");
assertEquals(false, res.isSolved());
}

@Test
public void testSolveSymbolToDeclaredField() {
JavaParserClassDeclaration constructorDeclaration = (JavaParserClassDeclaration) typeSolverNewCode.solveType("com.github.javaparser.ast.body.ConstructorDeclaration");

SymbolReference<? extends ValueDeclaration> res = symbolSolver.solveSymbolInType(constructorDeclaration, "name");
assertEquals(true, res.isSolved());
assertEquals(true, res.getCorrespondingDeclaration().isField());
}

@Test
public void testSolveSymbolToInheritedPublicField() {
JavaParserClassDeclaration constructorDeclaration = (JavaParserClassDeclaration) typeSolverNewCode.solveType("com.github.javaparser.ast.body.ConstructorDeclaration");

SymbolReference<? extends ValueDeclaration> res = symbolSolver.solveSymbolInType(constructorDeclaration, "NODE_BY_BEGIN_POSITION");
assertEquals(true, res.isSolved());
assertEquals(true, res.getCorrespondingDeclaration().isField());
}

@Test
public void testSolveSymbolToInheritedPrivateField() {
JavaParserClassDeclaration constructorDeclaration = (JavaParserClassDeclaration) typeSolverNewCode.solveType("com.github.javaparser.ast.body.ConstructorDeclaration");

SymbolReference<? extends ValueDeclaration> res = symbolSolver.solveSymbolInType(constructorDeclaration, "parentNode");
assertEquals(false, res.isSolved());
}
}
Expand Up @@ -143,16 +143,6 @@ default List<FieldDeclaration> getDeclaredFields() {
/// Resolution /// Resolution
/// ///


/**
* Solve any possible visible symbols including: fields, internal types, type variables, the type itself or its containers.
*
* It should contain its own private fields but not inherited private fields.
*
* Deprecated because resolution logic should be outside declarations.
*/
@Deprecated
SymbolReference<? extends ValueDeclaration> solveSymbol(String name, TypeSolver typeSolver);

/** /**
* Try to solve a symbol just in the declaration, it does not delegate to the container. * Try to solve a symbol just in the declaration, it does not delegate to the container.
* *
Expand Down

0 comments on commit 4067732

Please sign in to comment.