Class FakeExceptionTypeBinding
- java.lang.Object
-
- com.ibm.wala.cast.java.translator.jdt.FakeExceptionTypeBinding
-
- All Implemented Interfaces:
org.eclipse.jdt.core.dom.IBinding,org.eclipse.jdt.core.dom.ITypeBinding
public class FakeExceptionTypeBinding extends java.lang.Object implements org.eclipse.jdt.core.dom.ITypeBindingThis is a hack to get around the fact that AST.resolveWellKnownTypes() doesn't know about some implicitly declared exceptions, such as ArithmeticException (implicitly thrown in a division operation) and NullPointerException (implicitly thrown in a field access). We need to know the lineage of these types to determine possible catch targets.
-
-
Field Summary
Fields Modifier and Type Field Description static FakeExceptionTypeBindingarithmeticstatic FakeExceptionTypeBindingclassCaststatic FakeExceptionTypeBindinginitExceptionstatic FakeExceptionTypeBindingnoClassDefstatic FakeExceptionTypeBindingnullPointerstatic FakeExceptionTypeBindingoutOfMemory
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description org.eclipse.jdt.core.dom.ITypeBindingcreateArrayType(int dimension)booleanequals(java.lang.Object o)org.eclipse.jdt.core.dom.IAnnotationBinding[]getAnnotations()java.lang.StringgetBinaryName()org.eclipse.jdt.core.dom.ITypeBindinggetBound()org.eclipse.jdt.core.dom.ITypeBindinggetComponentType()org.eclipse.jdt.core.dom.IVariableBinding[]getDeclaredFields()org.eclipse.jdt.core.dom.IMethodBinding[]getDeclaredMethods()intgetDeclaredModifiers()org.eclipse.jdt.core.dom.ITypeBinding[]getDeclaredTypes()org.eclipse.jdt.core.dom.ITypeBindinggetDeclaringClass()org.eclipse.jdt.core.dom.IBindinggetDeclaringMember()org.eclipse.jdt.core.dom.IMethodBindinggetDeclaringMethod()intgetDimensions()org.eclipse.jdt.core.dom.ITypeBindinggetElementType()org.eclipse.jdt.core.dom.ITypeBindinggetErasure()org.eclipse.jdt.core.dom.IMethodBindinggetFunctionalInterfaceMethod()org.eclipse.jdt.core.dom.ITypeBindinggetGenericTypeOfWildcardType()org.eclipse.jdt.core.dom.ITypeBinding[]getInterfaces()org.eclipse.jdt.core.IJavaElementgetJavaElement()java.lang.StringgetKey()intgetKind()intgetModifiers()java.lang.StringgetName()org.eclipse.jdt.core.dom.IPackageBindinggetPackage()java.lang.StringgetQualifiedName()intgetRank()org.eclipse.jdt.core.dom.ITypeBindinggetSuperclass()org.eclipse.jdt.core.dom.IAnnotationBinding[]getTypeAnnotations()org.eclipse.jdt.core.dom.ITypeBinding[]getTypeArguments()org.eclipse.jdt.core.dom.ITypeBinding[]getTypeBounds()org.eclipse.jdt.core.dom.ITypeBindinggetTypeDeclaration()org.eclipse.jdt.core.dom.ITypeBinding[]getTypeParameters()org.eclipse.jdt.core.dom.ITypeBindinggetWildcard()inthashCode()booleanisAnnotation()booleanisAnonymous()booleanisArray()booleanisAssignmentCompatible(org.eclipse.jdt.core.dom.ITypeBinding variableType)booleanisCapture()booleanisCastCompatible(org.eclipse.jdt.core.dom.ITypeBinding type)booleanisClass()booleanisDeprecated()booleanisEnum()booleanisEqualTo(org.eclipse.jdt.core.dom.IBinding binding)booleanisFromSource()booleanisGenericType()booleanisInterface()booleanisIntersectionType()booleanisLocal()booleanisMember()booleanisNested()booleanisNullType()booleanisParameterizedType()booleanisPrimitive()booleanisRawType()booleanisRecord()This overrides a method introduced in recent versions of theITypeBindinginterface to handle records.booleanisRecovered()booleanisSubTypeCompatible(org.eclipse.jdt.core.dom.ITypeBinding type)booleanisSynthetic()booleanisTopLevel()booleanisTypeVariable()booleanisUpperbound()booleanisWildcardType()
-
-
-
Field Detail
-
arithmetic
public static final FakeExceptionTypeBinding arithmetic
-
nullPointer
public static final FakeExceptionTypeBinding nullPointer
-
classCast
public static final FakeExceptionTypeBinding classCast
-
noClassDef
public static final FakeExceptionTypeBinding noClassDef
-
initException
public static final FakeExceptionTypeBinding initException
-
outOfMemory
public static final FakeExceptionTypeBinding outOfMemory
-
-
Method Detail
-
isAssignmentCompatible
public boolean isAssignmentCompatible(org.eclipse.jdt.core.dom.ITypeBinding variableType)
- Specified by:
isAssignmentCompatiblein interfaceorg.eclipse.jdt.core.dom.ITypeBinding
-
equals
public boolean equals(java.lang.Object o)
- Specified by:
equalsin interfaceorg.eclipse.jdt.core.dom.IBinding- Overrides:
equalsin classjava.lang.Object
-
hashCode
public int hashCode()
- Overrides:
hashCodein classjava.lang.Object
-
createArrayType
public org.eclipse.jdt.core.dom.ITypeBinding createArrayType(int dimension)
- Specified by:
createArrayTypein interfaceorg.eclipse.jdt.core.dom.ITypeBinding
-
getBinaryName
public java.lang.String getBinaryName()
- Specified by:
getBinaryNamein interfaceorg.eclipse.jdt.core.dom.ITypeBinding
-
getBound
public org.eclipse.jdt.core.dom.ITypeBinding getBound()
- Specified by:
getBoundin interfaceorg.eclipse.jdt.core.dom.ITypeBinding
-
getComponentType
public org.eclipse.jdt.core.dom.ITypeBinding getComponentType()
- Specified by:
getComponentTypein interfaceorg.eclipse.jdt.core.dom.ITypeBinding
-
getDeclaredFields
public org.eclipse.jdt.core.dom.IVariableBinding[] getDeclaredFields()
- Specified by:
getDeclaredFieldsin interfaceorg.eclipse.jdt.core.dom.ITypeBinding
-
getDeclaredMethods
public org.eclipse.jdt.core.dom.IMethodBinding[] getDeclaredMethods()
- Specified by:
getDeclaredMethodsin interfaceorg.eclipse.jdt.core.dom.ITypeBinding
-
getDeclaredModifiers
public int getDeclaredModifiers()
- Specified by:
getDeclaredModifiersin interfaceorg.eclipse.jdt.core.dom.ITypeBinding
-
getDeclaredTypes
public org.eclipse.jdt.core.dom.ITypeBinding[] getDeclaredTypes()
- Specified by:
getDeclaredTypesin interfaceorg.eclipse.jdt.core.dom.ITypeBinding
-
getDeclaringClass
public org.eclipse.jdt.core.dom.ITypeBinding getDeclaringClass()
- Specified by:
getDeclaringClassin interfaceorg.eclipse.jdt.core.dom.ITypeBinding
-
getDeclaringMethod
public org.eclipse.jdt.core.dom.IMethodBinding getDeclaringMethod()
- Specified by:
getDeclaringMethodin interfaceorg.eclipse.jdt.core.dom.ITypeBinding
-
getDimensions
public int getDimensions()
- Specified by:
getDimensionsin interfaceorg.eclipse.jdt.core.dom.ITypeBinding
-
getElementType
public org.eclipse.jdt.core.dom.ITypeBinding getElementType()
- Specified by:
getElementTypein interfaceorg.eclipse.jdt.core.dom.ITypeBinding
-
getErasure
public org.eclipse.jdt.core.dom.ITypeBinding getErasure()
- Specified by:
getErasurein interfaceorg.eclipse.jdt.core.dom.ITypeBinding
-
getInterfaces
public org.eclipse.jdt.core.dom.ITypeBinding[] getInterfaces()
- Specified by:
getInterfacesin interfaceorg.eclipse.jdt.core.dom.ITypeBinding
-
getModifiers
public int getModifiers()
- Specified by:
getModifiersin interfaceorg.eclipse.jdt.core.dom.IBinding- Specified by:
getModifiersin interfaceorg.eclipse.jdt.core.dom.ITypeBinding
-
getName
public java.lang.String getName()
- Specified by:
getNamein interfaceorg.eclipse.jdt.core.dom.IBinding- Specified by:
getNamein interfaceorg.eclipse.jdt.core.dom.ITypeBinding
-
getPackage
public org.eclipse.jdt.core.dom.IPackageBinding getPackage()
- Specified by:
getPackagein interfaceorg.eclipse.jdt.core.dom.ITypeBinding
-
getQualifiedName
public java.lang.String getQualifiedName()
- Specified by:
getQualifiedNamein interfaceorg.eclipse.jdt.core.dom.ITypeBinding
-
getSuperclass
public org.eclipse.jdt.core.dom.ITypeBinding getSuperclass()
- Specified by:
getSuperclassin interfaceorg.eclipse.jdt.core.dom.ITypeBinding
-
getTypeArguments
public org.eclipse.jdt.core.dom.ITypeBinding[] getTypeArguments()
- Specified by:
getTypeArgumentsin interfaceorg.eclipse.jdt.core.dom.ITypeBinding
-
getTypeBounds
public org.eclipse.jdt.core.dom.ITypeBinding[] getTypeBounds()
- Specified by:
getTypeBoundsin interfaceorg.eclipse.jdt.core.dom.ITypeBinding
-
getTypeDeclaration
public org.eclipse.jdt.core.dom.ITypeBinding getTypeDeclaration()
- Specified by:
getTypeDeclarationin interfaceorg.eclipse.jdt.core.dom.ITypeBinding
-
getTypeParameters
public org.eclipse.jdt.core.dom.ITypeBinding[] getTypeParameters()
- Specified by:
getTypeParametersin interfaceorg.eclipse.jdt.core.dom.ITypeBinding
-
getWildcard
public org.eclipse.jdt.core.dom.ITypeBinding getWildcard()
- Specified by:
getWildcardin interfaceorg.eclipse.jdt.core.dom.ITypeBinding
-
isAnnotation
public boolean isAnnotation()
- Specified by:
isAnnotationin interfaceorg.eclipse.jdt.core.dom.ITypeBinding
-
isAnonymous
public boolean isAnonymous()
- Specified by:
isAnonymousin interfaceorg.eclipse.jdt.core.dom.ITypeBinding
-
isArray
public boolean isArray()
- Specified by:
isArrayin interfaceorg.eclipse.jdt.core.dom.ITypeBinding
-
isCapture
public boolean isCapture()
- Specified by:
isCapturein interfaceorg.eclipse.jdt.core.dom.ITypeBinding
-
isCastCompatible
public boolean isCastCompatible(org.eclipse.jdt.core.dom.ITypeBinding type)
- Specified by:
isCastCompatiblein interfaceorg.eclipse.jdt.core.dom.ITypeBinding
-
isClass
public boolean isClass()
- Specified by:
isClassin interfaceorg.eclipse.jdt.core.dom.ITypeBinding
-
isEnum
public boolean isEnum()
- Specified by:
isEnumin interfaceorg.eclipse.jdt.core.dom.ITypeBinding
-
isRecord
public boolean isRecord()
This overrides a method introduced in recent versions of theITypeBindinginterface to handle records. We omit the@Overrideannotation to allow building against earlier versions oforg.eclipse.jdt.core, whereITypeBindingdoes not contain this method.- Specified by:
isRecordin interfaceorg.eclipse.jdt.core.dom.ITypeBinding
-
isFromSource
public boolean isFromSource()
- Specified by:
isFromSourcein interfaceorg.eclipse.jdt.core.dom.ITypeBinding
-
isGenericType
public boolean isGenericType()
- Specified by:
isGenericTypein interfaceorg.eclipse.jdt.core.dom.ITypeBinding
-
isInterface
public boolean isInterface()
- Specified by:
isInterfacein interfaceorg.eclipse.jdt.core.dom.ITypeBinding
-
isIntersectionType
public boolean isIntersectionType()
- Specified by:
isIntersectionTypein interfaceorg.eclipse.jdt.core.dom.ITypeBinding
-
isLocal
public boolean isLocal()
- Specified by:
isLocalin interfaceorg.eclipse.jdt.core.dom.ITypeBinding
-
isMember
public boolean isMember()
- Specified by:
isMemberin interfaceorg.eclipse.jdt.core.dom.ITypeBinding
-
isNested
public boolean isNested()
- Specified by:
isNestedin interfaceorg.eclipse.jdt.core.dom.ITypeBinding
-
isNullType
public boolean isNullType()
- Specified by:
isNullTypein interfaceorg.eclipse.jdt.core.dom.ITypeBinding
-
isParameterizedType
public boolean isParameterizedType()
- Specified by:
isParameterizedTypein interfaceorg.eclipse.jdt.core.dom.ITypeBinding
-
isPrimitive
public boolean isPrimitive()
- Specified by:
isPrimitivein interfaceorg.eclipse.jdt.core.dom.ITypeBinding
-
isRawType
public boolean isRawType()
- Specified by:
isRawTypein interfaceorg.eclipse.jdt.core.dom.ITypeBinding
-
isSubTypeCompatible
public boolean isSubTypeCompatible(org.eclipse.jdt.core.dom.ITypeBinding type)
- Specified by:
isSubTypeCompatiblein interfaceorg.eclipse.jdt.core.dom.ITypeBinding
-
isTopLevel
public boolean isTopLevel()
- Specified by:
isTopLevelin interfaceorg.eclipse.jdt.core.dom.ITypeBinding
-
isTypeVariable
public boolean isTypeVariable()
- Specified by:
isTypeVariablein interfaceorg.eclipse.jdt.core.dom.ITypeBinding
-
isUpperbound
public boolean isUpperbound()
- Specified by:
isUpperboundin interfaceorg.eclipse.jdt.core.dom.ITypeBinding
-
isWildcardType
public boolean isWildcardType()
- Specified by:
isWildcardTypein interfaceorg.eclipse.jdt.core.dom.ITypeBinding
-
getAnnotations
public org.eclipse.jdt.core.dom.IAnnotationBinding[] getAnnotations()
- Specified by:
getAnnotationsin interfaceorg.eclipse.jdt.core.dom.IBinding
-
getJavaElement
public org.eclipse.jdt.core.IJavaElement getJavaElement()
- Specified by:
getJavaElementin interfaceorg.eclipse.jdt.core.dom.IBinding
-
getKey
public java.lang.String getKey()
- Specified by:
getKeyin interfaceorg.eclipse.jdt.core.dom.IBinding
-
getKind
public int getKind()
- Specified by:
getKindin interfaceorg.eclipse.jdt.core.dom.IBinding
-
isDeprecated
public boolean isDeprecated()
- Specified by:
isDeprecatedin interfaceorg.eclipse.jdt.core.dom.IBinding
-
isEqualTo
public boolean isEqualTo(org.eclipse.jdt.core.dom.IBinding binding)
- Specified by:
isEqualToin interfaceorg.eclipse.jdt.core.dom.IBinding
-
isRecovered
public boolean isRecovered()
- Specified by:
isRecoveredin interfaceorg.eclipse.jdt.core.dom.IBinding
-
isSynthetic
public boolean isSynthetic()
- Specified by:
isSyntheticin interfaceorg.eclipse.jdt.core.dom.IBinding
-
getGenericTypeOfWildcardType
public org.eclipse.jdt.core.dom.ITypeBinding getGenericTypeOfWildcardType()
- Specified by:
getGenericTypeOfWildcardTypein interfaceorg.eclipse.jdt.core.dom.ITypeBinding
-
getRank
public int getRank()
- Specified by:
getRankin interfaceorg.eclipse.jdt.core.dom.ITypeBinding
-
getFunctionalInterfaceMethod
public org.eclipse.jdt.core.dom.IMethodBinding getFunctionalInterfaceMethod()
- Specified by:
getFunctionalInterfaceMethodin interfaceorg.eclipse.jdt.core.dom.ITypeBinding
-
getTypeAnnotations
public org.eclipse.jdt.core.dom.IAnnotationBinding[] getTypeAnnotations()
- Specified by:
getTypeAnnotationsin interfaceorg.eclipse.jdt.core.dom.ITypeBinding
-
getDeclaringMember
public org.eclipse.jdt.core.dom.IBinding getDeclaringMember()
- Specified by:
getDeclaringMemberin interfaceorg.eclipse.jdt.core.dom.ITypeBinding
-
-