package l1
- Alphabetic
- By Inheritance
- l1
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Type Members
- case class RefinedReturnType(method: Method, refinedType: Option[Domain.DomainValue]) extends Product with Serializable
Value Members
- def constructorCallForNewReferenceValueWithOrigin(code: Code, receiverOriginPC: Int, domain: ReferenceValues)(operandsArray: l1.ReferenceValues.OperandsArray): Seq[Int]
-
object
IfNullParameterAnalysis extends DefaultOneStepAnalysis
A very basic analysis that determines the behavior of a method if a parameter is potentially
nullcompared to a call of the method where the parameter is guaranteed to be non-null.A very basic analysis that determines the behavior of a method if a parameter is potentially
nullcompared to a call of the method where the parameter is guaranteed to be non-null.Note that the difference may not just manifest in the number of thrown exceptions. E.g., consider the following code from
javax.imageio.ImageIO:public static Iterator<ImageReader> getImageReadersBySuffix(String fileSuffix) { if (fileSuffix == null) { throw new IllegalArgumentException("fileSuffix == null!"); } // Ensure category is present ...
Here, the difference is that an
IllegalArgumentExceptionis thrown. The reported result is:Map(13 -> Set(java.lang.IllegalArgumentException(origin=4)))and states that the instruction with the program counter 13 (thethrowinstruction) throws the exception created by program counter 4 (thenew Illegal...expression). -
object
MethodReturnValuesAnalysis extends DefaultOneStepAnalysis
A shallow analysis that tries to refine the return types of methods.
-
object
OwnershipAnalysis extends DefaultOneStepAnalysis
Find methods that return an internal (private) array to callers of the class.
-
object
SimpleDefUseAnalysis extends DefaultOneStepAnalysis
Simple analysis that takes the "unused"-Node from the def-use graph and returns all its children, that is definitions and assignments that are not used again locally.