public final class SpecializationGroup
extends java.lang.Object
Modifier and Type | Class and Description |
---|---|
static class |
SpecializationGroup.TypeGuard |
Constructor and 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) |
Modifier and Type | Method and Description |
---|---|
static SpecializationGroup |
create(java.util.List<SpecializationData> specializations) |
static SpecializationGroup |
create(SpecializationData specialization) |
java.util.List<GuardExpression> |
findElseConnectableGuards() |
SpecializationGroup.TypeGuard |
findTypeGuard(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() |
int |
getMaxSpecializationIndex() |
SpecializationGroup |
getParent() |
SpecializationGroup |
getPreviousGroup() |
SpecializationData |
getSpecialization() |
java.util.List<SpecializationGroup.TypeGuard> |
getTypeGuards() |
int |
getUncheckedSpecializationIndex() |
boolean |
isTypeGuardUsedInAnyGuardBelow(ProcessorContext context,
SpecializationData source,
SpecializationGroup.TypeGuard typeGuard) |
java.lang.String |
toString() |
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)
public java.util.List<SpecializationGroup.TypeGuard> getAllGuards()
public SpecializationGroup.TypeGuard findTypeGuard(int signatureIndex)
public java.util.List<GuardExpression> findElseConnectableGuards()
public SpecializationGroup getParent()
public java.util.List<java.lang.String> getAssumptions()
public java.util.List<SpecializationGroup.TypeGuard> getTypeGuards()
public java.util.List<GuardExpression> getGuards()
public java.util.List<SpecializationGroup> getChildren()
public SpecializationData getSpecialization()
public static SpecializationGroup create(SpecializationData specialization)
public static SpecializationGroup create(java.util.List<SpecializationData> specializations)
public java.lang.String toString()
toString
in class java.lang.Object
public SpecializationGroup getPreviousGroup()
public int getUncheckedSpecializationIndex()
public int getMaxSpecializationIndex()
public boolean isTypeGuardUsedInAnyGuardBelow(ProcessorContext context, SpecializationData source, SpecializationGroup.TypeGuard typeGuard)