Class SpecializationGroup
- java.lang.Object
-
- com.oracle.truffle.dsl.processor.parser.SpecializationGroup
-
public final class SpecializationGroup extends java.lang.ObjectClass creates groups of specializations to optimize the layout of generated executeAndSpecialize and generic execute methods.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classSpecializationGroup.TypeGuard
-
Constructor Summary
Constructors Constructor Description SpecializationGroup(java.util.List<SpecializationGroup> children, java.util.List<java.lang.String> assumptionMatches, java.util.List<SpecializationGroup.TypeGuard> typeGuardsMatches, java.util.List<GuardExpression> guardMatches)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static SpecializationGroupcreate(SpecializationData specialization)static SpecializationGroupcreate(java.util.List<SpecializationData> specializations)java.util.List<GuardExpression>findElseConnectableGuards()SpecializationGroup.TypeGuardfindTypeGuard(int signatureIndex)java.util.List<SpecializationGroup.TypeGuard>getAllGuards()java.util.List<java.lang.String>getAssumptions()java.util.List<SpecializationGroup>getChildren()java.util.List<GuardExpression>getGuards()intgetMaxSpecializationIndex()SpecializationGroupgetParent()SpecializationGroupgetPreviousGroup()SpecializationDatagetSpecialization()java.util.List<SpecializationGroup.TypeGuard>getTypeGuards()intgetUncheckedSpecializationIndex()booleanisTypeGuardUsedInAnyGuardBelow(ProcessorContext context, SpecializationData source, SpecializationGroup.TypeGuard typeGuard)java.lang.StringtoString()
-
-
-
Constructor Detail
-
SpecializationGroup
public SpecializationGroup(java.util.List<SpecializationGroup> children, java.util.List<java.lang.String> assumptionMatches, java.util.List<SpecializationGroup.TypeGuard> typeGuardsMatches, java.util.List<GuardExpression> guardMatches)
-
-
Method Detail
-
getAllGuards
public java.util.List<SpecializationGroup.TypeGuard> getAllGuards()
-
findTypeGuard
public SpecializationGroup.TypeGuard findTypeGuard(int signatureIndex)
-
findElseConnectableGuards
public java.util.List<GuardExpression> findElseConnectableGuards()
-
getParent
public SpecializationGroup getParent()
-
getAssumptions
public java.util.List<java.lang.String> getAssumptions()
-
getTypeGuards
public java.util.List<SpecializationGroup.TypeGuard> getTypeGuards()
-
getGuards
public java.util.List<GuardExpression> getGuards()
-
getChildren
public java.util.List<SpecializationGroup> getChildren()
-
getSpecialization
public SpecializationData getSpecialization()
-
create
public static SpecializationGroup create(SpecializationData specialization)
-
create
public static SpecializationGroup create(java.util.List<SpecializationData> specializations)
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
getPreviousGroup
public SpecializationGroup getPreviousGroup()
-
getUncheckedSpecializationIndex
public int getUncheckedSpecializationIndex()
-
getMaxSpecializationIndex
public int getMaxSpecializationIndex()
-
isTypeGuardUsedInAnyGuardBelow
public boolean isTypeGuardUsedInAnyGuardBelow(ProcessorContext context, SpecializationData source, SpecializationGroup.TypeGuard typeGuard)
-
-