Package org.pkl.core.ast.type
Class TypeNode.FinalClassTypeNode
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.FrameSlotTypeNode
org.pkl.core.ast.type.TypeNode.ObjectSlotTypeNode
org.pkl.core.ast.type.TypeNode.FinalClassTypeNode
- All Implemented Interfaces:
com.oracle.truffle.api.nodes.NodeInterface,Cloneable
- Enclosing class:
- TypeNode
A non-open and non-abstract class type. Since this node is not used for
String/Boolean/Int/Float and their supertypes, only `VmValue`s can possibly pass its type
check.
-
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.FrameSlotTypeNode
slot, writeFrameSlotNodeFields inherited from class org.pkl.core.ast.PklNode
sourceSection -
Constructor Summary
ConstructorsConstructorDescriptionFinalClassTypeNode(com.oracle.truffle.api.source.SourceSection sourceSection, VmClass clazz) -
Method Summary
Modifier and TypeMethodDescriptioncreateDefaultValue(VmLanguage language, com.oracle.truffle.api.source.SourceSection headerSection, String qualifiedName) voidChecks if `value` conforms to this type.Methods inherited from class org.pkl.core.ast.type.TypeNode.ObjectSlotTypeNode
executeAndSet, getFrameSlotKindMethods inherited from class org.pkl.core.ast.type.TypeNode.FrameSlotTypeNode
initWriteSlotNodeMethods inherited from class org.pkl.core.ast.type.TypeNode
doExport, export, forClass, getMirror, getMirror, getMirrors, getVmTypeAlias, isNoopTypeCheck, 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
-
FinalClassTypeNode
-
-
Method Details
-
execute
Description copied from class:TypeNodeChecks if `value` conforms to this type. If so, returns normally. Otherwise, throws a `VmTypeMismatchException`. -
getVmClass
- Overrides:
getVmClassin classTypeNode
-
getTypeArgumentMirrors
- Overrides:
getTypeArgumentMirrorsin classTypeNode
-
createDefaultValue
@Nullable public @Nullable Object createDefaultValue(VmLanguage language, com.oracle.truffle.api.source.SourceSection headerSection, String qualifiedName) - Overrides:
createDefaultValuein classTypeNode
-