📄 testmessages.java
字号:
package org.antlr.test;import org.antlr.Tool;import org.antlr.codegen.CodeGenerator;import org.antlr.codegen.ActionTranslatorLexer;import org.antlr.tool.*;public class TestMessages extends BaseTest { /** Public default constructor used by TestRig */ public TestMessages() { } public void testMessageStringificationIsConsistent() throws Exception { String action = "$other.tree = null;"; ErrorQueue equeue = new ErrorQueue(); ErrorManager.setErrorListener(equeue); Grammar g = new Grammar( "grammar a;\n" + "options { output = AST;}" + "otherrule\n" + " : 'y' ;" + "rule\n" + " : other=otherrule {" + action +"}\n" + " ;"); Tool antlr = newTool(); CodeGenerator generator = new CodeGenerator(antlr, g, "Java"); g.setCodeGenerator(generator); generator.genRecognizer(); // forces load of templates ActionTranslatorLexer translator = new ActionTranslatorLexer(generator, "rule", new antlr.CommonToken(ANTLRParser.ACTION,action),1); String rawTranslation = translator.translate(); int expectedMsgID = ErrorManager.MSG_WRITE_TO_READONLY_ATTR; Object expectedArg = "other"; Object expectedArg2 = "tree"; GrammarSemanticsMessage expectedMessage = new GrammarSemanticsMessage(expectedMsgID, g, null, expectedArg, expectedArg2); String expectedMessageString = expectedMessage.toString(); assertEquals(expectedMessageString, expectedMessage.toString()); }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -