Package org.sonar.python.types
Class DeclaredType
java.lang.Object
org.sonar.python.types.DeclaredType
- All Implemented Interfaces:
InferredType
-
Field Summary
Fields inherited from interface org.sonar.plugins.python.api.types.InferredType
MOCK_FQNS -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbooleancanBeOrExtend(String typeName) booleancanHaveMember(String memberName) booleanbooleandeclaresMember(String memberName) Used to handle uncertainty of declared types.booleanstatic InferredTypefromInferredType(InferredType inferredType) inthashCode()booleanisCompatibleWith(InferredType other) booleanbooleanmustBeOrExtend(String typeName) mustBeOrExtend implies we know for sure the given type is either of the given typeName or a subtype of it.resolveDeclaredMember(String memberName) resolveMember(String memberName) toString()typeName()Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface org.sonar.plugins.python.api.types.InferredType
runtimeTypeSymbol
-
Constructor Details
-
DeclaredType
-
-
Method Details
-
canHaveMember
- Specified by:
canHaveMemberin interfaceInferredType
-
declaresMember
Description copied from interface:InferredTypeUsed to handle uncertainty of declared types. It return false when a member is not present in a declared type, while canHaveMember returns true because one of its subtype may have it.- Specified by:
declaresMemberin interfaceInferredType
-
isIdentityComparableWith
- Specified by:
isIdentityComparableWithin interfaceInferredType
-
resolveMember
- Specified by:
resolveMemberin interfaceInferredType
-
resolveDeclaredMember
- Specified by:
resolveDeclaredMemberin interfaceInferredType
-
canBeOrExtend
- Specified by:
canBeOrExtendin interfaceInferredType
-
canOnlyBe
- Specified by:
canOnlyBein interfaceInferredType
-
isCompatibleWith
- Specified by:
isCompatibleWithin interfaceInferredType
-
mustBeOrExtend
Description copied from interface:InferredTypemustBeOrExtend implies we know for sure the given type is either of the given typeName or a subtype of it. As opposed to "canBeOrExtend", this will return true only when we are sure the subtyping relationship is present. For types inferred from type annotations (DeclaredType), the actual underlying type might be different from what has been declared, but it must be or extend the declared type.- Specified by:
mustBeOrExtendin interfaceInferredType
-
toString
-
typeName
-
getTypeClass
-
alternativeTypeSymbols
-
equals
-
hashCode
public int hashCode() -
fromInferredType
-