static { List<String> directives = new ArrayList<String>(); List<String> keywords = new ArrayList<String>(); List<String> pseudoKeywords = new ArrayList<String>(); List<String> operators = new ArrayList<String>(); com.google.dart.compiler.parser.Token[] tokens = com.google.dart.compiler.parser.Token.values(); for (int i = 0; i < tokens.length; i++) { com.google.dart.compiler.parser.Token token = tokens[i]; if ((BREAK.ordinal() <= token.ordinal() && token.ordinal() <= WITH.ordinal()) || token.ordinal() == AS.ordinal() || token.ordinal() == IS.ordinal()) { keywords.add(token.getSyntax()); } if ((LIBRARY.ordinal() <= token.ordinal()) && (token.ordinal() <= NATIVE.ordinal())) { String name = token.getSyntax(); directives.add(name.substring(1)); } if (token.isBinaryOperator() || token.isUnaryOperator()) { operators.add(token.getSyntax()); } } for (String kw : DartParser.PSEUDO_KEYWORDS) { pseudoKeywords.add(kw); } DIRECTIVES = directives.toArray(new String[directives.size()]); KEYWORDS = keywords.toArray(new String[keywords.size()]); PSEUDO_KEYWORDS = pseudoKeywords.toArray(new String[pseudoKeywords.size()]); OPERATORS = operators.toArray(new String[operators.size()]); }