Packages

package ai

Linear Supertypes
AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. ai
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Type Members

  1. final type ALocalsArray[T >: Null <: DomainValue] = Array[Locals[T]]
  2. final type AnOperandsArray[T >: Null <: DomainValue] = Array[Operands[T]]
  3. case class ExceptionUsage(method: Method, definitionSite: PC, exceptionType: String, usageInformation: Set[UsageKind.Value]) extends Ordered[ExceptionUsage] with Product with Serializable
  4. class ExceptionUsageAnalysisDomain extends CorrelationalDomain with DefaultDomainValueBinding with TypeLevelPrimitiveValuesConversions with DefaultTypeLevelFloatValues with DefaultTypeLevelDoubleValues with DefaultTypeLevelLongValues with TypeLevelLongValuesShiftOperators with DefaultTypeLevelIntegerValues with TypeLevelFieldAccessInstructions with TypeLevelInvokeInstructions with DefaultReferenceValuesBinding with DefaultHandlingOfMethodResults with IgnoreSynchronization with TheProject with TheMethod
  5. final type ExceptionsRaisedByCalledMethod = ai.ExceptionsRaisedByCalledMethods.Value
  6. case class InfiniteRecursion(method: Method, operands: Chain[_ <: AnyRef]) extends Product with Serializable
  7. class InfiniteRecursionsDomain extends Domain with DefaultDomainValueBinding with ThrowAllPotentialExceptionsConfiguration with DefaultTypeLevelFloatValues with DefaultTypeLevelDoubleValues with TypeLevelFieldAccessInstructions with TypeLevelInvokeInstructions with DefaultReferenceValuesBinding with DefaultIntegerRangeValues with MaxArrayLengthRefinement with DefaultLongSetValues with LongSetValuesShiftOperators with ConcretePrimitiveValuesConversions with DefaultHandlingOfMethodResults with IgnoreSynchronization with TheProject with TheMethod
  8. final type Locals[T >: Null <: DomainValue] = collection.mutable.Locals[T]
  9. final type Operands[T >: Null <: DomainValue] = Chain[T]
  10. final type PCs = IntTrieSet
  11. type PrimitiveValuesFactory = IntegerValuesFactory with LongValuesFactory with FloatValuesFactory with DoubleValuesFactory
  12. type SomeAI[D <: Domain] = AI[_ >: D]
  13. type TargetDomain = ValuesDomain with ValuesFactory
  14. final type TheLocalsArray[T >: Null <: ai.TheLocalsArray.T.d.type.Locals forSome {val d: ValuesDomain}] = Array[T]
  15. final type TheOperandsArray[T >: Null <: ai.TheOperandsArray.T.d.type.Operands forSome {val d: ValuesDomain}] = Array[T]
  16. case class UselessComputation(method: Method, pc: Int, message: String) extends Product with Serializable
  17. type ValueOrigin = Int
  18. final type ValueOrigins = IntTrieSet
  19. final type ValueOriginsIterator = IntIterator
  20. type ValuesFactory = PrimitiveValuesFactory with ReferenceValuesFactory with ExceptionsFactory with TypedValuesFactory

Value Members

  1. val BaseConfig: Config
  2. final val ConstantValueOrigin: Int(-333)
  3. final val FrameworkName: String("OPAL Abstract Interpretation Framework")
  4. final val ImmediateVMExceptionsOriginOffset: Int(-100000)
  5. final val MethodExternalExceptionsOriginOffset: Int(-1000000)
  6. final def NoPCs: IntTrieSet
  7. final def NoValueOrigins: ValueOrigins
    Annotations
    @inline()
  8. final val SUBROUTINE: Int(-900000009)
  9. final val SUBROUTINE_END: Int(-888888888)
  10. final val SUBROUTINE_INFORMATION_BLOCK_SEPARATOR_BOUND: Int(-800000000)
  11. final val SUBROUTINE_RETURN_ADDRESS_LOCAL_VARIABLE: Int(-888880008)
  12. final val SUBROUTINE_RETURN_TO_TARGET: Int(-800008888)
  13. final val SUBROUTINE_START: Int(-800000008)
  14. final val SpecialValuesOriginOffset: Int(-800000000)
  15. final def ValueOriginForImmediateVMException(pc: Int): Int
  16. final def ValueOriginForMethodExternalException(pc: Int): Int
  17. def collectPCWithOperands[B](domain: ValuesDomain)(code: Code, operandsArray: OperandsArray)(f: PartialFunction[(Int, Instruction, ai.ValuesDomain.Operands), B]): Seq[B]
  18. def foreachPCWithOperands[U](domain: ValuesDomain)(code: Code, operandsArray: OperandsArray)(f: (Int, Instruction, ai.ValuesDomain.Operands) ⇒ U): Unit
  19. final def isImmediateVMException(origin: ValueOrigin): Boolean
  20. final def isImplicitOrExternalException(valueOrigin: Int): Boolean
  21. final def isMethodExternalExceptionOrigin(origin: ValueOrigin): Boolean
  22. def mapOperands(theOperands: Operands[_ <: DomainValue], targetDomain: ValuesDomain with ValuesFactory): Array[(targetDomain)#DomainValue]
  23. def mapOperandsToParameters(operands: Operands[_ <: DomainValue], calledMethod: Method, targetDomain: ValuesDomain with ValuesFactory): Locals[(targetDomain)#DomainValue]
  24. def memoryLayoutToText(domain: Domain)(operandsArray: ai.Domain.OperandsArray, localsArray: ai.Domain.LocalsArray): String
  25. def parameterIndexToValueOrigin(isStatic: Boolean, descriptor: MethodDescriptor, parameterIndex: Int): Int
  26. def parameterVariables(aiResult: AIResult)(isStatic: Boolean, descriptor: MethodDescriptor): Array[ai.Domain.DomainValue]
  27. def parameterVariablesIterator(aiResult: AIResult)(isStatic: Boolean, descriptor: MethodDescriptor): Iterator[ai.Domain.DomainValue]
  28. final def pcOfImmediateVMException(valueOrigin: Int): Int
  29. final def pcOfMethodExternalException(valueOrigin: Int): Int
  30. final def remapPC(pcToIndex: Array[Int])(oldValueOrigin: Int): Int
  31. final def underlyingPC(valueOrigin: Int): ValueOrigin
  32. object CipherGetInstanceStringUsage extends DefaultOneStepAnalysis

    The analysis demonstrates how to find values passed to Chipher.getInstance:

    The analysis demonstrates how to find values passed to Chipher.getInstance:

    static Chipher getInstance(String transformation)
    static Cipher  getInstance(String transformation, Provider provider)
    static Cipher  getInstance(String transformation, String provider)
  33. object ExceptionUsage extends DefaultOneStepAnalysis with Serializable

    Analyses the usage of exceptions in a program.

  34. object InfiniteRecursions extends DefaultOneStepAnalysis

    An analysis that finds self-recursive calls with unchanged parameters.

  35. object MethodCallInformation extends DefaultOneStepAnalysis

    Analyzes the parameters of called methods to determine if we have more precise type information for one of the parameters.

  36. object MethodsThatAlwaysReturnAPassedParameter extends DefaultOneStepAnalysis

    A very small analysis that identifies those methods that always return a value that was passed as a parameter to the method; the self reference this is also treated as a(n implicit) parameter.

  37. object UsageKind extends Enumeration
  38. object UselessComputations extends DefaultOneStepAnalysis

    A shallow analysis that identifies useless computations.

  39. object UselessComputationsMinimal extends DefaultOneStepAnalysis

    A shallow analysis that tries to identify useless computations; here, "ifs" where the condition is constant.

Inherited from AnyRef

Inherited from Any

Ungrouped