mindmapprinter.java
来自「Groovy动态语言 运行在JVM中的动态语言 可以方便的处理业务逻辑变化大的业」· Java 代码 · 共 361 行 · 第 1/2 页
JAVA
361 行
case GroovyTokenTypes.NUM_LONG :
case GroovyTokenTypes.OBJBLOCK :
case GroovyTokenTypes.ONE_NL :
case GroovyTokenTypes.OPTIONAL_DOT :
case GroovyTokenTypes.PARAMETERS :
case GroovyTokenTypes.PARAMETER_DEF :
case GroovyTokenTypes.PLUS :
case GroovyTokenTypes.PLUS_ASSIGN :
case GroovyTokenTypes.POST_DEC :
case GroovyTokenTypes.POST_INC :
case GroovyTokenTypes.QUESTION :
case GroovyTokenTypes.RANGE_EXCLUSIVE :
case GroovyTokenTypes.RANGE_INCLUSIVE :
case GroovyTokenTypes.RBRACK :
case GroovyTokenTypes.RCURLY :
case GroovyTokenTypes.REGEXP_CTOR_END :
case GroovyTokenTypes.REGEXP_SYMBOL :
case GroovyTokenTypes.REGEX_FIND :
case GroovyTokenTypes.REGEX_MATCH :
case GroovyTokenTypes.RPAREN :
case GroovyTokenTypes.SCOPE_ESCAPE :
case GroovyTokenTypes.SELECT_SLOT :
case GroovyTokenTypes.SEMI :
case GroovyTokenTypes.SH_COMMENT :
case GroovyTokenTypes.SL :
case GroovyTokenTypes.SLIST :
case GroovyTokenTypes.SL_ASSIGN :
case GroovyTokenTypes.SL_COMMENT :
case GroovyTokenTypes.SPREAD_ARG :
case GroovyTokenTypes.SPREAD_DOT :
case GroovyTokenTypes.SPREAD_MAP_ARG :
case GroovyTokenTypes.SR :
case GroovyTokenTypes.SR_ASSIGN :
case GroovyTokenTypes.STAR :
case GroovyTokenTypes.STAR_ASSIGN :
case GroovyTokenTypes.STAR_STAR :
case GroovyTokenTypes.STAR_STAR_ASSIGN :
case GroovyTokenTypes.STATIC_IMPORT :
case GroovyTokenTypes.STATIC_INIT :
case GroovyTokenTypes.STRICTFP :
case GroovyTokenTypes.STRING_CH :
case GroovyTokenTypes.STRING_CONSTRUCTOR :
case GroovyTokenTypes.STRING_CTOR_END :
case GroovyTokenTypes.STRING_CTOR_MIDDLE :
case GroovyTokenTypes.STRING_CTOR_START :
case GroovyTokenTypes.STRING_NL :
case GroovyTokenTypes.SUPER_CTOR_CALL :
case GroovyTokenTypes.TRIPLE_DOT :
case GroovyTokenTypes.TYPECAST :
case GroovyTokenTypes.TYPE_ARGUMENT :
case GroovyTokenTypes.TYPE_ARGUMENTS :
case GroovyTokenTypes.TYPE_LOWER_BOUNDS :
case GroovyTokenTypes.TYPE_PARAMETER :
case GroovyTokenTypes.TYPE_PARAMETERS :
case GroovyTokenTypes.TYPE_UPPER_BOUNDS :
case GroovyTokenTypes.UNARY_MINUS :
case GroovyTokenTypes.UNARY_PLUS :
case GroovyTokenTypes.UNUSED_CONST :
case GroovyTokenTypes.UNUSED_DO :
case GroovyTokenTypes.UNUSED_GOTO :
case GroovyTokenTypes.VARIABLE_DEF :
case GroovyTokenTypes.VARIABLE_PARAMETER_DEF :
case GroovyTokenTypes.VOCAB :
case GroovyTokenTypes.WILDCARD_TYPE :
case GroovyTokenTypes.WS :
colour = black;
break;
case GroovyTokenTypes.STRING_LITERAL :
case GroovyTokenTypes.REGEXP_LITERAL :
colour = green;
break;
case GroovyTokenTypes.CLASS_DEF :
case GroovyTokenTypes.EXTENDS_CLAUSE :
case GroovyTokenTypes.IMPLEMENTS_CLAUSE :
case GroovyTokenTypes.IMPORT :
case GroovyTokenTypes.LITERAL_any :
case GroovyTokenTypes.LITERAL_as :
case GroovyTokenTypes.LITERAL_assert :
case GroovyTokenTypes.LITERAL_boolean :
case GroovyTokenTypes.LITERAL_break :
case GroovyTokenTypes.LITERAL_byte :
case GroovyTokenTypes.LITERAL_case :
case GroovyTokenTypes.LITERAL_catch :
case GroovyTokenTypes.LITERAL_char :
case GroovyTokenTypes.LITERAL_class :
case GroovyTokenTypes.LITERAL_continue :
case GroovyTokenTypes.LITERAL_def :
case GroovyTokenTypes.LITERAL_default :
case GroovyTokenTypes.LITERAL_double :
case GroovyTokenTypes.LITERAL_else :
case GroovyTokenTypes.LITERAL_enum :
case GroovyTokenTypes.LITERAL_extends :
case GroovyTokenTypes.LITERAL_false :
case GroovyTokenTypes.LITERAL_finally :
case GroovyTokenTypes.LITERAL_float :
case GroovyTokenTypes.LITERAL_for :
case GroovyTokenTypes.LITERAL_if :
case GroovyTokenTypes.LITERAL_implements :
case GroovyTokenTypes.LITERAL_import :
case GroovyTokenTypes.LITERAL_in :
case GroovyTokenTypes.LITERAL_instanceof :
case GroovyTokenTypes.LITERAL_int :
case GroovyTokenTypes.LITERAL_interface :
case GroovyTokenTypes.LITERAL_long :
case GroovyTokenTypes.LITERAL_native :
case GroovyTokenTypes.LITERAL_new :
case GroovyTokenTypes.LITERAL_null :
case GroovyTokenTypes.LITERAL_package :
case GroovyTokenTypes.LITERAL_private :
case GroovyTokenTypes.LITERAL_protected :
case GroovyTokenTypes.LITERAL_public :
case GroovyTokenTypes.LITERAL_return :
case GroovyTokenTypes.LITERAL_short :
case GroovyTokenTypes.LITERAL_static :
case GroovyTokenTypes.LITERAL_super :
case GroovyTokenTypes.LITERAL_switch :
case GroovyTokenTypes.LITERAL_synchronized :
case GroovyTokenTypes.LITERAL_this :
case GroovyTokenTypes.LITERAL_threadsafe :
case GroovyTokenTypes.LITERAL_throw :
case GroovyTokenTypes.LITERAL_throws :
case GroovyTokenTypes.LITERAL_transient :
case GroovyTokenTypes.LITERAL_true :
case GroovyTokenTypes.LITERAL_try :
case GroovyTokenTypes.LITERAL_void :
case GroovyTokenTypes.LITERAL_volatile :
case GroovyTokenTypes.LITERAL_while :
case GroovyTokenTypes.LITERAL_with :
case GroovyTokenTypes.PACKAGE_DEF :
case GroovyTokenTypes.TYPE :
colour = blue;
break;
case GroovyTokenTypes.IDENT :
colour = cyan;
break;
default:
colour = black;
break;
}
// leaf nodes that haven't been coloured yet
if (black.equals(colour) && t.getNumberOfChildren() == 0) {
colour = cyan;
}
return colour;
}
private String getName(GroovySourceAST t) {
String name = tokenNames[t.getType()] + " <" + t.getType() + ">";
if (!(escape(tokenNames[t.getType()]).equals(escape(t.getText())))) {
name = name + " : " + t.getText();
}
switch (t.getType()) {
case GroovyTokenTypes.METHOD_DEF :
case GroovyTokenTypes.VARIABLE_DEF :
GroovySourceAST identNode = t.childOfType(GroovyTokenTypes.IDENT);
if (identNode != null) {
name = name + " : " + identNode.getText() + "";
}
}
name = escape(name);
return name;
}
private String escape(String name) {
name = name.replace('"',' ');
name = name.replace('\'',' ');
name = name.replaceAll("&","&");
name = name.trim();
return name;
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?