Class FindRefComparison.RefComparisonTypeMerger
java.lang.Object
edu.umd.cs.findbugs.ba.type.StandardTypeMerger
edu.umd.cs.findbugs.detect.FindRefComparison.RefComparisonTypeMerger
- All Implemented Interfaces:
ExtendedTypes, TypeMerger
- Enclosing class:
FindRefComparison
Type merger to use the extended String types.
-
Field Summary
Fields inherited from interface ExtendedTypes
T_AVAIL_TYPE, T_BOTTOM, T_DOUBLE_EXTRA, T_EXCEPTION, T_LONG_EXTRA, T_NULL, T_TOP -
Constructor Summary
ConstructorsConstructorDescriptionRefComparisonTypeMerger(RepositoryLookupFailureCallback lookupFailureCallback, ExceptionSetFactory exceptionSetFactory) -
Method Summary
Modifier and TypeMethodDescriptionprivate booleanisExtendedStringType(byte type) protected booleanisReferenceType(byte type) Determine if the given typecode refers to a reference type.protected org.apache.bcel.generic.ReferenceTypemergeReferenceTypes(org.apache.bcel.generic.ReferenceType aRef, org.apache.bcel.generic.ReferenceType bRef) Default implementation of merging reference types.Methods inherited from class StandardTypeMerger
isIntegerType, isObjectType, mergeTypes
-
Constructor Details
-
RefComparisonTypeMerger
public RefComparisonTypeMerger(RepositoryLookupFailureCallback lookupFailureCallback, ExceptionSetFactory exceptionSetFactory)
-
-
Method Details
-
isReferenceType
protected boolean isReferenceType(byte type) Description copied from class:StandardTypeMergerDetermine if the given typecode refers to a reference type. This implementation just checks that the type code is T_OBJECT, T_ARRAY, T_NULL, or T_EXCEPTION. Subclasses should override this if they have defined new object types with different type codes.- Overrides:
isReferenceTypein classStandardTypeMerger
-
mergeReferenceTypes
protected org.apache.bcel.generic.ReferenceType mergeReferenceTypes(org.apache.bcel.generic.ReferenceType aRef, org.apache.bcel.generic.ReferenceType bRef) throws DataflowAnalysisException Description copied from class:StandardTypeMergerDefault implementation of merging reference types. This just returns the first common superclass, which is compliant with the JVM Spec. Subclasses may override this method in order to implement extended type rules.- Overrides:
mergeReferenceTypesin classStandardTypeMerger- Parameters:
aRef- a ReferenceTypebRef- a ReferenceType- Returns:
- the merged Type
- Throws:
DataflowAnalysisException
-
isExtendedStringType
private boolean isExtendedStringType(byte type)
-