diff options
author | Danny van Bruggen <hexagonaal@gmail.com> | 2018-01-24 23:52:36 +0100 |
---|---|---|
committer | Danny van Bruggen <hexagonaal@gmail.com> | 2018-01-24 23:52:36 +0100 |
commit | 9a228915f61892f6ba99fcf1e42e42e1e2622a00 (patch) | |
tree | e4d3bdcb8320f813e7449747790ca9d7027dbb21 /javaparser-symbol-solver-core/src/main/java/com/github/javaparser/symbolsolver/javaparsermodel/contexts/FieldAccessContext.java | |
parent | 475d14ac0e063fa01b2159b14b7800b5cd9c11dc (diff) | |
download | platform_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.java | 10 |
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(); } |