Interface NestedBlockBuilder

    • Method Detail

      • nestBlock

        BlockBuilder nestBlock()
        Starts nested code block. The resulting block can optimize expressions and reuse already calculated values from the parent blocks.
        Returns:
        new code block that can optimize expressions and reuse already calculated values from the parent blocks.
      • nestBlock

        void nestBlock​(BlockBuilder block)
        Uses given block as the new code context. The current block will be restored after exitBlock() call.
        Parameters:
        block - new code block
        See Also:
        exitBlock()
      • nestBlock

        void nestBlock​(BlockBuilder block,
                       java.util.Map<RexNode,​java.lang.Boolean> nullables)
        Uses given block as the new code context and the map of nullability. The current block will be restored after exitBlock() call.
        Parameters:
        block - new code block
        nullables - map of expression to its nullability state
        See Also:
        exitBlock()
      • currentBlock

        BlockBuilder currentBlock()
        Returns the current code block
        Returns:
        current code block
      • currentNullables

        java.util.Map<RexNode,​java.lang.Boolean> currentNullables()
        Returns the current nullability state of rex nodes. The resulting value is the summary of all the maps in the block hierarchy.
        Returns:
        current nullability state of rex nodes
      • exitBlock

        void exitBlock()
        Leaves the current code block.
        See Also:
        nestBlock()