edu.nyu.cascade.ir
Interface IRStatement

All Known Implementing Classes:
Statement

public interface IRStatement


Nested Class Summary
static class IRStatement.StatementType
          Enumeration of all allowed IR nodes.
 
Method Summary
 void addPostLabel(String label)
           
 void addPostLabels(Iterable<String> labels)
           
 void addPreLabel(String label)
           
 void addPreLabels(Iterable<String> labels)
           
<Bool> Bool
getBooleanOperand(ExpressionInterpreter<?,Bool,?> interp, int i)
           
 IRLocation getLocation()
           
<Expr> Expr
getOperand(ExpressionInterpreter<Expr,?,?> interp, int i)
           
<Expr> List<Expr>
getOperands(ExpressionInterpreter<Expr,?,?> interp)
           
<Path> Path
getPostCondition(PathFactory<?,?,Path> factory, Path precondition)
          Get the strongest post-condition of the statement, using the given expression factory, given a pre-condition.
 ImmutableSet<String> getPostLabels()
           
<Bool> Bool
getPreCondition(ExpressionInterpreter<?,Bool,?> interp)
          Get the pre-condition guaranteeing the statement won't fail, using the given expression factory.
 ImmutableSet<String> getPreLabels()
           
 Node getSourceNode()
           
 IRStatement.StatementType getType()
           
 

Method Detail

addPreLabel

void addPreLabel(String label)

addPreLabels

void addPreLabels(Iterable<String> labels)

addPostLabel

void addPostLabel(String label)

addPostLabels

void addPostLabels(Iterable<String> labels)

getSourceNode

Node getSourceNode()

getPreCondition

<Bool> Bool getPreCondition(ExpressionInterpreter<?,Bool,?> interp)
                     throws ExpressionFactoryException
Get the pre-condition guaranteeing the statement won't fail, using the given expression factory. E.g., if the statement is assert x!=null, then the pre-condition is x!=null.

Throws:
ExpressionFactoryException

getPostCondition

<Path> Path getPostCondition(PathFactory<?,?,Path> factory,
                             Path precondition)
                      throws PathFactoryException
Get the strongest post-condition of the statement, using the given expression factory, given a pre-condition. E.g., if the statement is assert x!=null and the pre-condition is P, then the post-condition wil be P && x!=null.

Throws:
ExpressionFactoryException
PathFactoryException

getType

IRStatement.StatementType getType()

getOperands

<Expr> List<Expr> getOperands(ExpressionInterpreter<Expr,?,?> interp)
                       throws ExpressionFactoryException
Throws:
ExpressionFactoryException

getOperand

<Expr> Expr getOperand(ExpressionInterpreter<Expr,?,?> interp,
                       int i)
                throws ExpressionFactoryException
Throws:
ExpressionFactoryException

getBooleanOperand

<Bool> Bool getBooleanOperand(ExpressionInterpreter<?,Bool,?> interp,
                              int i)
                       throws ExpressionFactoryException
Throws:
ExpressionFactoryException

getLocation

IRLocation getLocation()

getPreLabels

ImmutableSet<String> getPreLabels()

getPostLabels

ImmutableSet<String> getPostLabels()


Copyright © 2008-2010 NYU Analysis of Computer Systems group. All Rights Reserved.