public class ParserCP extends ParseBase
Modifier and Type | Class and Description |
---|---|
(package private) class |
ParserCP.ParserCPVisitor
ParserCPVisitor
This inner class overrides a constant pool visitor to provide specific parsing
instructions (per method) for each type of Constant.
|
Modifier and Type | Field and Description |
---|---|
private boolean |
exitImmediately
Stop parsing a source file immediately and interpret any issue as an error
|
private int |
lbrace
counter of left braces
|
private ParserCP.ParserCPVisitor |
pConstVstr
Visitor object
|
Modifier | Constructor and Description |
---|---|
protected |
ParserCP(Scanner scanner,
Parser parser,
Environment env)
main constructor
|
Modifier and Type | Method and Description |
---|---|
private void |
checkWrongTag(Tables.ConstType tag,
Tables.ConstType defaultTag,
Tables.ConstType default2Tag) |
boolean |
isExitImmediately() |
protected ConstantPool.ConstCell |
parseConstRef(Tables.ConstType defaultTag) |
protected ConstantPool.ConstCell |
parseConstRef(Tables.ConstType defaultTag,
Tables.ConstType default2Tag) |
protected ConstantPool.ConstCell |
parseConstRef(Tables.ConstType defaultTag,
Tables.ConstType default2Tag,
boolean ignoreKeywords)
Parse an instruction argument, one of: * #NUMBER, #NAME, [TAG] CONSTVALUE
|
protected ConstantPool.ConstValue |
parseConstValue(Tables.ConstType tag)
Parse CONSTVALUE
|
protected ConstantPool.ConstValue |
parseTagConstValue(Tables.ConstType defaultTag)
Parse [TAG] CONSTVALUE
|
protected ConstantPool.ConstValue |
parseTagConstValue(Tables.ConstType defaultTag,
Tables.ConstType default2Tag,
boolean ignoreKeywords) |
private Tables.ConstType |
scanConstByID(boolean ignoreKeywords) |
private Tables.ConstType |
scanConstPrimVal() |
void |
setExitImmediately(boolean exitImmediately)
In particular cases it's necessary to interpret a warning issue as an error and
stop parsing a source file immediately
cpParser.setExitImmediately(true);
çparseConstRef(...);
cpParser.setExitImmediately(false);
|
debugScan, debugStr, enableDebug, init
private boolean exitImmediately
private ParserCP.ParserCPVisitor pConstVstr
private int lbrace
protected ParserCP(Scanner scanner, Parser parser, Environment env)
scanner
- parser
- env
- public void setExitImmediately(boolean exitImmediately)
public boolean isExitImmediately()
protected ConstantPool.ConstValue parseConstValue(Tables.ConstType tag) throws java.io.IOException, Scanner.SyntaxError
java.io.IOException
Scanner.SyntaxError
protected ConstantPool.ConstValue parseTagConstValue(Tables.ConstType defaultTag) throws Scanner.SyntaxError, java.io.IOException
Scanner.SyntaxError
java.io.IOException
private Tables.ConstType scanConstByID(boolean ignoreKeywords)
private Tables.ConstType scanConstPrimVal() throws Scanner.SyntaxError, java.io.IOException
Scanner.SyntaxError
java.io.IOException
private void checkWrongTag(Tables.ConstType tag, Tables.ConstType defaultTag, Tables.ConstType default2Tag) throws Scanner.SyntaxError, java.io.IOException
Scanner.SyntaxError
java.io.IOException
protected ConstantPool.ConstValue parseTagConstValue(Tables.ConstType defaultTag, Tables.ConstType default2Tag, boolean ignoreKeywords) throws Scanner.SyntaxError, java.io.IOException
Scanner.SyntaxError
java.io.IOException
protected ConstantPool.ConstCell parseConstRef(Tables.ConstType defaultTag) throws Scanner.SyntaxError, java.io.IOException
Scanner.SyntaxError
java.io.IOException
protected ConstantPool.ConstCell parseConstRef(Tables.ConstType defaultTag, Tables.ConstType default2Tag) throws Scanner.SyntaxError, java.io.IOException
Scanner.SyntaxError
java.io.IOException
protected ConstantPool.ConstCell parseConstRef(Tables.ConstType defaultTag, Tables.ConstType default2Tag, boolean ignoreKeywords) throws Scanner.SyntaxError, java.io.IOException
Scanner.SyntaxError
java.io.IOException