public class ProviderLabel_c extends Label_c implements ProviderLabel
| Modifier and Type | Field and Description |
|---|---|
protected JifClassType |
classType
The class that this is labelling.
|
protected boolean |
isTrusted |
description, toJava, variables| Constructor and Description |
|---|
ProviderLabel_c(JifClassType classType,
LabelToJavaExpr toJava) |
| Modifier and Type | Method and Description |
|---|---|
JifClassType |
classType() |
java.lang.String |
componentString(java.util.Set<Label> printedLabels)
return a string s such that {s} is a label
|
ConfPolicy |
confProjection() |
boolean |
equalsImpl(polyglot.types.TypeObject t) |
IntegPolicy |
integProjection() |
boolean |
isBottom()
By default, a label is not Bottom
|
boolean |
isCanonical() |
boolean |
isComparable()
Is this label comparable to other labels?
|
boolean |
isCovariant()
Is this label covariant?
|
protected boolean |
isDisambiguatedImpl()
Check if the label is disambiguated, without recursing into child labels.
|
boolean |
isEnumerable()
Are the components of this label enumerable?
|
boolean |
isRuntimeRepresentable() |
boolean |
isTrusted() |
boolean |
leq_(Label L,
LabelEnv H,
LabelEnv.SearchState state)
Implementation of leq, should only be called by JifTypeSystem
|
ProviderLabel |
position(polyglot.util.Position pos) |
java.lang.String |
toString(java.util.Set<Label> printedLabels)
return a string representation of the label.
|
componentString, copy, description, hasVariableComponents, hasVariables, hasWritersToReaders, isDisambiguated, isInvariant, isTop, labelCheck, normalize, setDescription, simplify, simplifyImpl, subst, throwTypes, toJava, toJava, toString, variableComponents, variablestypeSystemclone, finalize, getClass, notify, notifyAll, wait, wait, waitcomponentString, copy, description, hasVariableComponents, hasVariables, hasWritersToReaders, isDisambiguated, isInvariant, isTop, labelCheck, normalize, setDescription, simplify, subst, throwTypes, toJava, toString, variableComponents, variablestoJavatypeSystemprotected JifClassType classType
protected boolean isTrusted
public ProviderLabel_c(JifClassType classType, LabelToJavaExpr toJava)
public ProviderLabel position(polyglot.util.Position pos)
position in interface ProviderLabelpublic JifClassType classType()
classType in interface ProviderLabelpublic ConfPolicy confProjection()
confProjection in interface LabelconfProjection in class Label_cpublic IntegPolicy integProjection()
integProjection in interface LabelintegProjection in class Label_cpublic boolean isBottom()
Label_cpublic boolean isTrusted()
isTrusted in interface ProviderLabelpublic boolean isCovariant()
LabelisCovariant in interface Labelpublic boolean isComparable()
LabelFor example, an UnknownLabel is not comparable to others, neither is a VarLabel. Most other labels are.
isComparable in interface Labelpublic boolean isEnumerable()
LabelFor example, Singletons are enumerable, JoinLabels are enumerable, RuntimeLabel (the label of all runtime representable components) is not enumerable. NOTE: The components of a label are not neccessarily stuck together with a join operation. For example, the MeetLabel uses the meet operation between its components.
isEnumerable in interface Labelpublic boolean leq_(Label L, LabelEnv H, LabelEnv.SearchState state)
Labelpublic boolean isRuntimeRepresentable()
isRuntimeRepresentable in interface LabelisRuntimeRepresentable in interface Parampublic boolean isCanonical()
isCanonical in interface ParamisCanonical in interface polyglot.types.TypeObjectprotected boolean isDisambiguatedImpl()
Label_cisDisambiguatedImpl in class Label_cpublic java.lang.String toString(java.util.Set<Label> printedLabels)
Labelpublic java.lang.String componentString(java.util.Set<Label> printedLabels)
LabelcomponentString in interface LabelcomponentString in class Label_cprintedLabels - the set of labels for which auxiliary information should be
omitted.public boolean equalsImpl(polyglot.types.TypeObject t)
equalsImpl in interface polyglot.types.TypeObjectequalsImpl in class Label_c