public class TypeSubstitutor
extends java.lang.Object
LabelSubsitution to all labels
that occur in the AST. The LabelSubsitution is not allowed
to throw any SemanticExceptions.| Constructor and Description |
|---|
TypeSubstitutor(LabelSubstitution substitution) |
| Modifier and Type | Method and Description |
|---|---|
protected boolean |
recurseIntoArrayType(polyglot.types.ArrayType type) |
protected boolean |
recurseIntoLabeledType(LabeledType type) |
protected boolean |
recurseIntoSubstType(JifSubstType type) |
<P extends ActsForParam> |
rewriteActsForParam(P param) |
<Actor extends ActsForParam,Granter extends ActsForParam> |
rewriteAssertion(Assertion a) |
Label |
rewriteLabel(Label L) |
protected Principal |
rewritePrincipal(Principal p) |
polyglot.types.Type |
rewriteType(polyglot.types.Type t) |
public TypeSubstitutor(LabelSubstitution substitution)
substitution - the LabelSubstitution to use.public polyglot.types.Type rewriteType(polyglot.types.Type t)
throws polyglot.types.SemanticException
polyglot.types.SemanticExceptionprotected boolean recurseIntoSubstType(JifSubstType type)
protected boolean recurseIntoArrayType(polyglot.types.ArrayType type)
protected boolean recurseIntoLabeledType(LabeledType type)
public <P extends ActsForParam> P rewriteActsForParam(P param) throws polyglot.types.SemanticException
polyglot.types.SemanticExceptionpublic Label rewriteLabel(Label L) throws polyglot.types.SemanticException
polyglot.types.SemanticExceptionprotected Principal rewritePrincipal(Principal p) throws polyglot.types.SemanticException
polyglot.types.SemanticExceptionpublic <Actor extends ActsForParam,Granter extends ActsForParam> Assertion rewriteAssertion(Assertion a) throws polyglot.types.SemanticException
polyglot.types.SemanticException