|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectpolyglot.types.TypeObject_c
jif.types.label.Label_c
jif.types.label.VarLabel_c
public class VarLabel_c
An implementation of the VarLabel interface.
| Field Summary |
|---|
| Fields inherited from class jif.types.label.Label_c |
|---|
description, toJava, variables |
| Fields inherited from class polyglot.types.TypeObject_c |
|---|
position, ts |
| Constructor Summary | |
|---|---|
protected |
VarLabel_c()
|
|
VarLabel_c(java.lang.String name,
java.lang.String description,
JifTypeSystem ts,
polyglot.util.Position pos)
|
| Method Summary | |
|---|---|
java.lang.String |
componentString(java.util.Set printedLabels)
|
boolean |
equalsImpl(polyglot.types.TypeObject o)
|
int |
hashCode()
|
boolean |
isCanonical()
|
boolean |
isComparable()
Is this label comparable to other labels? |
boolean |
isCovariant()
Is this label covariant? |
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 |
leq_(Label L,
LabelEnv env,
LabelEnv.SearchState state)
Implementation of leq, should only be called by JifTypeSystem |
boolean |
mustRuntimeRepresentable()
Does this var label need to map to a runtime representable label? |
java.lang.String |
name()
|
void |
setMustRuntimeRepresentable()
Set the mustRuntimeRepresentable flag, meaning that any solution for this VarLabel must be to a runtime representable label. |
java.util.Set |
variableComponents()
The set of variables that this label contains as components. |
java.util.Set |
variables()
The set of variables that this label contains including variables contained in upper bounds of arg labels. |
| Methods inherited from class jif.types.label.Label_c |
|---|
componentString, confProjection, copy, description, hasVariableComponents, hasVariables, hasWritersToReaders, integProjection, isBottom, isDisambiguated, isInvariant, isTop, labelCheck, normalize, setDescription, simplify, simplifyImpl, subst, throwTypes, toJava, toString, toString |
| Methods inherited from class polyglot.types.TypeObject_c |
|---|
equals, position, typeSystem |
| Methods inherited from class java.lang.Object |
|---|
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
| Methods inherited from interface jif.types.label.Label |
|---|
componentString, confProjection, description, hasVariableComponents, hasVariables, hasWritersToReaders, integProjection, isBottom, isDisambiguated, isInvariant, isTop, labelCheck, normalize, setDescription, simplify, subst, throwTypes, toJava, toString |
| Methods inherited from interface polyglot.types.TypeObject |
|---|
position, typeSystem |
| Methods inherited from interface polyglot.util.Copy |
|---|
copy |
| Constructor Detail |
|---|
protected VarLabel_c()
public VarLabel_c(java.lang.String name,
java.lang.String description,
JifTypeSystem ts,
polyglot.util.Position pos)
| Method Detail |
|---|
public 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 isComparable()
LabelFor example, an UnknownLabel is not comparable to others, neither is a VarLabel. Most other labels are.
isComparable in interface Labelpublic boolean isCanonical()
isCanonical in interface ParamisCanonical in interface polyglot.types.TypeObjectpublic boolean isDisambiguatedImpl()
Label_c
isDisambiguatedImpl in class Label_cpublic boolean isRuntimeRepresentable()
isRuntimeRepresentable in interface LabelisRuntimeRepresentable in interface Parampublic boolean isCovariant()
Label
isCovariant in interface Labelpublic void setMustRuntimeRepresentable()
Variable
setMustRuntimeRepresentable in interface Variablepublic boolean mustRuntimeRepresentable()
Variable
mustRuntimeRepresentable in interface Variablepublic java.lang.String componentString(java.util.Set printedLabels)
componentString in interface LabelcomponentString in class Label_cpublic boolean equalsImpl(polyglot.types.TypeObject o)
equalsImpl in interface polyglot.types.TypeObjectequalsImpl in class Label_cpublic int hashCode()
hashCode in class polyglot.types.TypeObject_c
public boolean leq_(Label L,
LabelEnv env,
LabelEnv.SearchState state)
Label
leq_ in interface LabelL - the label to determine if this label is leq to. This label
always satisfies !this.equals(L)env - the label environment (including principal hierarchy). Will
always be non-null.public java.util.Set variableComponents()
Label
variableComponents in interface LabelvariableComponents in class Label_cpublic java.util.Set variables()
Label
variables in interface Labelvariables in class Label_cpublic java.lang.String name()
name in interface Variable
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||