Package org.openjdk.asmtools.jasm
Class ParserCP
- java.lang.Object
-
- org.openjdk.asmtools.jasm.ParseBase
-
- org.openjdk.asmtools.jasm.ParserCP
-
public class ParserCP extends ParseBase
ParserCP ParseCP is a parser class owned by Parser.java. It is primarily responsible for parsing the constant pool and constant declarations.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description (package private) classParserCP.ParserCPVisitorParserCPVisitor This inner class overrides a constant pool visitor to provide specific parsing instructions (per method) for each type of Constant.
-
Field Summary
Fields Modifier and Type Field Description private booleanexitImmediatelyStop parsing a source file immediately and interpret any issue as an errorprivate intlbracecounter of left bracesprivate ParserCP.ParserCPVisitorpConstVstrVisitor object
-
Constructor Summary
Constructors Modifier Constructor Description protectedParserCP(Scanner scanner, Parser parser, Environment env)main constructor
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private voidcheckWrongTag(Tables.ConstType tag, Tables.ConstType defaultTag, Tables.ConstType default2Tag)booleanisExitImmediately()protected ConstantPool.ConstCellparseConstRef(Tables.ConstType defaultTag)protected ConstantPool.ConstCellparseConstRef(Tables.ConstType defaultTag, Tables.ConstType default2Tag)protected ConstantPool.ConstCellparseConstRef(Tables.ConstType defaultTag, Tables.ConstType default2Tag, boolean ignoreKeywords)Parse an instruction argument, one of: * #NUMBER, #NAME, [TAG] CONSTVALUEprotected ConstantPool.ConstValueparseConstValue(Tables.ConstType tag)Parse CONSTVALUEprotected ConstantPool.ConstValueparseTagConstValue(Tables.ConstType defaultTag)Parse [TAG] CONSTVALUEprotected ConstantPool.ConstValueparseTagConstValue(Tables.ConstType defaultTag, Tables.ConstType default2Tag, boolean ignoreKeywords)private Tables.ConstTypescanConstByID(boolean ignoreKeywords)private Tables.ConstTypescanConstPrimVal()voidsetExitImmediately(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);-
Methods inherited from class org.openjdk.asmtools.jasm.ParseBase
debugScan, debugStr, enableDebug, init
-
-
-
-
Field Detail
-
exitImmediately
private boolean exitImmediately
Stop parsing a source file immediately and interpret any issue as an error
-
pConstVstr
private ParserCP.ParserCPVisitor pConstVstr
Visitor object
-
lbrace
private int lbrace
counter of left braces
-
-
Constructor Detail
-
ParserCP
protected ParserCP(Scanner scanner, Parser parser, Environment env)
main constructor- Parameters:
scanner-parser-env-
-
-
Method Detail
-
setExitImmediately
public 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);
-
isExitImmediately
public boolean isExitImmediately()
-
parseConstValue
protected ConstantPool.ConstValue parseConstValue(Tables.ConstType tag) throws java.io.IOException, Scanner.SyntaxError
Parse CONSTVALUE- Throws:
java.io.IOExceptionScanner.SyntaxError
-
parseTagConstValue
protected ConstantPool.ConstValue parseTagConstValue(Tables.ConstType defaultTag) throws Scanner.SyntaxError, java.io.IOException
Parse [TAG] CONSTVALUE- Throws:
Scanner.SyntaxErrorjava.io.IOException
-
scanConstByID
private Tables.ConstType scanConstByID(boolean ignoreKeywords)
-
scanConstPrimVal
private Tables.ConstType scanConstPrimVal() throws Scanner.SyntaxError, java.io.IOException
- Throws:
Scanner.SyntaxErrorjava.io.IOException
-
checkWrongTag
private void checkWrongTag(Tables.ConstType tag, Tables.ConstType defaultTag, Tables.ConstType default2Tag) throws Scanner.SyntaxError, java.io.IOException
- Throws:
Scanner.SyntaxErrorjava.io.IOException
-
parseTagConstValue
protected ConstantPool.ConstValue parseTagConstValue(Tables.ConstType defaultTag, Tables.ConstType default2Tag, boolean ignoreKeywords) throws Scanner.SyntaxError, java.io.IOException
- Throws:
Scanner.SyntaxErrorjava.io.IOException
-
parseConstRef
protected ConstantPool.ConstCell parseConstRef(Tables.ConstType defaultTag) throws Scanner.SyntaxError, java.io.IOException
- Throws:
Scanner.SyntaxErrorjava.io.IOException
-
parseConstRef
protected ConstantPool.ConstCell parseConstRef(Tables.ConstType defaultTag, Tables.ConstType default2Tag) throws Scanner.SyntaxError, java.io.IOException
- Throws:
Scanner.SyntaxErrorjava.io.IOException
-
parseConstRef
protected ConstantPool.ConstCell parseConstRef(Tables.ConstType defaultTag, Tables.ConstType default2Tag, boolean ignoreKeywords) throws Scanner.SyntaxError, java.io.IOException
Parse an instruction argument, one of: * #NUMBER, #NAME, [TAG] CONSTVALUE- Throws:
Scanner.SyntaxErrorjava.io.IOException
-
-