Package org.fife.rsta.ac.js.ast
Class CodeBlock
- java.lang.Object
-
- org.fife.rsta.ac.js.ast.CodeBlock
-
public class CodeBlock extends java.lang.ObjectA 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, usingCodeBlocks provides a means of remembering where variables are defined, as well as their scopes.- Version:
- 1.0
- See Also:
VariableDeclaration
-
-
Field Summary
Fields Modifier and Type Field Description private java.util.List<CodeBlock>childrenprivate intendprivate CodeBlockparentprivate intstartprivate java.util.List<JavaScriptVariableDeclaration>varDeclarations
-
Constructor Summary
Constructors Constructor Description CodeBlock(int start)Constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description CodeBlockaddChildCodeBlock(int start)Creates and returns a child (nested) code block.voidaddVariable(JavaScriptVariableDeclaration varDec)Adds a variable declaration.booleancontains(int offset)Returns whether this code block contains a given offset.voiddebug()CodeBlockgetChildCodeBlock(int index)Returns a child code block.intgetChildCodeBlockCount()Returns the number of child code blocks.intgetEndOffset()Returns the end offset of this code block.CodeBlockgetParent()Returns the parent code block.intgetStartOffset()Returns the start offset of this code block.JavaScriptVariableDeclarationgetVariableDeclaration(int index)Returns a variable declaration.intgetVariableDeclarationCount()Returns the number of variable declarations in this code block.private voidoutputChild(java.lang.StringBuilder sb, CodeBlock block, int tab)voidsetEndOffset(int end)Sets the end offset of this code block.voidsetStartOffSet(int start)Sets the start offset of this code block.
-
-
-
Field Detail
-
start
private int start
-
end
private int end
-
parent
private CodeBlock parent
-
children
private java.util.List<CodeBlock> children
-
varDeclarations
private java.util.List<JavaScriptVariableDeclaration> varDeclarations
-
-
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)
-
getEndOffset
public int getEndOffset()
Returns the end offset of this code block.- Returns:
- The end offset.
- See Also:
getStartOffset(),setEndOffset(int)
-
getParent
public CodeBlock getParent()
Returns the parent code block.- Returns:
- The parent code block, or
nullif there isn't one.
-
getStartOffset
public int getStartOffset()
Returns the start offset of this code block.- Returns:
- The start offset.
- See Also:
getEndOffset()
-
getVariableDeclaration
public JavaScriptVariableDeclaration getVariableDeclaration(int index)
Returns a variable declaration.- Parameters:
index- The index of the declaration.- Returns:
- The declaration.
- See Also:
getVariableDeclarationCount()
-
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)
-
-