Class

org.opalj.tac

FieldRead

Related Doc: package tac

Permalink

abstract class FieldRead[+V <: Var[V]] extends Expr[V]

Linear Supertypes
Expr[V], ASTNode[V], AnyRef, Any
Known Subclasses
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. FieldRead
  2. Expr
  3. ASTNode
  4. AnyRef
  5. Any
Implicitly
  1. by any2stringadd
  2. by StringFormat
  3. by Ensuring
  4. by ArrowAssoc
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new FieldRead()

    Permalink

Abstract Value Members

  1. abstract def astID: Int

    Permalink

    Each type of node is assigned a different id to make it easily possible to do a switch over all nodes.

    Each type of node is assigned a different id to make it easily possible to do a switch over all nodes.

    Definition Classes
    ASTNode
  2. abstract def declaredFieldType: FieldType

    Permalink
  3. abstract def isSideEffectFree: Boolean

    Permalink

    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
    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.

  4. abstract def subExpr(index: Int): Expr[V]

    Permalink

    Returns the sub expression with the given index; if the index is wrong the result is undefined!

    Returns the sub expression with the given index; if the index is wrong the result is undefined!

    Definition Classes
    Expr
  5. abstract def subExprCount: Int

    Permalink

    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.

    Definition Classes
    Expr
    Note

    Transitive dependencies are not counted.

Concrete Value Members

  1. final def !=(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  3. def +(other: String): String

    Permalink
    Implicit information
    This member is added by an implicit conversion from FieldRead[V] to any2stringadd[FieldRead[V]] performed by method any2stringadd in scala.Predef.
    Definition Classes
    any2stringadd
  4. def ->[B](y: B): (FieldRead[V], B)

    Permalink
    Implicit information
    This member is added by an implicit conversion from FieldRead[V] to ArrowAssoc[FieldRead[V]] performed by method ArrowAssoc in scala.Predef.
    Definition Classes
    ArrowAssoc
    Annotations
    @inline()
  5. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  6. def asArrayLength: ArrayLength[V]

    Permalink
    Definition Classes
    Expr
  7. def asArrayLoad: ArrayLoad[V]

    Permalink
    Definition Classes
    Expr
  8. def asBinaryExpr: BinaryExpr[V]

    Permalink
    Definition Classes
    Expr
  9. def asCaughtException: CaughtException[V]

    Permalink
    Definition Classes
    Expr
  10. def asClassConst: ClassConst

    Permalink
    Definition Classes
    Expr
  11. def asCompare: Compare[V]

    Permalink
    Definition Classes
    Expr
  12. def asDoubleConst: DoubleConst

    Permalink
    Definition Classes
    Expr
  13. def asFloatConst: FloatConst

    Permalink
    Definition Classes
    Expr
  14. def asGetField: GetField[V]

    Permalink
    Definition Classes
    Expr
  15. def asGetStatic: GetStatic

    Permalink
    Definition Classes
    Expr
  16. def asInstanceOf: InstanceOf[V]

    Permalink
    Definition Classes
    Expr
  17. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  18. def asIntConst: IntConst

    Permalink
    Definition Classes
    Expr
  19. def asInvokedynamic: Invokedynamic[V]

    Permalink
    Definition Classes
    Expr
  20. def asLongConst: LongConst

    Permalink
    Definition Classes
    Expr
  21. def asMethodHandleConst: MethodHandleConst

    Permalink
    Definition Classes
    Expr
  22. def asMethodTypeConst: MethodTypeConst

    Permalink
    Definition Classes
    Expr
  23. def asNew: New

    Permalink
    Definition Classes
    Expr
  24. def asNewArray: NewArray[V]

    Permalink
    Definition Classes
    Expr
  25. def asNonVirtualFunctionCall: NonVirtualFunctionCall[V]

    Permalink
    Definition Classes
    Expr
  26. def asNullExpr: NullExpr

    Permalink
    Definition Classes
    Expr
  27. def asParam: Param

    Permalink
    Definition Classes
    Expr
  28. def asPrefixExpr: PrefixExpr[V]

    Permalink
    Definition Classes
    Expr
  29. def asPrimitiveTypeCastExpr: PrimitiveTypecastExpr[V]

    Permalink
    Definition Classes
    Expr
  30. def asStaticFunctionCall: StaticFunctionCall[V]

    Permalink
    Definition Classes
    Expr
  31. def asStringConst: StringConst

    Permalink
    Definition Classes
    Expr
  32. def asVar: V

    Permalink
    Definition Classes
    Expr
  33. def asVirtualFunctionCall: VirtualFunctionCall[V]

    Permalink
    Definition Classes
    Expr
  34. final def cTpe: ComputationalType

    Permalink

    The computational type of the underlying value.

    The computational type of the underlying value.

    I.e., an approximation of the type of the underlying value. It is the best type information directly available. The precision of the type information depends on the number of pre-/post-processing steps that are done.

    Definition Classes
    FieldReadExpr
  35. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  36. def ensuring(cond: (FieldRead[V]) ⇒ Boolean, msg: ⇒ Any): FieldRead[V]

    Permalink
    Implicit information
    This member is added by an implicit conversion from FieldRead[V] to Ensuring[FieldRead[V]] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  37. def ensuring(cond: (FieldRead[V]) ⇒ Boolean): FieldRead[V]

    Permalink
    Implicit information
    This member is added by an implicit conversion from FieldRead[V] to Ensuring[FieldRead[V]] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  38. def ensuring(cond: Boolean, msg: ⇒ Any): FieldRead[V]

    Permalink
    Implicit information
    This member is added by an implicit conversion from FieldRead[V] to Ensuring[FieldRead[V]] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  39. def ensuring(cond: Boolean): FieldRead[V]

    Permalink
    Implicit information
    This member is added by an implicit conversion from FieldRead[V] to Ensuring[FieldRead[V]] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  40. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  41. def equals(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  42. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  43. def formatted(fmtstr: String): String

    Permalink
    Implicit information
    This member is added by an implicit conversion from FieldRead[V] to StringFormat[FieldRead[V]] performed by method StringFormat in scala.Predef.
    Definition Classes
    StringFormat
    Annotations
    @inline()
  44. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  45. def hashCode(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  46. def isClassConst: Boolean

    Permalink
    Definition Classes
    Expr
  47. def isDoubleConst: Boolean

    Permalink
    Definition Classes
    Expr
  48. def isFloatConst: Boolean

    Permalink
    Definition Classes
    Expr
  49. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  50. def isIntConst: Boolean

    Permalink
    Definition Classes
    Expr
  51. def isLongConst: Boolean

    Permalink
    Definition Classes
    Expr
  52. def isNullExpr: Boolean

    Permalink
    Definition Classes
    Expr
  53. def isStringConst: Boolean

    Permalink
    Definition Classes
    Expr
  54. final def isValueExpression: Boolean

    Permalink

    true if this expression is a Var.

    true if this expression is a Var.

    Definition Classes
    FieldReadExpr
  55. final def isVar: Boolean

    Permalink
    Definition Classes
    FieldReadExpr
  56. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  57. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  58. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  59. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  60. def toString(): String

    Permalink
    Definition Classes
    AnyRef → Any
  61. final def wait(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  62. final def wait(arg0: Long, arg1: Int): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  63. final def wait(arg0: Long): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  64. def [B](y: B): (FieldRead[V], B)

    Permalink
    Implicit information
    This member is added by an implicit conversion from FieldRead[V] to ArrowAssoc[FieldRead[V]] performed by method ArrowAssoc in scala.Predef.
    Definition Classes
    ArrowAssoc

Inherited from Expr[V]

Inherited from ASTNode[V]

Inherited from AnyRef

Inherited from Any

Inherited by implicit conversion any2stringadd from FieldRead[V] to any2stringadd[FieldRead[V]]

Inherited by implicit conversion StringFormat from FieldRead[V] to StringFormat[FieldRead[V]]

Inherited by implicit conversion Ensuring from FieldRead[V] to Ensuring[FieldRead[V]]

Inherited by implicit conversion ArrowAssoc from FieldRead[V] to ArrowAssoc[FieldRead[V]]

Ungrouped