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,Cloneable
- Enclosing class:
- TypeNode
-
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.WriteFrameSlotTypeNodeNested classes/interfaces inherited from class com.oracle.truffle.api.nodes.Node
com.oracle.truffle.api.nodes.Node.Child, com.oracle.truffle.api.nodes.Node.Children -
Field Summary
Fields inherited from class org.pkl.core.ast.type.TypeNode.WriteFrameSlotTypeNode
slotFields inherited from class org.pkl.core.ast.PklNode
sourceSection -
Constructor Summary
ConstructorsConstructorDescriptionUnionTypeNode(com.oracle.truffle.api.source.SourceSection sourceSection, int defaultIndex, TypeNode[] elementTypeNodes, boolean skipElementTypeChecks) -
Method Summary
Modifier and TypeMethodDescriptioncreateDefaultValue(VmLanguage language, com.oracle.truffle.api.source.SourceSection headerSection, String qualifiedName) protected PTypedoExport()voidChecks if `value` conforms to this type.TypeNode[]booleanMethods inherited from class org.pkl.core.ast.type.TypeNode.WriteFrameSlotTypeNode
executeAndSet, getFrameSlotKind, initWriteSlotNodeMethods inherited from class org.pkl.core.ast.type.TypeNode
export, forClass, getMirror, getMirrors, getTypeArgumentMirrors, getVmClass, getVmTypeAlias, typeMismatchMethods inherited from class org.pkl.core.ast.PklNode
exceptionBuilder, getShortName, getSourceSection, toStringMethods 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 Details
-
UnionTypeNode
public UnionTypeNode(com.oracle.truffle.api.source.SourceSection sourceSection, int defaultIndex, TypeNode[] elementTypeNodes, boolean skipElementTypeChecks)
-
-
Method Details
-
getMirror
-
getElementTypeMirrors
-
getElementTypeNodes
-
isNoopTypeCheck
public boolean isNoopTypeCheck()- Overrides:
isNoopTypeCheckin classTypeNode
-
createDefaultValue
@Nullable public @Nullable Object createDefaultValue(VmLanguage language, com.oracle.truffle.api.source.SourceSection headerSection, String qualifiedName) - Overrides:
createDefaultValuein classTypeNode
-
doExport
-
execute
Description copied from class:TypeNodeChecks if `value` conforms to this type. If so, returns normally. Otherwise, throws a `VmTypeMismatchException`.
-