Package org.pkl.core.ast.type
Class TypeNode.NonFinalClassTypeNode
- 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.NonFinalClassTypeNode
-
- All Implemented Interfaces:
com.oracle.truffle.api.nodes.NodeInterface,java.lang.Cloneable
- Enclosing class:
- TypeNode
public abstract static class TypeNode.NonFinalClassTypeNode extends TypeNode.ObjectSlotTypeNode
An `open` or `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.WriteFrameSlotTypeNode
-
-
Field Summary
Fields Modifier and Type Field Description protected VmClassclazz-
Fields inherited from class org.pkl.core.ast.type.TypeNode.FrameSlotTypeNode
slot, writeFrameSlotNode
-
Fields inherited from class org.pkl.core.ast.PklNode
sourceSection
-
-
Constructor Summary
Constructors Constructor Description NonFinalClassTypeNode(com.oracle.truffle.api.source.SourceSection sourceSection, VmClass clazz)
-
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 voideval(java.lang.Object value)protected voideval(VmValue value)protected voideval(VmValue value, VmClass cachedClass, boolean isSuperclass)VmListgetTypeArgumentMirrors()VmClassgetVmClass()-
Methods inherited from class org.pkl.core.ast.type.TypeNode.ObjectSlotTypeNode
executeAndSet, getFrameSlotKind
-
Methods inherited from class org.pkl.core.ast.type.TypeNode.FrameSlotTypeNode
initWriteSlotNode
-
Methods inherited from class org.pkl.core.ast.type.TypeNode
doExport, execute, export, forClass, getMirror, getMirror, getMirrors, getVmTypeAlias, isNoopTypeCheck, 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
-
-
-
-
Field Detail
-
clazz
protected final VmClass clazz
-
-
Constructor Detail
-
NonFinalClassTypeNode
public NonFinalClassTypeNode(com.oracle.truffle.api.source.SourceSection sourceSection, VmClass clazz)
-
-
Method Detail
-
getVmClass
public final VmClass getVmClass()
- Overrides:
getVmClassin classTypeNode
-
getTypeArgumentMirrors
public VmList getTypeArgumentMirrors()
- Overrides:
getTypeArgumentMirrorsin classTypeNode
-
eval
protected void eval(VmValue value)
-
eval
protected void eval(java.lang.Object value)
-
createDefaultValue
public @Nullable java.lang.Object createDefaultValue(VmLanguage language, com.oracle.truffle.api.source.SourceSection headerSection, java.lang.String qualifiedName)
- Overrides:
createDefaultValuein classTypeNode
-
-