|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.jrubyparser.parser.ParserSupport
public class ParserSupport
| Field Summary | |
|---|---|
protected StaticScope |
currentScope
|
protected Lexer |
lexer
|
protected IRubyWarnings |
warnings
|
| Constructor Summary | |
|---|---|
ParserSupport()
|
|
| Method Summary | |
|---|---|
Node |
addRootNode(Node topOfAST,
SourcePosition position)
|
Node |
appendToBlock(Node head,
Node tail)
|
Node |
arg_add(SourcePosition position,
Node node1,
Node node2)
|
Node |
arg_append(Node node1,
Node node2)
|
Node |
arg_blk_pass(Node firstNode,
BlockPassNode secondNode)
|
Node |
arg_concat(SourcePosition position,
Node node1,
Node node2)
|
ArgumentNode |
arg_var(Token identifier)
|
Node |
aryset(Node receiver,
Node index)
Define an array set condition so we can return lhs |
AssignableNode |
assignable(Token lhs,
Node value)
|
Node |
asSymbol(SourcePosition position,
Node value)
|
Node |
attrset(Node receiver,
String name)
Define an attribute set condition so we can return lhs |
void |
backrefAssignError(Node node)
|
boolean |
checkExpression(Node node)
Does this node represent an expression? |
protected void |
checkRegexpSyntax(String value,
RegexpOptions options)
|
void |
checkUselessStatement(Node node)
Check to see if current node is an useless statement. |
void |
checkUselessStatements(BlockNode blockNode)
Check all nodes but the last one in a BlockNode for useless (void context) statements. |
SourcePosition |
createEmptyArgsNodePosition(SourcePosition pos)
|
Token |
formal_argument(Token identifier)
|
Node |
getConditionNode(Node node)
|
ParserConfiguration |
getConfiguration()
|
StaticScope |
getCurrentScope()
|
int |
getInSingle()
Getter for property inSingle. |
Node |
getMatchNode(Node firstNode,
Node secondNode)
|
Node |
getOperatorCallNode(Node firstNode,
String operator,
Node secondNode)
|
Node |
getOperatorCallNode(Node firstNode,
String operator,
Node secondNode,
SourcePosition defaultPosition)
|
Node |
getOperatorCallNode(SourcePosition position,
Node firstNode,
String operator)
|
Node |
getOperatorCallNode(Token operator,
Node receiver)
|
SourcePosition |
getPosition(ISourcePositionHolder start)
|
SourcePosition |
getPosition(ISourcePositionHolder start,
boolean inclusive)
|
SourcePosition |
getPosition2(ISourcePositionHolder pos)
Since we can recieve positions at times we know can be null we need an extra safety net here. |
ParserResult |
getResult()
Gets the result. |
Node |
getReturnArgsNode(Node node)
|
Node |
gettable(Token token)
Create AST node representing variable type it represents. |
Node |
gettable2(Node node)
We know for callers of this that it cannot be any of the specials checked in gettable. |
protected void |
getterIdentifierError(SourcePosition position,
String identifier)
|
Node |
getUnaryCallNode(Node receiver,
Token operator)
|
void |
initTopLocalVariables()
Description of the RubyMethod |
boolean |
is_local_id(Token identifier)
|
boolean |
isBreakStatement(Node node)
Is the supplied node a break/control statement? |
static boolean |
isConstant(String id)
|
boolean |
isInDef()
|
boolean |
isInSingle()
Getter for property inSingle. |
boolean |
isLiteral(Node node)
Is this a literal in the sense that MRI has a NODE_LIT for. |
KeywordArgNode |
keyword_arg(SourcePosition position,
AssignableNode assignable)
|
ListNode |
list_append(Node list,
Node item)
|
ListNode |
list_concat(Node first,
Node second)
|
Node |
literal_concat(SourcePosition position,
Node head,
Node tail)
|
FloatNode |
negateFloat(FloatNode floatNode)
|
Node |
negateInteger(Node integerNode)
|
Node |
new_aref(Node receiver,
Token name,
Node argsNode)
|
ArgsTailHolder |
new_args_tail(SourcePosition position,
ListNode keywordArg,
Token keywordRestArgName,
BlockArgNode blockArg)
|
Node |
new_args(SourcePosition position,
ListNode pre,
ListNode optional,
RestArgNode rest,
ListNode post,
ArgsTailHolder tail)
|
Node |
new_args(SourcePosition position,
ListNode pre,
ListNode optional,
RestArgNode rest,
ListNode post,
BlockArgNode block)
|
Node |
new_attrassign(SourcePosition position,
Node receiver,
String name,
Node args)
|
Node |
new_bv(Token identifier)
|
Node |
new_call(Node receiver,
Token name,
Node args,
Node iter)
|
Colon2Node |
new_colon2(SourcePosition position,
Node leftNode,
String name)
|
Colon3Node |
new_colon3(SourcePosition position,
String name)
|
Node |
new_fcall(Token operation,
Node args,
Node iter)
|
IterNode |
new_iter(SourcePosition position,
Node vars,
StaticScope scope,
Node body)
|
Node |
new_opElementAsgnNode(SourcePosition position,
Node receiverNode,
String operatorName,
Node argsNode,
Node valueNode)
|
Node |
new_super(Node args,
Token operation)
|
Node |
new_yield(SourcePosition position,
Node node)
|
Node |
newAlias(SourcePosition position,
Node newNode,
Node oldNode)
|
AndNode |
newAndNode(SourcePosition position,
Node left,
Node right)
|
ArrayNode |
newArrayNode(SourcePosition position,
Node firstNode)
|
BlockArgNode |
newBlockArg(SourcePosition position,
Token nameToken)
|
BlockArg18Node |
newBlockArg18(SourcePosition position,
Node blockValue,
Node args)
|
CaseNode |
newCaseNode(SourcePosition position,
Node expression,
Node firstWhenNode)
Ok I admit that this is somewhat ugly. |
Node |
newEvStrNode(SourcePosition position,
Node node)
|
Node |
newline_node(Node node,
SourcePosition position)
Wraps node with NEWLINE node. |
OrNode |
newOrNode(SourcePosition position,
Node left,
Node right)
|
Node |
newRegexpNode(SourcePosition position,
Node contents,
RegexpNode end)
|
SplatNode |
newSplatNode(SourcePosition position,
Node node)
|
Node |
newUndef(SourcePosition position,
Node nameNode)
|
WhenNode |
newWhenNode(SourcePosition position,
Node expressionNodes,
Node bodyNode,
Node nextCase)
|
Node |
node_assign(Node lhs,
Node rhs)
|
void |
popCurrentScope()
|
void |
pushBlockScope()
|
void |
pushLocalScope()
|
void |
regexpFragmentCheck(RegexpNode end,
String value)
|
void |
reset()
|
Node |
ret_args(Node node,
SourcePosition position)
|
void |
setConfiguration(ParserConfiguration configuration)
Sets the configuration. |
void |
setInDef(boolean inDef)
|
void |
setInSingle(int inSingle)
Setter for property inSingle. |
void |
setLexer(Lexer lexer)
|
void |
setResult(ParserResult result)
Sets the result. |
void |
setWarnings(IRubyWarnings warnings)
|
Token |
shadowing_lvar(Token identifier)
|
Node |
splat_array(Node node)
If node is a splat and it is splatting a literal array then return the literal array. |
SourcePosition |
union(ISourcePositionHolder first,
ISourcePositionHolder second)
|
SourcePosition |
union(SourcePosition first,
SourcePosition second)
|
Node |
unwrapNewlineNode(Node node)
|
void |
warn(IRubyWarnings.ID id,
SourcePosition position,
String message,
Object... data)
|
void |
warning(IRubyWarnings.ID id,
SourcePosition position,
String message,
Object... data)
|
void |
warningUnlessEOption(IRubyWarnings.ID id,
Node node,
String message)
|
void |
warnUnlessEOption(IRubyWarnings.ID id,
Node node,
String message)
|
void |
yyerror(String message)
generate parsing error |
void |
yyerror(String message,
String[] expected,
String found)
generate parsing error |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
protected Lexer lexer
protected StaticScope currentScope
protected IRubyWarnings warnings
| Constructor Detail |
|---|
public ParserSupport()
| Method Detail |
|---|
public static boolean isConstant(String id)
public void reset()
public StaticScope getCurrentScope()
public ParserConfiguration getConfiguration()
public void popCurrentScope()
public void pushBlockScope()
public void pushLocalScope()
public Node arg_concat(SourcePosition position,
Node node1,
Node node2)
public Node arg_blk_pass(Node firstNode,
BlockPassNode secondNode)
public Node gettable2(Node node)
node - to check its variable type
public Node gettable(Token token)
token - to check its variable type
protected void getterIdentifierError(SourcePosition position,
String identifier)
public AssignableNode assignable(Token lhs,
Node value)
public Node newline_node(Node node,
SourcePosition position)
node -
public SourcePosition union(ISourcePositionHolder first,
ISourcePositionHolder second)
public SourcePosition union(SourcePosition first,
SourcePosition second)
public Node addRootNode(Node topOfAST,
SourcePosition position)
public Node appendToBlock(Node head,
Node tail)
public Node getUnaryCallNode(Node receiver,
Token operator)
public Node getOperatorCallNode(Token operator,
Node receiver)
public Node getOperatorCallNode(SourcePosition position,
Node firstNode,
String operator)
public Node getOperatorCallNode(Node firstNode,
String operator,
Node secondNode)
public Node getOperatorCallNode(Node firstNode,
String operator,
Node secondNode,
SourcePosition defaultPosition)
public Node getMatchNode(Node firstNode,
Node secondNode)
public Node aryset(Node receiver,
Node index)
receiver - array being setindex - node which should evalute to index of array set
public Node attrset(Node receiver,
String name)
receiver - object which contains attributename - of the attribute being set
public void backrefAssignError(Node node)
public Node arg_add(SourcePosition position,
Node node1,
Node node2)
public Node node_assign(Node lhs,
Node rhs)
public Node ret_args(Node node,
SourcePosition position)
public boolean isBreakStatement(Node node)
node - to be checked
public void warnUnlessEOption(IRubyWarnings.ID id,
Node node,
String message)
public void warningUnlessEOption(IRubyWarnings.ID id,
Node node,
String message)
public boolean checkExpression(Node node)
node - to be checked
public boolean isLiteral(Node node)
node - to be tested
public void checkUselessStatement(Node node)
node - to be checked.public void checkUselessStatements(BlockNode blockNode)
blockNode - to be checked.public Node getConditionNode(Node node)
public SplatNode newSplatNode(SourcePosition position,
Node node)
public ArrayNode newArrayNode(SourcePosition position,
Node firstNode)
public AndNode newAndNode(SourcePosition position,
Node left,
Node right)
public OrNode newOrNode(SourcePosition position,
Node left,
Node right)
public CaseNode newCaseNode(SourcePosition position,
Node expression,
Node firstWhenNode)
expression - of the case node (e.g. case foo)firstWhenNode - first when (which could also be the else)
public WhenNode newWhenNode(SourcePosition position,
Node expressionNodes,
Node bodyNode,
Node nextCase)
public Node getReturnArgsNode(Node node)
public Node new_opElementAsgnNode(SourcePosition position,
Node receiverNode,
String operatorName,
Node argsNode,
Node valueNode)
public Node new_attrassign(SourcePosition position,
Node receiver,
String name,
Node args)
public Node new_call(Node receiver,
Token name,
Node args,
Node iter)
public Node new_aref(Node receiver,
Token name,
Node argsNode)
public Colon2Node new_colon2(SourcePosition position,
Node leftNode,
String name)
public Colon3Node new_colon3(SourcePosition position,
String name)
public Node new_fcall(Token operation,
Node args,
Node iter)
public Node new_super(Node args,
Token operation)
public void initTopLocalVariables()
public boolean isInSingle()
public void setInSingle(int inSingle)
inSingle - New value of property inSingle.public boolean isInDef()
public void setInDef(boolean inDef)
public int getInSingle()
public ParserResult getResult()
public void setResult(ParserResult result)
result - The result to setpublic void setConfiguration(ParserConfiguration configuration)
configuration - The configuration to setpublic void setLexer(Lexer lexer)
public void setWarnings(IRubyWarnings warnings)
public Node literal_concat(SourcePosition position,
Node head,
Node tail)
public Node newEvStrNode(SourcePosition position,
Node node)
public Node new_yield(SourcePosition position,
Node node)
public Node negateInteger(Node integerNode)
public FloatNode negateFloat(FloatNode floatNode)
public SourcePosition createEmptyArgsNodePosition(SourcePosition pos)
public Node unwrapNewlineNode(Node node)
public Node asSymbol(SourcePosition position,
Node value)
public ArgsTailHolder new_args_tail(SourcePosition position,
ListNode keywordArg,
Token keywordRestArgName,
BlockArgNode blockArg)
public Node new_args(SourcePosition position,
ListNode pre,
ListNode optional,
RestArgNode rest,
ListNode post,
BlockArgNode block)
public Node new_args(SourcePosition position,
ListNode pre,
ListNode optional,
RestArgNode rest,
ListNode post,
ArgsTailHolder tail)
public Node newAlias(SourcePosition position,
Node newNode,
Node oldNode)
public Node newUndef(SourcePosition position,
Node nameNode)
public BlockArg18Node newBlockArg18(SourcePosition position,
Node blockValue,
Node args)
public BlockArgNode newBlockArg(SourcePosition position,
Token nameToken)
public IterNode new_iter(SourcePosition position,
Node vars,
StaticScope scope,
Node body)
public void yyerror(String message)
public void yyerror(String message,
String[] expected,
String found)
message - text to be displayed.expected - list of acceptable tokens, if available.
public void warn(IRubyWarnings.ID id,
SourcePosition position,
String message,
Object... data)
public void warning(IRubyWarnings.ID id,
SourcePosition position,
String message,
Object... data)
public boolean is_local_id(Token identifier)
public ListNode list_append(Node list,
Node item)
public Node new_bv(Token identifier)
public ArgumentNode arg_var(Token identifier)
public Token formal_argument(Token identifier)
public Token shadowing_lvar(Token identifier)
public ListNode list_concat(Node first,
Node second)
public Node splat_array(Node node)
public Node arg_append(Node node1,
Node node2)
public void regexpFragmentCheck(RegexpNode end,
String value)
protected void checkRegexpSyntax(String value,
RegexpOptions options)
public Node newRegexpNode(SourcePosition position,
Node contents,
RegexpNode end)
public SourcePosition getPosition2(ISourcePositionHolder pos)
public SourcePosition getPosition(ISourcePositionHolder start)
public SourcePosition getPosition(ISourcePositionHolder start,
boolean inclusive)
public KeywordArgNode keyword_arg(SourcePosition position,
AssignableNode assignable)
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||