Class TypeChecker
java.lang.Object
spoon.reflect.visitor.CtScanner
liquidjava.processor.refinement_checker.TypeChecker
- All Implemented Interfaces:
spoon.reflect.visitor.CtVisitor
- Direct Known Subclasses:
ExternalRefinementTypeChecker,MethodsFirstChecker,RefinementTypeChecker
public abstract class TypeChecker
extends spoon.reflect.visitor.CtScanner
-
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionTypeChecker(Context c, spoon.reflect.factory.Factory fac, ErrorEmitter errorEmitter) -
Method Summary
Modifier and TypeMethodDescriptionvoidbooleanchecksStateSMT(Predicate prevState, Predicate expectedState, spoon.reflect.cu.SourcePosition p) voidcheckStateSMT(Predicate prevState, Predicate expectedState, spoon.reflect.declaration.CtElement target, String string) voidcheckVariableRefinements(Predicate refinementFound, String simpleName, spoon.reflect.reference.CtTypeReference<?> type, spoon.reflect.declaration.CtElement usage, spoon.reflect.declaration.CtElement variable) voidcreateError(spoon.reflect.declaration.CtElement element, Predicate expectedType, Predicate foundType, String customeMessage) voidcreateSameStateError(spoon.reflect.declaration.CtElement element, Predicate expectedType, String klass) protected Optional<GhostFunction> createStateGhost(int order, spoon.reflect.declaration.CtElement element) voidcreateStateMismatchError(spoon.reflect.declaration.CtElement element, String method, Predicate c, String states) spoon.reflect.factory.Factoryprotected voidgetGhostFunction(String value, spoon.reflect.declaration.CtElement element) protected StringgetQualifiedClassName(spoon.reflect.declaration.CtElement element) getRefinement(spoon.reflect.declaration.CtElement elem) getRefinementFromAnnotation(spoon.reflect.declaration.CtElement element) protected StringgetSimpleClassName(spoon.reflect.declaration.CtElement element) protected voidhandleAlias(String value, spoon.reflect.declaration.CtElement element) voidhandleStateSetsFromAnnotation(spoon.reflect.declaration.CtElement element) Methods inherited from class spoon.reflect.visitor.CtScanner
enter, exit, scan, scan, scan, scan, scan, scan, scan, visitCtAnnotation, visitCtAnnotationFieldAccess, visitCtAnnotationMethod, visitCtAnnotationType, visitCtAnonymousExecutable, visitCtArrayRead, visitCtArrayTypeReference, visitCtArrayWrite, visitCtAssert, visitCtAssignment, visitCtBinaryOperator, visitCtBlock, visitCtBreak, visitCtCase, visitCtCatch, visitCtCatchVariable, visitCtCatchVariableReference, visitCtClass, visitCtCodeSnippetExpression, visitCtCodeSnippetStatement, visitCtComment, visitCtCompilationUnit, visitCtConditional, visitCtConstructor, visitCtConstructorCall, visitCtContinue, visitCtDo, visitCtEnum, visitCtEnumValue, visitCtExecutableReference, visitCtExecutableReferenceExpression, visitCtField, visitCtFieldRead, visitCtFieldReference, visitCtFieldWrite, visitCtFor, visitCtForEach, visitCtIf, visitCtImport, visitCtInterface, visitCtIntersectionTypeReference, visitCtInvocation, visitCtJavaDoc, 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, visitCtTypeReference, visitCtUnaryOperator, visitCtUnboundVariableReference, visitCtUsedService, visitCtVariableRead, visitCtVariableWrite, visitCtWhile, visitCtWildcardReference, visitCtYieldStatement
-
Field Details
-
REFINE_KEY
- See Also:
-
TARGET_KEY
- See Also:
-
THIS
- See Also:
-
WILD_VAR
- See Also:
-
freshFormat
- See Also:
-
instanceFormat
- See Also:
-
thisFormat
- See Also:
-
implementedTypes
-
-
Constructor Details
-
TypeChecker
-
-
Method Details
-
getContext
-
getFactory
public spoon.reflect.factory.Factory getFactory() -
getRefinement
-
getRefinementFromAnnotation
public Optional<Predicate> getRefinementFromAnnotation(spoon.reflect.declaration.CtElement element) throws ParsingException - Throws:
ParsingException
-
handleStateSetsFromAnnotation
public void handleStateSetsFromAnnotation(spoon.reflect.declaration.CtElement element) -
getQualifiedClassName
-
getSimpleClassName
-
createStateGhost
protected Optional<GhostFunction> createStateGhost(int order, spoon.reflect.declaration.CtElement element) -
getGhostFunction
-
handleAlias
-
checkVariableRefinements
public void checkVariableRefinements(Predicate refinementFound, String simpleName, spoon.reflect.reference.CtTypeReference<?> type, spoon.reflect.declaration.CtElement usage, spoon.reflect.declaration.CtElement variable) throws ParsingException - Throws:
ParsingException
-
checkSMT
-
checkStateSMT
-
checksStateSMT
-
createError
-
createSameStateError
-
createStateMismatchError
-
getErrorEmitter
-