case class NullExpr(pc: PC) extends SimpleValueConst with Product with Serializable
- Source
- Expr.scala
- Alphabetic
- By Inheritance
- NullExpr
- Serializable
- Product
- Equals
- SimpleValueConst
- Const
- NoVariableExpr
- ValueExpr
- Expr
- ASTNode
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- def asArrayLength: ArrayLength[Nothing]
- Definition Classes
- Expr
- def asArrayLoad: ArrayLoad[Nothing]
- Definition Classes
- Expr
- def asBinaryExpr: BinaryExpr[Nothing]
- Definition Classes
- Expr
- def asClassConst: ClassConst
- Definition Classes
- Expr
- def asCompare: Compare[Nothing]
- Definition Classes
- Expr
- def asDoubleConst: DoubleConst
- Definition Classes
- Expr
- def asDynamicConst: DynamicConst
- Definition Classes
- Expr
- def asFieldRead: FieldRead[Nothing]
- Definition Classes
- Expr
- def asFloatConst: FloatConst
- Definition Classes
- Expr
- def asFunctionCall: FunctionCall[Nothing]
- Definition Classes
- Expr
- def asGetField: GetField[Nothing]
- Definition Classes
- Expr
- def asGetStatic: GetStatic
- Definition Classes
- Expr
- def asInstanceFunctionCall: InstanceFunctionCall[Nothing]
- Definition Classes
- Expr
- def asInstanceOf: InstanceOf[Nothing]
- Definition Classes
- Expr
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def asIntConst: IntConst
- Definition Classes
- Expr
- def asInvokedynamicFunctionCall: InvokedynamicFunctionCall[Nothing]
- Definition Classes
- Expr
- def asLongConst: LongConst
- Definition Classes
- Expr
- def asMethodHandleConst: MethodHandleConst
- Definition Classes
- Expr
- def asMethodTypeConst: MethodTypeConst
- Definition Classes
- Expr
- def asNew: New
- Definition Classes
- Expr
- def asNewArray: NewArray[Nothing]
- Definition Classes
- Expr
- def asNonVirtualFunctionCall: NonVirtualFunctionCall[Nothing]
- Definition Classes
- Expr
- final def asNullExpr: NullExpr.this.type
- def asParam: Param
- Definition Classes
- Expr
- def asPrefixExpr: PrefixExpr[Nothing]
- Definition Classes
- Expr
- def asPrimitiveTypeCastExpr: PrimitiveTypecastExpr[Nothing]
- Definition Classes
- Expr
- def asStaticFunctionCall: StaticFunctionCall[Nothing]
- Definition Classes
- Expr
- def asStringConst: StringConst
- Definition Classes
- Expr
- def asVar: Nothing
- Definition Classes
- Expr
- def asVirtualFunctionCall: VirtualFunctionCall[Nothing]
- Definition Classes
- Expr
- final def astID: Int
Each type of node is assigned a different
id
to make it easily possible to do a switch over all nodes. - final def cTpe: ComputationalType
The computational type of the underlying value.
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native() @IntrinsicCandidate()
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def forallSubExpressions[W >: Nothing <: Var[W]](p: (Expr[W]) => Boolean): Boolean
Returns
true
if the given predicate evaluates totrue
for all direct subexpressions of this expression; if the evaluation should perform a recursive decent then it needs to be done by the predicate! - final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @IntrinsicCandidate()
- def isArrayLoad: Boolean
- Definition Classes
- Expr
- def isClassConst: Boolean
- Definition Classes
- Expr
- def isCompare: Boolean
- Definition Classes
- Expr
- final def isConst: Boolean
- def isDoubleConst: Boolean
- Definition Classes
- Expr
- def isDynamicConst: Boolean
- Definition Classes
- Expr
- def isFieldRead: Boolean
- Definition Classes
- Expr
- def isFloatConst: Boolean
- Definition Classes
- Expr
- def isFunctionCall: Boolean
- Definition Classes
- Expr
- def isGetField: Boolean
- Definition Classes
- Expr
- def isGetStatic: Boolean
- Definition Classes
- Expr
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- def isIntConst: Boolean
- Definition Classes
- Expr
- def isLongConst: Boolean
- Definition Classes
- Expr
- def isMethodHandleConst: Boolean
- Definition Classes
- Expr
- def isMethodTypeConst: Boolean
- Definition Classes
- Expr
- def isNew: Boolean
- Definition Classes
- Expr
- def isNewArray: Boolean
- Definition Classes
- Expr
- final def isNullExpr: Boolean
- final def isSideEffectFree: Boolean
true
if the statement/expression is GUARANTEED to have no externally observable effect if it is not executed.true
if the statement/expression is GUARANTEED to have no externally observable effect if it is not executed. Sideeffect free instructions can be removed if the result of the evaluation of the expression/statement is not used. For those instructions, which may result in an exception, it has to be guaranteed that the exception is NEVER thrown. For example, a div instruction is sideeffect free if it is (statically) known that the divisor is always not equal to zero; otherwise, even if the result value is not used, the expression is not (potentially) side effect free. An array load is only side effect free if the array reference is non-null and if the index is valid.- returns
true
if the expression is GUARENTEED to have no side effect other than wasting some CPU cycles if it is not executed.
- Definition Classes
- Const → ASTNode
- Note
Deeply nested expressions are not supported; i.e. an expression's sub-expressions have to be Var or Const expressions. Generally, a statements expressions have to to simple expressions too - except of the Assignment statement; in the latter case the right-expression can have references to simple expressions. Hence, in case of Assignment statements the side-effect freenes is determined by the referenced expression; in all other cases the side-effect freeness is determined directly by the statement/expression.
- def isStaticFunctionCall: Boolean
- Definition Classes
- Expr
- def isStringConst: Boolean
- Definition Classes
- Expr
- final def isValueExpression: Boolean
true
if this expression is a Var. - final def isVar: Boolean
- def isVirtualFunctionCall: Boolean
- Definition Classes
- Expr
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @IntrinsicCandidate()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @IntrinsicCandidate()
- val pc: PC
- def productElementNames: Iterator[String]
- Definition Classes
- Product
- final def subExpr(index: Int): Expr[Nothing]
Returns the sub expression with the given index; if the index is wrong the result is undefined!
- final def subExprCount: Int
The number of sub expression directly referenced by this expression.
The number of sub expression directly referenced by this expression. A unary expression has one sub expression (the operand), a binary expression has two and a method has as many as explicit and implicit (
this
) parameters exist. - final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- final def toCanonicalForm(implicit ev: <:<[Nothing, DUVar[ValueInformation]]): Expr[DUVar[ValueInformation]]
See org.opalj.value.ValueInformation.toCanonicalForm for detail.
See org.opalj.value.ValueInformation.toCanonicalForm for detail.
- Definition Classes
- NoVariableExpr → Expr → ASTNode
- def toString(): String
- Definition Classes
- NullExpr → AnyRef → Any
- final def tpe: Type
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
Deprecated Value Members
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable]) @Deprecated
- Deprecated