Class CompilationUnitContext
- java.lang.Object
-
- com.github.javaparser.symbolsolver.javaparsermodel.contexts.AbstractJavaParserContext<CompilationUnit>
-
- com.github.javaparser.symbolsolver.javaparsermodel.contexts.CompilationUnitContext
-
- All Implemented Interfaces:
Context
public class CompilationUnitContext extends AbstractJavaParserContext<CompilationUnit>
-
-
Field Summary
Fields Modifier and Type Field Description private static java.lang.StringDEFAULT_PACKAGEprivate static java.lang.ThreadLocal<java.util.List<java.lang.String>>resolvedStaticImport-
Fields inherited from class com.github.javaparser.symbolsolver.javaparsermodel.contexts.AbstractJavaParserContext
typeSolver, wrappedNode
-
-
Constructor Summary
Constructors Constructor Description CompilationUnitContext(CompilationUnit wrappedNode, TypeSolver typeSolver)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.util.List<ResolvedFieldDeclaration>fieldsExposedToChild(Node child)The fields that are declared and in this immediate context made visible to a given child.private java.lang.StringgetMember(java.lang.String qName)private java.lang.StringgetType(java.lang.String qName)private booleanisAlreadyResolved(java.lang.String qName)protected booleanisCompositeName(java.lang.String name)private java.lang.StringpackageName(java.lang.String qName)private java.lang.StringqName(Name name)private java.lang.StringqName(ClassOrInterfaceType type)private SymbolReference<ResolvedTypeDeclaration>solveExternalTypeFromOuterMostRef(java.lang.String name)SymbolReference<ResolvedMethodDeclaration>solveMethod(java.lang.String name, java.util.List<ResolvedType> argumentsTypes, boolean staticOnly)We find the method declaration which is the best match for the given name and list of typeParametersValues.SymbolReference<? extends ResolvedValueDeclaration>solveSymbol(java.lang.String name)Used where a symbol is being used (e.g.SymbolReference<ResolvedTypeDeclaration>solveType(java.lang.String name, java.util.List<ResolvedType> typeArguments)Method used to solve a name with an expected list of type arguments.private SymbolReference<ResolvedTypeDeclaration>solveTypeFromOuterMostRef(java.lang.String name)private java.lang.StringtoSimpleName(java.lang.String qName)-
Methods inherited from class com.github.javaparser.symbolsolver.javaparsermodel.contexts.AbstractJavaParserContext
equals, findExposedPatternInParentContext, findTypeDeclarations, getParent, getScope, getWrappedNode, hashCode, negatedTypePatternExprsExposedFromChildren, solveMethodAsUsage, solveSymbolInParentContext, solveWith, solveWithAsValue, typePatternExprsDiscoveredInPattern, typePatternExprsExposedFromChildren
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface com.github.javaparser.resolution.Context
fieldDeclarationInScope, localVariableDeclarationInScope, localVariablesExposedToChild, parameterDeclarationInScope, parametersExposedToChild, solveConstructor, solveGenericType, solveGenericTypeInParentContext, solveMethodInParentContext, solveSymbolAsValue, solveSymbolAsValueInParentContext, solveType, solveTypeInParentContext, solveTypeInParentContext, typePatternExprInScope, typePatternExprsExposedToChild
-
-
-
-
Field Detail
-
DEFAULT_PACKAGE
private static final java.lang.String DEFAULT_PACKAGE
- See Also:
- Constant Field Values
-
resolvedStaticImport
private static java.lang.ThreadLocal<java.util.List<java.lang.String>> resolvedStaticImport
-
-
Constructor Detail
-
CompilationUnitContext
public CompilationUnitContext(CompilationUnit wrappedNode, TypeSolver typeSolver)
-
-
Method Detail
-
solveSymbol
public SymbolReference<? extends ResolvedValueDeclaration> solveSymbol(java.lang.String name)
Description copied from interface:ContextUsed where a symbol is being used (e.g. solvingxwhen used as an argumentdoubleThis(x), or calculationreturn x * 2;).- Parameters:
name- the variable / reference / identifier used.- Returns:
- // FIXME: Better documentation on how this is different to solveSymbolAsValue()
-
isAlreadyResolved
private boolean isAlreadyResolved(java.lang.String qName)
-
solveType
public SymbolReference<ResolvedTypeDeclaration> solveType(java.lang.String name, java.util.List<ResolvedType> typeArguments)
Description copied from interface:ContextMethod used to solve a name with an expected list of type arguments.
This method differs fromContext.solveType(String)by taking the type arguments in consideration. For example, lets imagine that we have a project containing the following classes:- com/example/Alpha.java
- com/example/Beta.java
- Parameters:
name- The name to be solved.typeArguments- The list of expected type arguments.- Returns:
- The declaration associated with the given type name.
-
isCompositeName
protected boolean isCompositeName(java.lang.String name)
-
solveTypeFromOuterMostRef
private SymbolReference<ResolvedTypeDeclaration> solveTypeFromOuterMostRef(java.lang.String name)
-
solveExternalTypeFromOuterMostRef
private SymbolReference<ResolvedTypeDeclaration> solveExternalTypeFromOuterMostRef(java.lang.String name)
-
qName
private java.lang.String qName(ClassOrInterfaceType type)
-
qName
private java.lang.String qName(Name name)
-
toSimpleName
private java.lang.String toSimpleName(java.lang.String qName)
-
packageName
private java.lang.String packageName(java.lang.String qName)
-
solveMethod
public SymbolReference<ResolvedMethodDeclaration> solveMethod(java.lang.String name, java.util.List<ResolvedType> argumentsTypes, boolean staticOnly)
Description copied from interface:ContextWe find the method declaration which is the best match for the given name and list of typeParametersValues.
-
fieldsExposedToChild
public java.util.List<ResolvedFieldDeclaration> fieldsExposedToChild(Node child)
Description copied from interface:ContextThe fields that are declared and in this immediate context made visible to a given child. This list could include values which are shadowed.
-
getType
private java.lang.String getType(java.lang.String qName)
-
getMember
private java.lang.String getMember(java.lang.String qName)
-
-