Package org.pkl.core.ast.type
Class TypeNode.UnionTypeNode
- java.lang.Object
-
- com.oracle.truffle.api.nodes.Node
-
- org.pkl.core.ast.PklNode
-
- org.pkl.core.ast.type.TypeNode
-
- org.pkl.core.ast.type.TypeNode.WriteFrameSlotTypeNode
-
- org.pkl.core.ast.type.TypeNode.UnionTypeNode
-
- All Implemented Interfaces:
com.oracle.truffle.api.nodes.NodeInterface,java.lang.Cloneable
- Enclosing class:
- TypeNode
public static final class TypeNode.UnionTypeNode extends TypeNode.WriteFrameSlotTypeNode
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.pkl.core.ast.type.TypeNode
TypeNode.AnyTypeNode, TypeNode.BooleanTypeNode, TypeNode.CollectionTypeNode, TypeNode.ConstrainedTypeNode, TypeNode.DynamicTypeNode, TypeNode.FinalClassTypeNode, TypeNode.FinalModuleTypeNode, TypeNode.FloatTypeNode, TypeNode.FrameSlotTypeNode, TypeNode.FunctionClassTypeNode, TypeNode.FunctionNClassTypeNode, TypeNode.FunctionTypeNode, TypeNode.Int16TypeAliasTypeNode, TypeNode.Int32TypeAliasTypeNode, TypeNode.Int8TypeAliasTypeNode, TypeNode.IntSlotTypeNode, TypeNode.IntTypeNode, TypeNode.ListingOrMappingTypeNode, TypeNode.ListingTypeNode, TypeNode.ListTypeNode, TypeNode.MappingTypeNode, TypeNode.MapTypeNode, TypeNode.NonFinalClassTypeNode, TypeNode.NonFinalModuleTypeNode, TypeNode.NonNullTypeAliasTypeNode, TypeNode.NothingTypeNode, TypeNode.NullableTypeNode, TypeNode.NumberTypeNode, TypeNode.ObjectSlotTypeNode, TypeNode.PairTypeNode, TypeNode.SetTypeNode, TypeNode.StringLiteralTypeNode, TypeNode.StringTypeNode, TypeNode.TypeAliasTypeNode, TypeNode.TypedTypeNode, TypeNode.TypeVariableNode, TypeNode.UIntTypeAliasTypeNode, TypeNode.UnionOfStringLiteralsTypeNode, TypeNode.UnionTypeNode, TypeNode.UnknownTypeNode, TypeNode.VarArgsTypeNode, TypeNode.WriteFrameSlotTypeNode
-
-
Field Summary
-
Fields inherited from class org.pkl.core.ast.type.TypeNode.WriteFrameSlotTypeNode
slot
-
Fields inherited from class org.pkl.core.ast.PklNode
sourceSection
-
-
Constructor Summary
Constructors Constructor Description UnionTypeNode(com.oracle.truffle.api.source.SourceSection sourceSection, int defaultIndex, TypeNode[] elementTypeNodes, boolean skipElementTypeChecks)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description @Nullable java.lang.ObjectcreateDefaultValue(VmLanguage language, com.oracle.truffle.api.source.SourceSection headerSection, java.lang.String qualifiedName)protected PTypedoExport()voidexecute(com.oracle.truffle.api.frame.VirtualFrame frame, java.lang.Object value)Checks if `value` conforms to this type.VmListgetElementTypeMirrors()TypeNode[]getElementTypeNodes()VmTypedgetMirror()booleanisNoopTypeCheck()-
Methods inherited from class org.pkl.core.ast.type.TypeNode.WriteFrameSlotTypeNode
executeAndSet, getFrameSlotKind, initWriteSlotNode
-
Methods inherited from class org.pkl.core.ast.type.TypeNode
export, forClass, getMirror, getMirrors, getTypeArgumentMirrors, getVmClass, getVmTypeAlias, typeMismatch
-
Methods inherited from class org.pkl.core.ast.PklNode
exceptionBuilder, getShortName, getSourceSection, toString
-
Methods inherited from class com.oracle.truffle.api.nodes.Node
accept, adoptChildren, atomic, atomic, copy, deepCopy, getChildren, getCost, getDebugProperties, getDescription, getEncapsulatingSourceSection, getLock, getParent, getRootNode, insert, insert, isAdoptable, isSafelyReplaceableBy, notifyInserted, onReplace, replace, replace, reportPolymorphicSpecialize
-
-
-
-
Constructor Detail
-
UnionTypeNode
public UnionTypeNode(com.oracle.truffle.api.source.SourceSection sourceSection, int defaultIndex, TypeNode[] elementTypeNodes, boolean skipElementTypeChecks)
-
-
Method Detail
-
getElementTypeMirrors
public VmList getElementTypeMirrors()
-
getElementTypeNodes
public TypeNode[] getElementTypeNodes()
-
isNoopTypeCheck
public boolean isNoopTypeCheck()
- Overrides:
isNoopTypeCheckin classTypeNode
-
createDefaultValue
public @Nullable java.lang.Object createDefaultValue(VmLanguage language, com.oracle.truffle.api.source.SourceSection headerSection, java.lang.String qualifiedName)
- Overrides:
createDefaultValuein classTypeNode
-
-