Package edu.umd.cs.findbugs.detect
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
private static class FindRefComparison.RefComparisonTypeMerger extends StandardTypeMerger
Type merger to use the extended String types.
-
-
Field Summary
-
Fields inherited from interface edu.umd.cs.findbugs.ba.type.ExtendedTypes
T_AVAIL_TYPE, T_BOTTOM, T_DOUBLE_EXTRA, T_EXCEPTION, T_LONG_EXTRA, T_NULL, T_TOP
-
-
Constructor Summary
Constructors Constructor Description RefComparisonTypeMerger(RepositoryLookupFailureCallback lookupFailureCallback, ExceptionSetFactory exceptionSetFactory)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private 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 edu.umd.cs.findbugs.ba.type.StandardTypeMerger
isIntegerType, isObjectType, mergeTypes
-
-
-
-
Constructor Detail
-
RefComparisonTypeMerger
public RefComparisonTypeMerger(RepositoryLookupFailureCallback lookupFailureCallback, ExceptionSetFactory exceptionSetFactory)
-
-
Method Detail
-
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 DataflowAnalysisExceptionDescription 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)
-
-