aboutsummaryrefslogtreecommitdiffstats
path: root/javaparser-symbol-solver-testing/src/test/resources/javasymbolsolver_0_6_0/src/java-symbol-solver-core/com/github/javaparser/symbolsolver/javaparsermodel/contexts/FieldAccessContext.java
diff options
context:
space:
mode:
Diffstat (limited to 'javaparser-symbol-solver-testing/src/test/resources/javasymbolsolver_0_6_0/src/java-symbol-solver-core/com/github/javaparser/symbolsolver/javaparsermodel/contexts/FieldAccessContext.java')
-rw-r--r--javaparser-symbol-solver-testing/src/test/resources/javasymbolsolver_0_6_0/src/java-symbol-solver-core/com/github/javaparser/symbolsolver/javaparsermodel/contexts/FieldAccessContext.java93
1 files changed, 0 insertions, 93 deletions
diff --git a/javaparser-symbol-solver-testing/src/test/resources/javasymbolsolver_0_6_0/src/java-symbol-solver-core/com/github/javaparser/symbolsolver/javaparsermodel/contexts/FieldAccessContext.java b/javaparser-symbol-solver-testing/src/test/resources/javasymbolsolver_0_6_0/src/java-symbol-solver-core/com/github/javaparser/symbolsolver/javaparsermodel/contexts/FieldAccessContext.java
deleted file mode 100644
index 85b30481f..000000000
--- a/javaparser-symbol-solver-testing/src/test/resources/javasymbolsolver_0_6_0/src/java-symbol-solver-core/com/github/javaparser/symbolsolver/javaparsermodel/contexts/FieldAccessContext.java
+++ /dev/null
@@ -1,93 +0,0 @@
-/*
- * Copyright 2016 Federico Tomassetti
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.github.javaparser.symbolsolver.javaparsermodel.contexts;
-
-import com.github.javaparser.ast.expr.Expression;
-import com.github.javaparser.ast.expr.FieldAccessExpr;
-import com.github.javaparser.ast.expr.ThisExpr;
-import com.github.javaparser.symbolsolver.javaparsermodel.JavaParserFacade;
-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.TypeSolver;
-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 java.util.List;
-import java.util.Optional;
-
-import static com.github.javaparser.symbolsolver.javaparser.Navigator.getParentNode;
-
-/**
- * @author Federico Tomassetti
- */
-public class FieldAccessContext extends AbstractJavaParserContext<FieldAccessExpr> {
-
- private static final String ARRAY_LENGTH_FIELD_NAME = "length";
-
- public FieldAccessContext(FieldAccessExpr wrappedNode, TypeSolver typeSolver) {
- super(wrappedNode, typeSolver);
- }
-
- @Override
- public SymbolReference<? extends ValueDeclaration> solveSymbol(String name, TypeSolver typeSolver) {
- if (wrappedNode.getField().toString().equals(name)) {
- if (wrappedNode.getScope() instanceof ThisExpr) {
- Type typeOfThis = JavaParserFacade.get(typeSolver).getTypeOfThisIn(wrappedNode);
- return new SymbolSolver(typeSolver).solveSymbolInType(typeOfThis.asReferenceType().getTypeDeclaration(), name);
- }
- }
- return JavaParserFactory.getContext(getParentNode(wrappedNode), typeSolver).solveSymbol(name, typeSolver);
- }
-
- @Override
- public SymbolReference<TypeDeclaration> solveType(String name, TypeSolver typeSolver) {
- return JavaParserFactory.getContext(getParentNode(wrappedNode), typeSolver).solveType(name, typeSolver);
- }
-
- @Override
- public SymbolReference<MethodDeclaration> solveMethod(String name, List<Type> parameterTypes, boolean staticOnly, TypeSolver typeSolver) {
- return JavaParserFactory.getContext(getParentNode(wrappedNode), typeSolver).solveMethod(name, parameterTypes, false, typeSolver);
- }
-
- @Override
- public Optional<Value> solveSymbolAsValue(String name, TypeSolver typeSolver) {
- Expression scope = wrappedNode.getScope();
- if (wrappedNode.getField().toString().equals(name)) {
- Type typeOfScope = JavaParserFacade.get(typeSolver).getType(scope);
- if (typeOfScope.isArray() && name.equals(ARRAY_LENGTH_FIELD_NAME)) {
- return Optional.of(new Value(PrimitiveType.INT, ARRAY_LENGTH_FIELD_NAME));
- }
- if (typeOfScope.isReferenceType()) {
- Optional<Type> typeUsage = typeOfScope.asReferenceType().getFieldType(name);
- if (typeUsage.isPresent()) {
- return Optional.of(new Value(typeUsage.get(), name));
- } else {
- return Optional.empty();
- }
- } else {
- return Optional.empty();
- }
- } else {
- return getParent().solveSymbolAsValue(name, typeSolver);
- }
- }
-}