jif.ast
Class JifInstantiator
java.lang.Object
jif.ast.JifInstantiator
public class JifInstantiator
- extends java.lang.Object
This class contains a number of static utility methods to help instantiate
labels, principals and types. Instantiation includes:
- the substitution of actual parameters for formal parameters in
parametric types;
- the substitution of receiver labels for the "this" label;
- the substitution of actual arg labels for the formal arg labels;
- the substitution of the receiver expression for dynamic labels and
principals mentioning the "this" access path;
- the substitution of the actual argument expressions for dynamic labels
and principals mentioning formal arguments in their access path.
Method Summary |
Label |
instantiate(Label L)
|
static Label |
instantiate(Label L,
JifContext callerContext,
AccessPath receiverPath,
polyglot.types.ReferenceType receiverType,
Label receiverLbl)
|
static Label |
instantiate(Label L,
JifContext callerContext,
polyglot.ast.Expr receiverExpr,
polyglot.types.ReferenceType receiverType,
Label receiverLbl)
|
static Label |
instantiate(Label L,
JifContext callerContext,
polyglot.ast.Expr receiverExpr,
polyglot.types.ReferenceType receiverType,
Label receiverLabel,
java.util.List formalArgLabels,
java.util.List formalArgTypes,
java.util.List actualArgLabels,
java.util.List actualArgExprs,
java.util.List actualParamLabels)
|
Principal |
instantiate(Principal p)
|
static Principal |
instantiate(Principal p,
JifContext callerContext,
polyglot.ast.Expr receiverExpr,
polyglot.types.ReferenceType receiverType,
Label receiverLabel,
java.util.List formalArgLabels,
java.util.List formalArgTypes,
java.util.List actualArgExprs,
java.util.List actualParamLabels)
|
polyglot.types.Type |
instantiate(polyglot.types.Type t)
|
static polyglot.types.Type |
instantiate(polyglot.types.Type t,
JifContext callerContext,
polyglot.ast.Expr receiverExpr,
polyglot.types.ReferenceType receiverType,
Label receiverLbl)
|
static polyglot.types.Type |
instantiate(polyglot.types.Type t,
JifContext callerContext,
polyglot.ast.Expr receiverExpr,
polyglot.types.ReferenceType receiverType,
Label receiverLabel,
java.util.List formalArgLabels,
java.util.List formalArgTypes,
java.util.List actualArgLabels,
java.util.List actualArgExprs,
java.util.List actualParamLabels)
|
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
instantiate
public Principal instantiate(Principal p)
instantiate
public Label instantiate(Label L)
instantiate
public polyglot.types.Type instantiate(polyglot.types.Type t)
instantiate
public static Label instantiate(Label L,
JifContext callerContext,
polyglot.ast.Expr receiverExpr,
polyglot.types.ReferenceType receiverType,
Label receiverLabel,
java.util.List formalArgLabels,
java.util.List formalArgTypes,
java.util.List actualArgLabels,
java.util.List actualArgExprs,
java.util.List actualParamLabels)
throws polyglot.types.SemanticException
- Throws:
polyglot.types.SemanticException
instantiate
public static Label instantiate(Label L,
JifContext callerContext,
polyglot.ast.Expr receiverExpr,
polyglot.types.ReferenceType receiverType,
Label receiverLbl)
throws polyglot.types.SemanticException
- Throws:
polyglot.types.SemanticException
instantiate
public static Label instantiate(Label L,
JifContext callerContext,
AccessPath receiverPath,
polyglot.types.ReferenceType receiverType,
Label receiverLbl)
instantiate
public static Principal instantiate(Principal p,
JifContext callerContext,
polyglot.ast.Expr receiverExpr,
polyglot.types.ReferenceType receiverType,
Label receiverLabel,
java.util.List formalArgLabels,
java.util.List formalArgTypes,
java.util.List actualArgExprs,
java.util.List actualParamLabels)
throws polyglot.types.SemanticException
- Throws:
polyglot.types.SemanticException
instantiate
public static polyglot.types.Type instantiate(polyglot.types.Type t,
JifContext callerContext,
polyglot.ast.Expr receiverExpr,
polyglot.types.ReferenceType receiverType,
Label receiverLabel,
java.util.List formalArgLabels,
java.util.List formalArgTypes,
java.util.List actualArgLabels,
java.util.List actualArgExprs,
java.util.List actualParamLabels)
throws polyglot.types.SemanticException
- Throws:
polyglot.types.SemanticException
instantiate
public static polyglot.types.Type instantiate(polyglot.types.Type t,
JifContext callerContext,
polyglot.ast.Expr receiverExpr,
polyglot.types.ReferenceType receiverType,
Label receiverLbl)
throws polyglot.types.SemanticException
- Throws:
polyglot.types.SemanticException