Package spoon.reflect.visitor
Class ImportScannerImpl
java.lang.Object
spoon.reflect.visitor.CtScanner
spoon.reflect.visitor.ImportScannerImpl
- All Implemented Interfaces:
CtVisitor
,ImportScanner
A scanner that calculates the imports for a given model.
This class is not used anymore, it has been replaced by all subclasses of
ImportAnalyzer
.
Still, we keep ImportScannerImpl for backward compatibility because it is used by some clients.-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected Map<String,CtTypeReference<?>>
protected Map<String,CtFieldReference<?>>
protected Map<String,CtExecutableReference<?>>
protected CtTypeReference<?>
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected boolean
addClassImport(CtTypeReference<?> ref)
Adds a type to the classImports.protected boolean
protected boolean
protected boolean
void
computeImports(CtElement element)
Computes import of aCtElement
Use computeImports or computeAllImports before getting the different imports.void
initWithImports(Iterable<CtImport> importCollection)
Specify the original imports to use before computing new imports.boolean
isImported(CtReference ref)
Checks if the type is already imported.protected boolean
isImportedInClassImports(CtTypeReference<?> ref)
protected boolean
isImportedInFieldImports(CtFieldReference<?> ref)
protected boolean
protected boolean
isTypeInCollision(CtReference ref, boolean fqnMode)
Test if the reference can be imported, i.e.lookForLocalVariables(CtElement parent)
void
Generically scans a meta-model element.<A extends Annotation>
voidvisitCtAnnotationType(CtAnnotationType<A> annotationType)
Visits an annotation type declaration.<T> void
visitCtCatchVariable(CtCatchVariable<T> catchVariable)
Visits a catch variable declaration.<T> void
visitCtClass(CtClass<T> ctClass)
Visits a class declaration.<T extends Enum<?>>
voidvisitCtEnum(CtEnum<T> ctEnum)
Visits an enumeration declaration.<T> void
visitCtExecutableReference(CtExecutableReference<T> reference)
Visits a reference to an executable.<T> void
visitCtFieldRead(CtFieldRead<T> fieldRead)
Visits a field read access.<T> void
visitCtFieldReference(CtFieldReference<T> reference)
Visits a reference to a field.<T> void
visitCtInterface(CtInterface<T> intrface)
Visits an interface declaration.void
visitCtInvocation(CtInvocation invocation)
Visits an executable invocation.void
visitCtJavaDoc(CtJavaDoc ctJavaDoc)
Visits a javadoc comment<T> void
visitCtTypeReference(CtTypeReference<T> reference)
Visits a reference to a type.Methods inherited from class spoon.reflect.visitor.CtScanner
enter, exit, scan, scan, scan, scan, scan, scan, visitCtAnnotation, visitCtAnnotationFieldAccess, visitCtAnnotationMethod, visitCtAnonymousExecutable, visitCtArrayRead, visitCtArrayTypeReference, visitCtArrayWrite, visitCtAssert, visitCtAssignment, visitCtBinaryOperator, visitCtBlock, visitCtBreak, visitCtCase, visitCtCatch, visitCtCatchVariableReference, visitCtCodeSnippetExpression, visitCtCodeSnippetStatement, visitCtComment, visitCtCompilationUnit, visitCtConditional, visitCtConstructor, visitCtConstructorCall, visitCtContinue, visitCtDo, visitCtEnumValue, visitCtExecutableReferenceExpression, visitCtField, visitCtFieldWrite, visitCtFor, visitCtForEach, visitCtIf, visitCtImport, visitCtIntersectionTypeReference, visitCtJavaDocTag, visitCtLambda, visitCtLiteral, visitCtLocalVariable, visitCtLocalVariableReference, visitCtMethod, visitCtModule, visitCtModuleReference, visitCtModuleRequirement, visitCtNewArray, visitCtNewClass, visitCtOperatorAssignment, visitCtPackage, visitCtPackageDeclaration, visitCtPackageExport, visitCtPackageReference, visitCtParameter, visitCtParameterReference, visitCtProvidedService, visitCtRecord, visitCtRecordComponent, visitCtReturn, visitCtStatementList, visitCtSuperAccess, visitCtSwitch, visitCtSwitchExpression, visitCtSynchronized, visitCtTextBlock, visitCtThisAccess, visitCtThrow, visitCtTry, visitCtTryWithResource, visitCtTypeAccess, visitCtTypeMemberWildcardImportReference, visitCtTypeParameter, visitCtTypeParameterReference, visitCtTypePattern, visitCtUnaryOperator, visitCtUnboundVariableReference, visitCtUsedService, visitCtVariableRead, visitCtVariableWrite, visitCtWhile, visitCtWildcardReference, visitCtYieldStatement
-
Field Details
-
classImports
-
fieldImports
-
methodImports
-
targetType
-
-
Constructor Details
-
ImportScannerImpl
public ImportScannerImpl()
-
-
Method Details
-
visitCtFieldRead
Description copied from interface:CtVisitor
Visits a field read access.- Specified by:
visitCtFieldRead
in interfaceCtVisitor
- Overrides:
visitCtFieldRead
in classCtScanner
-
visitCtFieldReference
Description copied from interface:CtVisitor
Visits a reference to a field.- Specified by:
visitCtFieldReference
in interfaceCtVisitor
- Overrides:
visitCtFieldReference
in classCtScanner
-
visitCtExecutableReference
Description copied from interface:CtVisitor
Visits a reference to an executable.- Specified by:
visitCtExecutableReference
in interfaceCtVisitor
- Overrides:
visitCtExecutableReference
in classCtScanner
-
visitCtTypeReference
Description copied from interface:CtVisitor
Visits a reference to a type.- Specified by:
visitCtTypeReference
in interfaceCtVisitor
- Overrides:
visitCtTypeReference
in classCtScanner
-
scan
Description copied from class:CtScanner
Generically scans a meta-model element. -
visitCtJavaDoc
Description copied from interface:CtVisitor
Visits a javadoc comment- Specified by:
visitCtJavaDoc
in interfaceCtVisitor
- Overrides:
visitCtJavaDoc
in classCtScanner
-
visitCtAnnotationType
Description copied from interface:CtVisitor
Visits an annotation type declaration.- Specified by:
visitCtAnnotationType
in interfaceCtVisitor
- Overrides:
visitCtAnnotationType
in classCtScanner
-
visitCtEnum
Description copied from interface:CtVisitor
Visits an enumeration declaration.- Specified by:
visitCtEnum
in interfaceCtVisitor
- Overrides:
visitCtEnum
in classCtScanner
-
visitCtInterface
Description copied from interface:CtVisitor
Visits an interface declaration.- Specified by:
visitCtInterface
in interfaceCtVisitor
- Overrides:
visitCtInterface
in classCtScanner
-
visitCtClass
Description copied from interface:CtVisitor
Visits a class declaration.- Specified by:
visitCtClass
in interfaceCtVisitor
- Overrides:
visitCtClass
in classCtScanner
-
visitCtCatchVariable
Description copied from interface:CtVisitor
Visits a catch variable declaration.- Specified by:
visitCtCatchVariable
in interfaceCtVisitor
- Overrides:
visitCtCatchVariable
in classCtScanner
-
visitCtInvocation
Description copied from interface:CtVisitor
Visits an executable invocation.- Specified by:
visitCtInvocation
in interfaceCtVisitor
- Overrides:
visitCtInvocation
in classCtScanner
-
getAllImports
Description copied from interface:ImportScanner
Use computeImports or computeAllImports before getting the different imports.- Specified by:
getAllImports
in interfaceImportScanner
- Returns:
- the list of computed imports or an empty collection if not imports has been computed.
-
computeImports
Description copied from interface:ImportScanner
Computes import of aCtElement
- Specified by:
computeImports
in interfaceImportScanner
-
isImported
Description copied from interface:ImportScanner
Checks if the type is already imported.- Specified by:
isImported
in interfaceImportScanner
-
initWithImports
Description copied from interface:ImportScanner
Specify the original imports to use before computing new imports.- Specified by:
initWithImports
in interfaceImportScanner
-
addClassImport
Adds a type to the classImports. -
isImportedInClassImports
-
addMethodImport
-
isImportedInMethodImports
-
addFieldImport
-
isImportedInFieldImports
-
classNamePresentInJavaLang
-
lookForLocalVariables
-
isTypeInCollision
Test if the reference can be imported, i.e. test if the importation could lead to a collision.- Parameters:
ref
-- Returns:
- true if the ref should be imported.
-