Class TypeNode.NothingTypeNode

  • All Implemented Interfaces:
    com.oracle.truffle.api.nodes.NodeInterface, java.lang.Cloneable
    Enclosing class:
    TypeNode

    public static final class TypeNode.NothingTypeNode
    extends TypeNode
    The `nothing` type.
    • Constructor Detail

      • NothingTypeNode

        public NothingTypeNode​(com.oracle.truffle.api.source.SourceSection sourceSection)
    • Method Detail

      • initWriteSlotNode

        public TypeNode initWriteSlotNode​(int slot)
        Description copied from class: TypeNode
        Initializes this node's frame slot. Called if this node is a function/method parameter type. Kept separate from constructor so that TypeNode.TypeAliasTypeNode can initialize frame slot of its cloned child node.
        Specified by:
        initWriteSlotNode in class TypeNode
      • execute

        public void execute​(com.oracle.truffle.api.frame.VirtualFrame frame,
                            java.lang.Object value)
        Description copied from class: TypeNode
        Checks if `value` conforms to this type. If so, returns normally. Otherwise, throws a `VmTypeMismatchException`.
        Specified by:
        execute in class TypeNode
      • executeAndSet

        public void executeAndSet​(com.oracle.truffle.api.frame.VirtualFrame frame,
                                  java.lang.Object value)
        Description copied from class: TypeNode
        Checks if `value` conforms to this type. If so, sets `slot` to `value`. Otherwise, throws a `VmTypeMismatchException`.
        Specified by:
        executeAndSet in class TypeNode
      • getFrameSlotKind

        public com.oracle.truffle.api.frame.FrameSlotKind getFrameSlotKind()
        Specified by:
        getFrameSlotKind in class TypeNode