Package pascal.taie.ir.stmt


package pascal.taie.ir.stmt
  • Class
    Description
    Representation of statement that assigns literals, e.g., a = 10.
    AssignStmt<L extends LValue,R extends RValue>
    Representation of assign statements.
    Representation of assign statement for binary expression, e.g., a = b + c.
    Representation of cast statement, e.g., a = (T) b.
    Representation of catch exception, e.g., catch (e).
    Representation of copy statement, e.g., a = b.
    DefinitionStmt<L extends LValue,R extends RValue>
    Representation of all definition statements, i.e., exp1 = exp2.
    FieldStmt<L extends LValue,R extends RValue>
    Load/Store field statements.
    Representation of goto statement, e.g., goto L.
    Representation of if statement, e.g., if a == b goto S;
    Representation of instanceof statement, e.g., a = (b instanceof T).
    Representation of invocation statement, e.g., r = o.m(...) or o.m(...).
     
    Representation of load array statement, e.g., x = a[..].
    Representation of following load field statements: load instance field: x = o.f load static field: x = T.f
     
    Representation of monitorenter/monitorexit instruction.
     
    Representation of following kinds of new statements: new instance: o = new T new array: o = new T[..] new multi-array: o = new T[..][..]
    Representation of nop statement which does nothing.
    Representation of return statement, e.g., return; or return x.
    Representation of statements in Tai-e IR.
    Stmt visitor which may return a result after the visit.
    Representation of store array statement, e.g., a[..] = x.
    Representation of following store field statements: store instance field: o.f = x store static field: T.f = x
    Representation of switch statement, e.g., switch (v) { case 1: ...
     
    Representation of throw exception statement, e.g., throw e.
    Representation of following kinds of unary assign statements: negation: x = -y array length: x = arr.length