public class JifSubst_c extends polyglot.ext.param.types.Subst_c<ParamInstance,Param> implements JifSubst
Modifier and Type | Class and Description |
---|---|
class |
JifSubst_c.ConstraintXform |
class |
JifSubst_c.LabelXform |
class |
JifSubst_c.PrincipalXform |
protected class |
JifSubst_c.SubstLabelSubst
This class is a
LabelSubstitution that performs
substitutions on Label s and Principal s. |
polyglot.ext.param.types.Subst_c.CacheTypeWrapper, polyglot.ext.param.types.Subst_c.ConstructorXform<T extends polyglot.types.ConstructorInstance>, polyglot.ext.param.types.Subst_c.FieldXform<T extends polyglot.types.FieldInstance>, polyglot.ext.param.types.Subst_c.MethodXform<T extends polyglot.types.MethodInstance>, polyglot.ext.param.types.Subst_c.TypeXform<T extends polyglot.types.Type>
Modifier and Type | Field and Description |
---|---|
protected JifSubst_c.SubstLabelSubst |
substLabelSubst
An instance of the nested class
SubstLabelSubst , to be
used by substLabel(Label) and
substPrincipal(Principal) . |
Constructor and Description |
---|
JifSubst_c(JifTypeSystem ts,
java.util.Map<ParamInstance,? extends Param> subst) |
Modifier and Type | Method and Description |
---|---|
protected boolean |
cacheTypeEquality(polyglot.types.Type t1,
polyglot.types.Type t2) |
java.util.Iterator<java.util.Map.Entry<ParamInstance,Param>> |
entries() |
Param |
get(ParamInstance pi) |
protected Label |
subLabel(Label label,
ParamInstance pi)
Return the substitution of uid, or label if not found.
|
protected Principal |
subPrincipal(Principal principal,
ParamInstance pi)
Return the substitution of uid, or principal if not found.
|
<P extends ActsForParam> |
substActsForParam(P param) |
protected polyglot.types.ClassType |
substClassTypeImpl(polyglot.types.ClassType t) |
<Actor extends ActsForParam,Granter extends ActsForParam> |
substConstraint(Assertion constraint) |
java.util.List<Assertion> |
substConstraintList(java.util.List<Assertion> constraints) |
<CI extends polyglot.types.ConstructorInstance> |
substConstructor(CI ci) |
<FI extends polyglot.types.FieldInstance> |
substField(FI fi)
Perform substititions on a field.
|
Label |
substLabel(Label label) |
java.util.List<Label> |
substLabelList(java.util.List<Label> labels) |
<MI extends polyglot.types.MethodInstance> |
substMethod(MI mi) |
Principal |
substPrincipal(Principal principal) |
java.util.List<Principal> |
substPrincipalList(java.util.List<Principal> principals) |
protected Param |
substSubstValue(Param value) |
polyglot.types.Type |
uncachedSubstType(polyglot.types.Type t) |
cacheGet, cachePut, equals, hashCode, is_entry, substClassType, substConstructorList, substContainer, substFieldList, substitutions, substMethodList, substPClass, substType, substTypeList, toString, typeSystem, typeWrapper
protected JifSubst_c.SubstLabelSubst substLabelSubst
SubstLabelSubst
, to be
used by substLabel(Label)
and
substPrincipal(Principal)
.public JifSubst_c(JifTypeSystem ts, java.util.Map<ParamInstance,? extends Param> subst)
public java.util.Iterator<java.util.Map.Entry<ParamInstance,Param>> entries()
entries
in interface polyglot.ext.param.types.Subst<ParamInstance,Param>
entries
in class polyglot.ext.param.types.Subst_c<ParamInstance,Param>
public Param get(ParamInstance pi)
protected boolean cacheTypeEquality(polyglot.types.Type t1, polyglot.types.Type t2)
cacheTypeEquality
in class polyglot.ext.param.types.Subst_c<ParamInstance,Param>
public polyglot.types.Type uncachedSubstType(polyglot.types.Type t)
uncachedSubstType
in class polyglot.ext.param.types.Subst_c<ParamInstance,Param>
protected polyglot.types.ClassType substClassTypeImpl(polyglot.types.ClassType t)
substClassTypeImpl
in class polyglot.ext.param.types.Subst_c<ParamInstance,Param>
public <MI extends polyglot.types.MethodInstance> MI substMethod(MI mi)
substMethod
in interface polyglot.ext.param.types.Subst<ParamInstance,Param>
substMethod
in class polyglot.ext.param.types.Subst_c<ParamInstance,Param>
public <CI extends polyglot.types.ConstructorInstance> CI substConstructor(CI ci)
substConstructor
in interface polyglot.ext.param.types.Subst<ParamInstance,Param>
substConstructor
in class polyglot.ext.param.types.Subst_c<ParamInstance,Param>
public <FI extends polyglot.types.FieldInstance> FI substField(FI fi)
substField
in interface polyglot.ext.param.types.Subst<ParamInstance,Param>
substField
in class polyglot.ext.param.types.Subst_c<ParamInstance,Param>
public java.util.List<Assertion> substConstraintList(java.util.List<Assertion> constraints)
substConstraintList
in interface JifSubst
public java.util.List<Label> substLabelList(java.util.List<Label> labels)
substLabelList
in interface JifSubst
public java.util.List<Principal> substPrincipalList(java.util.List<Principal> principals)
substPrincipalList
in interface JifSubst
public <Actor extends ActsForParam,Granter extends ActsForParam> Assertion substConstraint(Assertion constraint)
substConstraint
in interface JifSubst
public <P extends ActsForParam> P substActsForParam(P param)
public Label substLabel(Label label)
substLabel
in interface JifSubst
public Principal substPrincipal(Principal principal)
substPrincipal
in interface JifSubst
protected Label subLabel(Label label, ParamInstance pi)
protected Principal subPrincipal(Principal principal, ParamInstance pi)
protected Param substSubstValue(Param value)
substSubstValue
in class polyglot.ext.param.types.Subst_c<ParamInstance,Param>