sourceprinter.java
来自「Groovy动态语言 运行在JVM中的动态语言 可以方便的处理业务逻辑变化大的业」· Java 代码 · 共 1,060 行 · 第 1/3 页
JAVA
1,060 行
public void visitInterfaceDef(GroovySourceAST t,int visit) {
print(t,visit,"interface ",null,null);
}
public void visitInstanceInit(GroovySourceAST t, int visit) {
// do nothing
}
public void visitLabeledArg(GroovySourceAST t, int visit) {
print(t,visit,":",null,null);
}
public void visitLabeledStat(GroovySourceAST t, int visit) {
print(t,visit,":",null,null);
}
public void visitLand(GroovySourceAST t, int visit) {
print(t,visit," && ",null,null);
}
// visit lbrack()
// token type LBRACK only used inside parser, never visited/created
// visit lcurly()
// token type LCURLY only used inside parser, never visited/created
public void visitLe(GroovySourceAST t, int visit) {
print(t,visit," <= ",null,null);
}
// visitLetter ...
// token type LETTER only used by lexer, never visited/created
public void visitListConstructor(GroovySourceAST t, int visit) {
printUpdatingTabLevel(t,visit,"[",null,"]");
}
public void visitLiteralAny(GroovySourceAST t,int visit) {
print(t,visit,"any",null,null);
}
public void visitLiteralAs(GroovySourceAST t,int visit) {
print(t,visit," as ",null,null);
}
public void visitLiteralAssert(GroovySourceAST t,int visit) {
if (t.getNumberOfChildren() > 1) {
print(t,visit,"assert ",null," : ");
} else {
print(t,visit,"assert ",null,null);
}
}
public void visitLiteralBoolean(GroovySourceAST t, int visit) {
print(t,visit,"boolean",null,null);
}
public void visitLiteralBreak(GroovySourceAST t, int visit) {
print(t,visit,"break ",null,null);
}
public void visitLiteralByte(GroovySourceAST t, int visit) {
print(t,visit,"byte",null,null);
}
public void visitLiteralCase(GroovySourceAST t, int visit) {
print(t,visit,"case ",null,":");
}
public void visitLiteralCatch(GroovySourceAST t,int visit) {
printUpdatingTabLevel(t,visit," catch (",null,") ");
}
public void visitLiteralChar(GroovySourceAST t, int visit) {
print(t,visit,"char",null,null);
}
// visitLiteralClass ...
// token type "class" only used by parser, never visited/created directly
public void visitLiteralContinue(GroovySourceAST t, int visit) {
print(t,visit,"continue ",null,null);
}
// visitLiteralDef ...
// token type "def" only used by parser, never visited/created directly
public void visitLiteralDefault(GroovySourceAST t,int visit) {
print(t,visit,"default",null,":");
}
public void visitLiteralDouble(GroovySourceAST t, int visit) {
print(t,visit,"double",null,null);
}
// visitLiteralElse ...
// token type "else" only used by parser, never visited/created directly
// visitLiteralEnum ...
// token type "enum" only used by parser, never visited/created directly
// visitLiteralExtends
// token type "extends" only used by parser, never visited/created directly
public void visitLiteralFalse(GroovySourceAST t,int visit) {
print(t,visit,"false",null,null);
}
public void visitLiteralFinally(GroovySourceAST t,int visit) {
print(t,visit,"finally ",null,null);
}
public void visitLiteralFloat(GroovySourceAST t,int visit) {
print(t,visit,"float",null,null);
}
public void visitLiteralFor(GroovySourceAST t,int visit) {
print(t,visit,"for ",null,null);
}
public void visitLiteralIf(GroovySourceAST t,int visit) {
// slightly strange as subsequent visit is done after closing visit
printUpdatingTabLevel(t,visit,"if ("," else ",") ");
}
// visitLiteralImplements
// token type "implements" only used by parser, never visited/created directly
// visitLiteralImport
// token type "import" only used by parser, never visited/created directly
public void visitLiteralIn(GroovySourceAST t, int visit) {
print(t,visit," in ",null,null);
}
public void visitLiteralInstanceof(GroovySourceAST t, int visit) {
print(t,visit," instanceof ",null,null);
}
public void visitLiteralInt(GroovySourceAST t,int visit) {
print(t,visit,"int",null,null);
}
// visitLiteralInterface
// token type "interface" only used by parser, never visited/created directly
public void visitLiteralLong(GroovySourceAST t,int visit) {
print(t,visit,"long",null,null);
}
public void visitLiteralNative(GroovySourceAST t,int visit) {
print(t,visit,"native ",null,null);
}
public void visitLiteralNew(GroovySourceAST t,int visit) {
if (t.childOfType(GroovyTokenTypes.ARRAY_DECLARATOR) == null) {
// only print parenthesis if is not of form def x = new int[5]
print(t,visit,"new ","(",")");
} else {
print(t,visit,"new ",null,null);
}
}
public void visitLiteralNull(GroovySourceAST t, int visit) {
print(t,visit,"null",null,null);
}
// visitLiteralPackage
// token type "package" only used by parser, never visited/created directly
public void visitLiteralPrivate(GroovySourceAST t,int visit) {
print(t,visit,"private ",null,null);
}
public void visitLiteralProtected(GroovySourceAST t,int visit) {
print(t,visit,"protected ",null,null);
}
public void visitLiteralPublic(GroovySourceAST t,int visit) {
print(t,visit,"public ",null,null);
}
public void visitLiteralReturn(GroovySourceAST t, int visit) {
print(t,visit,"return ",null,null);
}
public void visitLiteralShort(GroovySourceAST t,int visit) {
print(t,visit,"short",null,null);
}
public void visitLiteralStatic(GroovySourceAST t, int visit) {
print(t,visit,"static ",null,null);
}
public void visitLiteralSuper(GroovySourceAST t, int visit) {
// only visited when calling super() without parentheses, i.e. "super 99" is equivalent to "super(99)"
print(t,visit,"super",null,null);
}
public void visitLiteralSwitch(GroovySourceAST t, int visit) {
if (visit == OPENING_VISIT) {
print(t,visit,"switch (");
tabLevel++;
}
if (visit == SUBSEQUENT_VISIT) {
print(t,visit,") {");
}
if (visit == CLOSING_VISIT) {
tabLevel--;
print(t,visit,"}");
}
}
public void visitLiteralSynchronized(GroovySourceAST t,int visit) {
if (t.getNumberOfChildren() > 0) {
print(t,visit,"synchronized (",null,") ");
} else {
print(t,visit,"synchronized ",null,null);
}
}
public void visitLiteralThis(GroovySourceAST t, int visit) {
print(t,visit,"this",null,null);
}
public void visitLiteralThreadsafe(GroovySourceAST t,int visit) {
print(t,visit,"threadsafe ",null,null);
}
public void visitLiteralThrow(GroovySourceAST t, int visit) {
print(t,visit,"throw ",null,null);
}
public void visitLiteralThrows(GroovySourceAST t, int visit) {
print(t,visit,"throws ",null,null);
}
public void visitLiteralTransient(GroovySourceAST t,int visit) {
print(t,visit,"transient ",null,null);
}
public void visitLiteralTrue(GroovySourceAST t,int visit) {
print(t,visit,"true",null,null);
}
public void visitLiteralTry(GroovySourceAST t,int visit) {
print(t,visit,"try ",null,null);
}
public void visitLiteralVoid(GroovySourceAST t,int visit) {
print(t,visit,"void",null,null);
}
public void visitLiteralVolatile(GroovySourceAST t,int visit) {
print(t,visit,"volatile ",null,null);
}
public void visitLiteralWhile(GroovySourceAST t,int visit) {
printUpdatingTabLevel(t,visit,"while (",null,") ");
}
public void visitLiteralWith(GroovySourceAST t,int visit) {
printUpdatingTabLevel(t,visit,"with (",null,") ");
}
public void visitLnot(GroovySourceAST t, int visit) {
print(t,visit,"!",null,null);
}
// Note: old closure syntax using LOR is deprecated, and also never creates/visits a LOR node
public void visitLor(GroovySourceAST t, int visit) {
print(t,visit," || ",null,null);
}
public void visitLt(GroovySourceAST t, int visit) {
print(t,visit," < ",null,null);
}
public void visitMapConstructor(GroovySourceAST t, int visit) {
if (t.getNumberOfChildren() == 0) {
print(t,visit,"[:]",null,null);
} else {
printUpdatingTabLevel(t,visit,"[",null,"]");
}
}
public void visitMemberPointer(GroovySourceAST t, int visit) {
print(t,visit,".&",null,null);
}
public void visitMethodCall(GroovySourceAST t,int visit) {
if ("<command>".equals(t.getText())) {
printUpdatingTabLevel(t,visit," "," ",null);
} else {
printUpdatingTabLevel(t,visit,"("," ",")");
}
}
public void visitMethodDef(GroovySourceAST t,int visit) {
//do nothing
}
public void visitMinus(GroovySourceAST t,int visit) {
print(t,visit," - ",null,null);
}
public void visitMinusAssign(GroovySourceAST t, int visit) {
print(t,visit," -= ",null,null);
}
// visitMlComment
// multi-line comments are not created on the AST currently.
public void visitMod(GroovySourceAST t, int visit) {
print(t,visit," % ",null,null);
}
public void visitModifiers(GroovySourceAST t,int visit) {
//do nothing
}
public void visitModAssign(GroovySourceAST t, int visit) {
print(t,visit," %= ",null,null);
}
// visitNls
// new lines are used by parser, but are not created on the AST,
// they can be implied by the source code line/column information
// visitNullTreeLookahead
// not used explicitly by parser.
public void visitNotEqual(GroovySourceAST t, int visit) {
print(t,visit," != ",null,null);
}
public void visitNumBigDecimal(GroovySourceAST t,int visit) {
print(t,visit,t.getText(),null,null);
}
public void visitNumBigInt(GroovySourceAST t,int visit) {
print(t,visit,t.getText(),null,null);
}
public void visitNumDouble(GroovySourceAST t,int visit) {
print(t,visit,t.getText(),null,null);
}
public void visitNumInt(GroovySourceAST t,int visit) {
print(t,visit,t.getText(),null,null);
}
public void visitNumFloat(GroovySourceAST t,int visit) {
print(t,visit,t.getText(),null,null);
}
public void visitNumLong(GroovySourceAST t,int visit) {
print(t,visit,t.getText(),null,null);
}
public void visitObjblock(GroovySourceAST t,int visit) {
if (visit == OPENING_VISIT) {
tabLevel++;
print(t,visit,"{");
} else {
tabLevel--;
print(t,visit,"}");
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?