aboutsummaryrefslogtreecommitdiffstats
path: root/javaparser-symbol-solver-core/src/main/java/com/github/javaparser/symbolsolver/javaparsermodel/contexts/FieldAccessContext.java
diff options
context:
space:
mode:
authorDanny van Bruggen <hexagonaal@gmail.com>2018-01-24 23:52:36 +0100
committerDanny van Bruggen <hexagonaal@gmail.com>2018-01-24 23:52:36 +0100
commit9a228915f61892f6ba99fcf1e42e42e1e2622a00 (patch)
treee4d3bdcb8320f813e7449747790ca9d7027dbb21 /javaparser-symbol-solver-core/src/main/java/com/github/javaparser/symbolsolver/javaparsermodel/contexts/FieldAccessContext.java
parent475d14ac0e063fa01b2159b14b7800b5cd9c11dc (diff)
downloadplatform_external_javaparser-9a228915f61892f6ba99fcf1e42e42e1e2622a00.tar.gz
platform_external_javaparser-9a228915f61892f6ba99fcf1e42e42e1e2622a00.tar.bz2
platform_external_javaparser-9a228915f61892f6ba99fcf1e42e42e1e2622a00.zip
Deal with no common type for variables being available.
Diffstat (limited to 'javaparser-symbol-solver-core/src/main/java/com/github/javaparser/symbolsolver/javaparsermodel/contexts/FieldAccessContext.java')
-rw-r--r--javaparser-symbol-solver-core/src/main/java/com/github/javaparser/symbolsolver/javaparsermodel/contexts/FieldAccessContext.java10
1 files changed, 3 insertions, 7 deletions
diff --git a/javaparser-symbol-solver-core/src/main/java/com/github/javaparser/symbolsolver/javaparsermodel/contexts/FieldAccessContext.java b/javaparser-symbol-solver-core/src/main/java/com/github/javaparser/symbolsolver/javaparsermodel/contexts/FieldAccessContext.java
index 860fe6bc4..65ccedf00 100644
--- a/javaparser-symbol-solver-core/src/main/java/com/github/javaparser/symbolsolver/javaparsermodel/contexts/FieldAccessContext.java
+++ b/javaparser-symbol-solver-core/src/main/java/com/github/javaparser/symbolsolver/javaparsermodel/contexts/FieldAccessContext.java
@@ -53,7 +53,7 @@ public class FieldAccessContext extends AbstractJavaParserContext<FieldAccessExp
@Override
public SymbolReference<? extends ResolvedValueDeclaration> solveSymbol(String name, TypeSolver typeSolver) {
- if (wrappedNode.getField().toString().equals(name)) {
+ if (wrappedNode.getName().toString().equals(name)) {
if (wrappedNode.getScope() instanceof ThisExpr) {
ResolvedType typeOfThis = JavaParserFacade.get(typeSolver).getTypeOfThisIn(wrappedNode);
return new SymbolSolver(typeSolver).solveSymbolInType(typeOfThis.asReferenceType().getTypeDeclaration(), name);
@@ -75,18 +75,14 @@ public class FieldAccessContext extends AbstractJavaParserContext<FieldAccessExp
@Override
public Optional<Value> solveSymbolAsValue(String name, TypeSolver typeSolver) {
Expression scope = wrappedNode.getScope();
- if (wrappedNode.getField().toString().equals(name)) {
+ if (wrappedNode.getName().toString().equals(name)) {
ResolvedType typeOfScope = JavaParserFacade.get(typeSolver).getType(scope);
if (typeOfScope.isArray() && name.equals(ARRAY_LENGTH_FIELD_NAME)) {
return Optional.of(new Value(ResolvedPrimitiveType.INT, ARRAY_LENGTH_FIELD_NAME));
}
if (typeOfScope.isReferenceType()) {
Optional<ResolvedType> typeUsage = typeOfScope.asReferenceType().getFieldType(name);
- if (typeUsage.isPresent()) {
- return Optional.of(new Value(typeUsage.get(), name));
- } else {
- return Optional.empty();
- }
+ return typeUsage.map(resolvedType -> new Value(resolvedType, name));
} else {
return Optional.empty();
}