Class FieldStmt<L extends LValue,R extends RValue>

All Implemented Interfaces:
Serializable, Stmt, Indexable
Direct Known Subclasses:
LoadField, StoreField

public abstract class FieldStmt<L extends LValue,R extends RValue> extends AssignStmt<L,R>
Load/Store field statements.
See Also:
  • Field Details

    • index

      protected int index
    • lineNumber

      protected int lineNumber
  • Method Details

    • getFieldAccess

      public abstract FieldAccess getFieldAccess()
    • getFieldRef

      public FieldRef getFieldRef()
    • isStatic

      public boolean isStatic()
    • getIndex

      public int getIndex()
      Specified by:
      getIndex in interface Indexable
      Specified by:
      getIndex in interface Stmt
      Returns:
      the index of this Stmt in the container IR.
    • setIndex

      public void setIndex(int index)
      Specified by:
      setIndex in interface Stmt
    • getLineNumber

      public int getLineNumber()
      Specified by:
      getLineNumber in interface Stmt
      Returns:
      the line number of this Stmt in the original source file. If the line number is unavailable, return -1.
    • setLineNumber

      public void setLineNumber(int lineNumber)
      Specified by:
      setLineNumber in interface Stmt
    • canFallThrough

      public boolean canFallThrough()
      Specified by:
      canFallThrough in interface Stmt
      Returns:
      true if execution after this statement could continue at the following statement, otherwise false.