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 booleanaddClassImport(CtTypeReference<?> ref)Adds a type to the classImports.protected booleanprotected booleanprotected booleanvoidcomputeImports(CtElement element)Computes import of aCtElementUse computeImports or computeAllImports before getting the different imports.voidinitWithImports(Iterable<CtImport> importCollection)Specify the original imports to use before computing new imports.booleanisImported(CtReference ref)Checks if the type is already imported.protected booleanisImportedInClassImports(CtTypeReference<?> ref)protected booleanisImportedInFieldImports(CtFieldReference<?> ref)protected booleanprotected booleanisTypeInCollision(CtReference ref, boolean fqnMode)Test if the reference can be imported, i.e.lookForLocalVariables(CtElement parent)voidGenerically scans a meta-model element.<A extends Annotation>
voidvisitCtAnnotationType(CtAnnotationType<A> annotationType)Visits an annotation type declaration.<T> voidvisitCtCatchVariable(CtCatchVariable<T> catchVariable)Visits a catch variable declaration.<T> voidvisitCtClass(CtClass<T> ctClass)Visits a class declaration.<T extends Enum<?>>
voidvisitCtEnum(CtEnum<T> ctEnum)Visits an enumeration declaration.<T> voidvisitCtExecutableReference(CtExecutableReference<T> reference)Visits a reference to an executable.<T> voidvisitCtFieldRead(CtFieldRead<T> fieldRead)Visits a field read access.<T> voidvisitCtFieldReference(CtFieldReference<T> reference)Visits a reference to a field.<T> voidvisitCtInterface(CtInterface<T> intrface)Visits an interface declaration.voidvisitCtInvocation(CtInvocation invocation)Visits an executable invocation.voidvisitCtJavaDoc(CtJavaDoc ctJavaDoc)Visits a javadoc comment<T> voidvisitCtTypeReference(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:CtVisitorVisits a field read access.- Specified by:
visitCtFieldReadin interfaceCtVisitor- Overrides:
visitCtFieldReadin classCtScanner
-
visitCtFieldReference
Description copied from interface:CtVisitorVisits a reference to a field.- Specified by:
visitCtFieldReferencein interfaceCtVisitor- Overrides:
visitCtFieldReferencein classCtScanner
-
visitCtExecutableReference
Description copied from interface:CtVisitorVisits a reference to an executable.- Specified by:
visitCtExecutableReferencein interfaceCtVisitor- Overrides:
visitCtExecutableReferencein classCtScanner
-
visitCtTypeReference
Description copied from interface:CtVisitorVisits a reference to a type.- Specified by:
visitCtTypeReferencein interfaceCtVisitor- Overrides:
visitCtTypeReferencein classCtScanner
-
scan
Description copied from class:CtScannerGenerically scans a meta-model element. -
visitCtJavaDoc
Description copied from interface:CtVisitorVisits a javadoc comment- Specified by:
visitCtJavaDocin interfaceCtVisitor- Overrides:
visitCtJavaDocin classCtScanner
-
visitCtAnnotationType
Description copied from interface:CtVisitorVisits an annotation type declaration.- Specified by:
visitCtAnnotationTypein interfaceCtVisitor- Overrides:
visitCtAnnotationTypein classCtScanner
-
visitCtEnum
Description copied from interface:CtVisitorVisits an enumeration declaration.- Specified by:
visitCtEnumin interfaceCtVisitor- Overrides:
visitCtEnumin classCtScanner
-
visitCtInterface
Description copied from interface:CtVisitorVisits an interface declaration.- Specified by:
visitCtInterfacein interfaceCtVisitor- Overrides:
visitCtInterfacein classCtScanner
-
visitCtClass
Description copied from interface:CtVisitorVisits a class declaration.- Specified by:
visitCtClassin interfaceCtVisitor- Overrides:
visitCtClassin classCtScanner
-
visitCtCatchVariable
Description copied from interface:CtVisitorVisits a catch variable declaration.- Specified by:
visitCtCatchVariablein interfaceCtVisitor- Overrides:
visitCtCatchVariablein classCtScanner
-
visitCtInvocation
Description copied from interface:CtVisitorVisits an executable invocation.- Specified by:
visitCtInvocationin interfaceCtVisitor- Overrides:
visitCtInvocationin classCtScanner
-
getAllImports
Description copied from interface:ImportScannerUse computeImports or computeAllImports before getting the different imports.- Specified by:
getAllImportsin interfaceImportScanner- Returns:
- the list of computed imports or an empty collection if not imports has been computed.
-
computeImports
Description copied from interface:ImportScannerComputes import of aCtElement- Specified by:
computeImportsin interfaceImportScanner
-
isImported
Description copied from interface:ImportScannerChecks if the type is already imported.- Specified by:
isImportedin interfaceImportScanner
-
initWithImports
Description copied from interface:ImportScannerSpecify the original imports to use before computing new imports.- Specified by:
initWithImportsin 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.
-