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 Object
implements org.eclipse.jdt.core.dom.ITypeBinding
This 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.
- Author:
- evan
-
Field Summary
Modifier and TypeFieldDescriptionstatic final FakeExceptionTypeBinding
static final FakeExceptionTypeBinding
static final FakeExceptionTypeBinding
static final FakeExceptionTypeBinding
static final FakeExceptionTypeBinding
static final FakeExceptionTypeBinding
Fields inherited from interface org.eclipse.jdt.core.dom.IBinding
ANNOTATION, MEMBER_VALUE_PAIR, METHOD, MODULE, PACKAGE, TYPE, VARIABLE
-
Method Summary
Modifier and TypeMethodDescriptionorg.eclipse.jdt.core.dom.ITypeBinding
createArrayType
(int dimension) boolean
org.eclipse.jdt.core.dom.IAnnotationBinding[]
org.eclipse.jdt.core.dom.ITypeBinding
getBound()
org.eclipse.jdt.core.dom.ITypeBinding
org.eclipse.jdt.core.dom.IVariableBinding[]
org.eclipse.jdt.core.dom.IMethodBinding[]
int
org.eclipse.jdt.core.dom.ITypeBinding[]
org.eclipse.jdt.core.dom.ITypeBinding
org.eclipse.jdt.core.dom.IBinding
org.eclipse.jdt.core.dom.IMethodBinding
int
org.eclipse.jdt.core.dom.ITypeBinding
org.eclipse.jdt.core.dom.ITypeBinding
org.eclipse.jdt.core.dom.IMethodBinding
org.eclipse.jdt.core.dom.ITypeBinding
org.eclipse.jdt.core.dom.ITypeBinding[]
org.eclipse.jdt.core.IJavaElement
getKey()
int
getKind()
int
getName()
org.eclipse.jdt.core.dom.IPackageBinding
int
getRank()
org.eclipse.jdt.core.dom.ITypeBinding
org.eclipse.jdt.core.dom.IAnnotationBinding[]
org.eclipse.jdt.core.dom.ITypeBinding[]
org.eclipse.jdt.core.dom.ITypeBinding[]
org.eclipse.jdt.core.dom.ITypeBinding
org.eclipse.jdt.core.dom.ITypeBinding[]
org.eclipse.jdt.core.dom.ITypeBinding
int
hashCode()
boolean
boolean
boolean
isArray()
boolean
isAssignmentCompatible
(org.eclipse.jdt.core.dom.ITypeBinding variableType) boolean
boolean
isCastCompatible
(org.eclipse.jdt.core.dom.ITypeBinding type) boolean
isClass()
boolean
boolean
isEnum()
boolean
isEqualTo
(org.eclipse.jdt.core.dom.IBinding binding) boolean
boolean
boolean
boolean
boolean
isLocal()
boolean
isMember()
boolean
isNested()
boolean
boolean
boolean
boolean
boolean
isRecord()
This overrides a method introduced in recent versions of theITypeBinding
interface to handle records.boolean
boolean
isSubTypeCompatible
(org.eclipse.jdt.core.dom.ITypeBinding type) boolean
boolean
boolean
boolean
boolean
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.eclipse.jdt.core.dom.IBinding
toString
Methods inherited from interface org.eclipse.jdt.core.dom.ITypeBinding
getModule
-
Field Details
-
arithmetic
-
nullPointer
-
classCast
-
noClassDef
-
initException
-
outOfMemory
-
-
Method Details
-
isAssignmentCompatible
public boolean isAssignmentCompatible(org.eclipse.jdt.core.dom.ITypeBinding variableType) - Specified by:
isAssignmentCompatible
in interfaceorg.eclipse.jdt.core.dom.ITypeBinding
-
equals
-
hashCode
public int hashCode() -
createArrayType
public org.eclipse.jdt.core.dom.ITypeBinding createArrayType(int dimension) - Specified by:
createArrayType
in interfaceorg.eclipse.jdt.core.dom.ITypeBinding
-
getBinaryName
- Specified by:
getBinaryName
in interfaceorg.eclipse.jdt.core.dom.ITypeBinding
-
getBound
public org.eclipse.jdt.core.dom.ITypeBinding getBound()- Specified by:
getBound
in interfaceorg.eclipse.jdt.core.dom.ITypeBinding
-
getComponentType
public org.eclipse.jdt.core.dom.ITypeBinding getComponentType()- Specified by:
getComponentType
in interfaceorg.eclipse.jdt.core.dom.ITypeBinding
-
getDeclaredFields
public org.eclipse.jdt.core.dom.IVariableBinding[] getDeclaredFields()- Specified by:
getDeclaredFields
in interfaceorg.eclipse.jdt.core.dom.ITypeBinding
-
getDeclaredMethods
public org.eclipse.jdt.core.dom.IMethodBinding[] getDeclaredMethods()- Specified by:
getDeclaredMethods
in interfaceorg.eclipse.jdt.core.dom.ITypeBinding
-
getDeclaredModifiers
public int getDeclaredModifiers()- Specified by:
getDeclaredModifiers
in interfaceorg.eclipse.jdt.core.dom.ITypeBinding
-
getDeclaredTypes
public org.eclipse.jdt.core.dom.ITypeBinding[] getDeclaredTypes()- Specified by:
getDeclaredTypes
in interfaceorg.eclipse.jdt.core.dom.ITypeBinding
-
getDeclaringClass
public org.eclipse.jdt.core.dom.ITypeBinding getDeclaringClass()- Specified by:
getDeclaringClass
in interfaceorg.eclipse.jdt.core.dom.ITypeBinding
-
getDeclaringMethod
public org.eclipse.jdt.core.dom.IMethodBinding getDeclaringMethod()- Specified by:
getDeclaringMethod
in interfaceorg.eclipse.jdt.core.dom.ITypeBinding
-
getDimensions
public int getDimensions()- Specified by:
getDimensions
in interfaceorg.eclipse.jdt.core.dom.ITypeBinding
-
getElementType
public org.eclipse.jdt.core.dom.ITypeBinding getElementType()- Specified by:
getElementType
in interfaceorg.eclipse.jdt.core.dom.ITypeBinding
-
getErasure
public org.eclipse.jdt.core.dom.ITypeBinding getErasure()- Specified by:
getErasure
in interfaceorg.eclipse.jdt.core.dom.ITypeBinding
-
getInterfaces
public org.eclipse.jdt.core.dom.ITypeBinding[] getInterfaces()- Specified by:
getInterfaces
in interfaceorg.eclipse.jdt.core.dom.ITypeBinding
-
getModifiers
public int getModifiers()- Specified by:
getModifiers
in interfaceorg.eclipse.jdt.core.dom.IBinding
- Specified by:
getModifiers
in interfaceorg.eclipse.jdt.core.dom.ITypeBinding
-
getName
- Specified by:
getName
in interfaceorg.eclipse.jdt.core.dom.IBinding
- Specified by:
getName
in interfaceorg.eclipse.jdt.core.dom.ITypeBinding
-
getPackage
public org.eclipse.jdt.core.dom.IPackageBinding getPackage()- Specified by:
getPackage
in interfaceorg.eclipse.jdt.core.dom.ITypeBinding
-
getQualifiedName
- Specified by:
getQualifiedName
in interfaceorg.eclipse.jdt.core.dom.ITypeBinding
-
getSuperclass
public org.eclipse.jdt.core.dom.ITypeBinding getSuperclass()- Specified by:
getSuperclass
in interfaceorg.eclipse.jdt.core.dom.ITypeBinding
-
getTypeArguments
public org.eclipse.jdt.core.dom.ITypeBinding[] getTypeArguments()- Specified by:
getTypeArguments
in interfaceorg.eclipse.jdt.core.dom.ITypeBinding
-
getTypeBounds
public org.eclipse.jdt.core.dom.ITypeBinding[] getTypeBounds()- Specified by:
getTypeBounds
in interfaceorg.eclipse.jdt.core.dom.ITypeBinding
-
getTypeDeclaration
public org.eclipse.jdt.core.dom.ITypeBinding getTypeDeclaration()- Specified by:
getTypeDeclaration
in interfaceorg.eclipse.jdt.core.dom.ITypeBinding
-
getTypeParameters
public org.eclipse.jdt.core.dom.ITypeBinding[] getTypeParameters()- Specified by:
getTypeParameters
in interfaceorg.eclipse.jdt.core.dom.ITypeBinding
-
getWildcard
public org.eclipse.jdt.core.dom.ITypeBinding getWildcard()- Specified by:
getWildcard
in interfaceorg.eclipse.jdt.core.dom.ITypeBinding
-
isAnnotation
public boolean isAnnotation()- Specified by:
isAnnotation
in interfaceorg.eclipse.jdt.core.dom.ITypeBinding
-
isAnonymous
public boolean isAnonymous()- Specified by:
isAnonymous
in interfaceorg.eclipse.jdt.core.dom.ITypeBinding
-
isArray
public boolean isArray()- Specified by:
isArray
in interfaceorg.eclipse.jdt.core.dom.ITypeBinding
-
isCapture
public boolean isCapture()- Specified by:
isCapture
in interfaceorg.eclipse.jdt.core.dom.ITypeBinding
-
isCastCompatible
public boolean isCastCompatible(org.eclipse.jdt.core.dom.ITypeBinding type) - Specified by:
isCastCompatible
in interfaceorg.eclipse.jdt.core.dom.ITypeBinding
-
isClass
public boolean isClass()- Specified by:
isClass
in interfaceorg.eclipse.jdt.core.dom.ITypeBinding
-
isEnum
public boolean isEnum()- Specified by:
isEnum
in interfaceorg.eclipse.jdt.core.dom.ITypeBinding
-
isRecord
public boolean isRecord()This overrides a method introduced in recent versions of theITypeBinding
interface to handle records. We omit the@Override
annotation to allow building against earlier versions oforg.eclipse.jdt.core
, whereITypeBinding
does not contain this method.- Specified by:
isRecord
in interfaceorg.eclipse.jdt.core.dom.ITypeBinding
-
isFromSource
public boolean isFromSource()- Specified by:
isFromSource
in interfaceorg.eclipse.jdt.core.dom.ITypeBinding
-
isGenericType
public boolean isGenericType()- Specified by:
isGenericType
in interfaceorg.eclipse.jdt.core.dom.ITypeBinding
-
isInterface
public boolean isInterface()- Specified by:
isInterface
in interfaceorg.eclipse.jdt.core.dom.ITypeBinding
-
isIntersectionType
public boolean isIntersectionType()- Specified by:
isIntersectionType
in interfaceorg.eclipse.jdt.core.dom.ITypeBinding
-
isLocal
public boolean isLocal()- Specified by:
isLocal
in interfaceorg.eclipse.jdt.core.dom.ITypeBinding
-
isMember
public boolean isMember()- Specified by:
isMember
in interfaceorg.eclipse.jdt.core.dom.ITypeBinding
-
isNested
public boolean isNested()- Specified by:
isNested
in interfaceorg.eclipse.jdt.core.dom.ITypeBinding
-
isNullType
public boolean isNullType()- Specified by:
isNullType
in interfaceorg.eclipse.jdt.core.dom.ITypeBinding
-
isParameterizedType
public boolean isParameterizedType()- Specified by:
isParameterizedType
in interfaceorg.eclipse.jdt.core.dom.ITypeBinding
-
isPrimitive
public boolean isPrimitive()- Specified by:
isPrimitive
in interfaceorg.eclipse.jdt.core.dom.ITypeBinding
-
isRawType
public boolean isRawType()- Specified by:
isRawType
in interfaceorg.eclipse.jdt.core.dom.ITypeBinding
-
isSubTypeCompatible
public boolean isSubTypeCompatible(org.eclipse.jdt.core.dom.ITypeBinding type) - Specified by:
isSubTypeCompatible
in interfaceorg.eclipse.jdt.core.dom.ITypeBinding
-
isTopLevel
public boolean isTopLevel()- Specified by:
isTopLevel
in interfaceorg.eclipse.jdt.core.dom.ITypeBinding
-
isTypeVariable
public boolean isTypeVariable()- Specified by:
isTypeVariable
in interfaceorg.eclipse.jdt.core.dom.ITypeBinding
-
isUpperbound
public boolean isUpperbound()- Specified by:
isUpperbound
in interfaceorg.eclipse.jdt.core.dom.ITypeBinding
-
isWildcardType
public boolean isWildcardType()- Specified by:
isWildcardType
in interfaceorg.eclipse.jdt.core.dom.ITypeBinding
-
getAnnotations
public org.eclipse.jdt.core.dom.IAnnotationBinding[] getAnnotations()- Specified by:
getAnnotations
in interfaceorg.eclipse.jdt.core.dom.IBinding
-
getJavaElement
public org.eclipse.jdt.core.IJavaElement getJavaElement()- Specified by:
getJavaElement
in interfaceorg.eclipse.jdt.core.dom.IBinding
-
getKey
- Specified by:
getKey
in interfaceorg.eclipse.jdt.core.dom.IBinding
-
getKind
public int getKind()- Specified by:
getKind
in interfaceorg.eclipse.jdt.core.dom.IBinding
-
isDeprecated
public boolean isDeprecated()- Specified by:
isDeprecated
in interfaceorg.eclipse.jdt.core.dom.IBinding
-
isEqualTo
public boolean isEqualTo(org.eclipse.jdt.core.dom.IBinding binding) - Specified by:
isEqualTo
in interfaceorg.eclipse.jdt.core.dom.IBinding
-
isRecovered
public boolean isRecovered()- Specified by:
isRecovered
in interfaceorg.eclipse.jdt.core.dom.IBinding
-
isSynthetic
public boolean isSynthetic()- Specified by:
isSynthetic
in interfaceorg.eclipse.jdt.core.dom.IBinding
-
getGenericTypeOfWildcardType
public org.eclipse.jdt.core.dom.ITypeBinding getGenericTypeOfWildcardType()- Specified by:
getGenericTypeOfWildcardType
in interfaceorg.eclipse.jdt.core.dom.ITypeBinding
-
getRank
public int getRank()- Specified by:
getRank
in interfaceorg.eclipse.jdt.core.dom.ITypeBinding
-
getFunctionalInterfaceMethod
public org.eclipse.jdt.core.dom.IMethodBinding getFunctionalInterfaceMethod()- Specified by:
getFunctionalInterfaceMethod
in interfaceorg.eclipse.jdt.core.dom.ITypeBinding
-
getTypeAnnotations
public org.eclipse.jdt.core.dom.IAnnotationBinding[] getTypeAnnotations()- Specified by:
getTypeAnnotations
in interfaceorg.eclipse.jdt.core.dom.ITypeBinding
-
getDeclaringMember
public org.eclipse.jdt.core.dom.IBinding getDeclaringMember()- Specified by:
getDeclaringMember
in interfaceorg.eclipse.jdt.core.dom.ITypeBinding
-