Class CodeBlock


  • public class CodeBlock
    extends java.lang.Object
    A block of code. This can be used to implement very simple parsing for languages that have some concept of code blocks, such as C, Perl, Java, etc. Currently, using CodeBlocks provides a means of remembering where variables are defined, as well as their scopes.
    Version:
    1.0
    See Also:
    VariableDeclaration
    • Constructor Detail

      • CodeBlock

        public CodeBlock​(int start)
        Constructor.
        Parameters:
        start - The starting offset of the code block.
    • Method Detail

      • addChildCodeBlock

        public CodeBlock addChildCodeBlock​(int start)
        Creates and returns a child (nested) code block.
        Parameters:
        start - The starting offset of the nested code block.
        Returns:
        The code block.
      • addVariable

        public void addVariable​(JavaScriptVariableDeclaration varDec)
        Adds a variable declaration.
        Parameters:
        varDec - The variable declaration.
      • contains

        public boolean contains​(int offset)
        Returns whether this code block contains a given offset.
        Parameters:
        offset - The offset.
        Returns:
        Whether this code block contains that offset.
      • getChildCodeBlock

        public CodeBlock getChildCodeBlock​(int index)
        Returns a child code block.
        Parameters:
        index - The index of the child code block.
        Returns:
        The child code block.
        See Also:
        getChildCodeBlockCount()
      • getChildCodeBlockCount

        public int getChildCodeBlockCount()
        Returns the number of child code blocks.
        Returns:
        The child code block count.
        See Also:
        getChildCodeBlock(int)
      • getParent

        public CodeBlock getParent()
        Returns the parent code block.
        Returns:
        The parent code block, or null if there isn't one.
      • getStartOffset

        public int getStartOffset()
        Returns the start offset of this code block.
        Returns:
        The start offset.
        See Also:
        getEndOffset()
      • getVariableDeclarationCount

        public int getVariableDeclarationCount()
        Returns the number of variable declarations in this code block.
        Returns:
        The number of variable declarations.
        See Also:
        getVariableDeclaration(int)
      • setEndOffset

        public void setEndOffset​(int end)
        Sets the end offset of this code block.
        Parameters:
        end - The end offset.
        See Also:
        getEndOffset()
      • setStartOffSet

        public void setStartOffSet​(int start)
        Sets the start offset of this code block.
        Parameters:
        start - the start offset
        See Also:
        getStartOffset()
      • debug

        public void debug()
      • outputChild

        private void outputChild​(java.lang.StringBuilder sb,
                                 CodeBlock block,
                                 int tab)