Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## 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`

Method Detail

### 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`

Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD