当前位置: 首页>>代码示例>>Java>>正文


Java TokenKind类代码示例

本文整理汇总了Java中com.sun.tools.javac.parser.Tokens.TokenKind的典型用法代码示例。如果您正苦于以下问题:Java TokenKind类的具体用法?Java TokenKind怎么用?Java TokenKind使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


TokenKind类属于com.sun.tools.javac.parser.Tokens包,在下文中一共展示了TokenKind类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: parseParams

import com.sun.tools.javac.parser.Tokens.TokenKind; //导入依赖的package包/类
List<JCTree> parseParams(String s) throws ParseException {
    if (s.trim().isEmpty())
        return List.nil();

    JavacParser p = fac.newParser(s.replace("...", "[]"), false, false, false);
    ListBuffer<JCTree> paramTypes = new ListBuffer<JCTree>();
    paramTypes.add(p.parseType());

    if (p.token().kind == TokenKind.IDENTIFIER)
        p.nextToken();

    while (p.token().kind == TokenKind.COMMA) {
        p.nextToken();
        paramTypes.add(p.parseType());

        if (p.token().kind == TokenKind.IDENTIFIER)
            p.nextToken();
    }

    if (p.token().kind != TokenKind.EOF)
        throw new ParseException("dc.ref.unexpected.input");

    return paramTypes.toList();
}
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:25,代码来源:DocCommentParser.java

示例2: parseParams

import com.sun.tools.javac.parser.Tokens.TokenKind; //导入依赖的package包/类
private List<JCTree> parseParams(String s) throws ParseException {
    if (s.trim().isEmpty())
        return List.nil();

    JavacParser p = fac.newParser(s.replace("...", "[]"), false, false, false);
    ListBuffer<JCTree> paramTypes = new ListBuffer<>();
    paramTypes.add(p.parseType());

    if (p.token().kind == TokenKind.IDENTIFIER)
        p.nextToken();

    while (p.token().kind == TokenKind.COMMA) {
        p.nextToken();
        paramTypes.add(p.parseType());

        if (p.token().kind == TokenKind.IDENTIFIER)
            p.nextToken();
    }

    if (p.token().kind != TokenKind.EOF)
        throw new ParseException("dc.ref.unexpected.input");

    return paramTypes.toList();
}
 
开发者ID:AdoptOpenJDK,项目名称:openjdk-jdk10,代码行数:25,代码来源:ReferenceParser.java

示例3: parseParams

import com.sun.tools.javac.parser.Tokens.TokenKind; //导入依赖的package包/类
List<JCTree> parseParams(String s) throws ParseException {
    if (s.trim().isEmpty())
        return List.nil();

    JavacParser p = fac.newParser(s.replace("...", "[]"), false, false, false);
    ListBuffer<JCTree> paramTypes = new ListBuffer<>();
    paramTypes.add(p.parseType());

    if (p.token().kind == TokenKind.IDENTIFIER)
        p.nextToken();

    while (p.token().kind == TokenKind.COMMA) {
        p.nextToken();
        paramTypes.add(p.parseType());

        if (p.token().kind == TokenKind.IDENTIFIER)
            p.nextToken();
    }

    if (p.token().kind != TokenKind.EOF)
        throw new ParseException("dc.ref.unexpected.input");

    return paramTypes.toList();
}
 
开发者ID:AdoptOpenJDK,项目名称:openjdk-jdk10,代码行数:25,代码来源:DocCommentParser.java

示例4: run

import com.sun.tools.javac.parser.Tokens.TokenKind; //导入依赖的package包/类
void run() throws Exception {
    Context ctx = new Context();
    Log log = Log.instance(ctx);
    String input = "0bL 0b20L 0xL ";
    log.useSource(new SimpleJavaFileObject(new URI("mem://Test.java"), JavaFileObject.Kind.SOURCE) {
        @Override
        public CharSequence getCharContent(boolean ignoreEncodingErrors) throws IOException {
            return input;
        }
    });
    char[] inputArr = input.toCharArray();
    JavaTokenizer tokenizer = new JavaTokenizer(ScannerFactory.instance(ctx), inputArr, inputArr.length) {
    };

    assertKind(input, tokenizer, TokenKind.LONGLITERAL, "0bL");
    assertKind(input, tokenizer, TokenKind.LONGLITERAL, "0b20L");
    assertKind(input, tokenizer, TokenKind.LONGLITERAL, "0xL");
}
 
开发者ID:AdoptOpenJDK,项目名称:openjdk-jdk10,代码行数:19,代码来源:JavaLexerTest.java

示例5: renameMethod

import com.sun.tools.javac.parser.Tokens.TokenKind; //导入依赖的package包/类
/** Be warned, only changes method name at the declaration. */
public static SuggestedFix renameMethod(
    MethodTree tree, final String replacement, VisitorState state) {
  // Search tokens from beginning of method tree to beginning of method body.
  int basePos = ((JCTree) tree).getStartPosition();
  int endPos =
      tree.getBody() != null
          ? ((JCTree) tree.getBody()).getStartPosition()
          : state.getEndPosition(tree);
  List<ErrorProneToken> methodTokens =
      ErrorProneTokens.getTokens(
          state.getSourceCode().subSequence(basePos, endPos).toString(), state.context);
  for (ErrorProneToken token : methodTokens) {
    if (token.kind() == TokenKind.IDENTIFIER && token.name().equals(tree.getName())) {
      int nameStartPosition = basePos + token.pos();
      int nameEndPosition = basePos + token.endPos();
      return SuggestedFix.builder()
          .replace(nameStartPosition, nameEndPosition, replacement)
          .build();
    }
  }
  // Method name not found.
  throw new AssertionError();
}
 
开发者ID:google,项目名称:error-prone,代码行数:25,代码来源:SuggestedFixes.java

示例6: parseExpression

import com.sun.tools.javac.parser.Tokens.TokenKind; //导入依赖的package包/类
private static JCExpression parseExpression(Context context, CharSequence expr, boolean onlyFullInput, SourcePositions[] pos, final List<Diagnostic<? extends JavaFileObject>> errors) {
    if (expr == null || (pos != null && pos.length != 1))
        throw new IllegalArgumentException();
    JavaCompiler compiler = JavaCompiler.instance(context);
    JavaFileObject prev = compiler.log.useSource(new DummyJFO());
    Log.DiagnosticHandler discardHandler = new Log.DiscardDiagnosticHandler(compiler.log) {
        @Override
        public void report(JCDiagnostic diag) {
            errors.add(diag);
        }            
    };
    try {
        CharBuffer buf = CharBuffer.wrap((expr+"\u0000").toCharArray(), 0, expr.length());
        ParserFactory factory = ParserFactory.instance(context);
        ScannerFactory scannerFactory = ScannerFactory.instance(context);
        Names names = Names.instance(context);
        Scanner scanner = scannerFactory.newScanner(buf, false);
        Parser parser = new JackpotJavacParser(context, (NBParserFactory) factory, scanner, false, false, CancelService.instance(context), names);
        if (parser instanceof JavacParser) {
            if (pos != null)
                pos[0] = new ParserSourcePositions((JavacParser)parser);
            JCExpression result = parser.parseExpression();

            if (!onlyFullInput || scanner.token().kind == TokenKind.EOF) {
                return result;
            }
        }
        return null;
    } finally {
        compiler.log.useSource(prev);
        compiler.log.popDiagnosticHandler(discardHandler);
    }
}
 
开发者ID:apache,项目名称:incubator-netbeans,代码行数:34,代码来源:Utilities.java

示例7: parseType

import com.sun.tools.javac.parser.Tokens.TokenKind; //导入依赖的package包/类
JCTree parseType(String s) throws ParseException {
    JavacParser p = fac.newParser(s, false, false, false);
    JCTree tree = p.parseType();
    if (p.token().kind != TokenKind.EOF)
        throw new ParseException("dc.ref.unexpected.input");
    return tree;
}
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:8,代码来源:DocCommentParser.java

示例8: parseMember

import com.sun.tools.javac.parser.Tokens.TokenKind; //导入依赖的package包/类
Name parseMember(String s) throws ParseException {
    JavacParser p = fac.newParser(s, false, false, false);
    Name name = p.ident();
    if (p.token().kind != TokenKind.EOF)
        throw new ParseException("dc.ref.unexpected.input");
    return name;
}
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:8,代码来源:DocCommentParser.java

示例9: parseType

import com.sun.tools.javac.parser.Tokens.TokenKind; //导入依赖的package包/类
private JCTree parseType(String s) throws ParseException {
    JavacParser p = fac.newParser(s, false, false, false);
    JCTree tree = p.parseType();
    if (p.token().kind != TokenKind.EOF)
        throw new ParseException("dc.ref.unexpected.input");
    return tree;
}
 
开发者ID:AdoptOpenJDK,项目名称:openjdk-jdk10,代码行数:8,代码来源:ReferenceParser.java

示例10: parseMember

import com.sun.tools.javac.parser.Tokens.TokenKind; //导入依赖的package包/类
private Name parseMember(String s) throws ParseException {
    JavacParser p = fac.newParser(s, false, false, false);
    Name name = p.ident();
    if (p.token().kind != TokenKind.EOF)
        throw new ParseException("dc.ref.unexpected.input");
    return name;
}
 
开发者ID:AdoptOpenJDK,项目名称:openjdk-jdk10,代码行数:8,代码来源:ReferenceParser.java

示例11: tokenKindToTK

import com.sun.tools.javac.parser.Tokens.TokenKind; //导入依赖的package包/类
private static TK tokenKindToTK(TK prev, TokenKind kind) {
    TK tk = tokenKindToTKMap.get(kind);
    if (tk == null) {
        System.err.printf("No corresponding %s for %s: %s\n",
                TK.class.getCanonicalName(),
                TokenKind.class.getCanonicalName(),
                kind);
        throw new InternalError("No corresponding TK for TokenKind: " + kind);
    }
    return tk.mapping != null
            ? tk.mapping.apply(prev)
            : tk;
}
 
开发者ID:AdoptOpenJDK,项目名称:openjdk-jdk10,代码行数:14,代码来源:CompletenessAnalyzer.java

示例12: match

import com.sun.tools.javac.parser.Tokens.TokenKind; //导入依赖的package包/类
private CT match(TK tk, TokenKind open) {
    Token tok = advance();
    db("match desired-tk=%s, open=%s, seen-tok=%s", tk, open, tok.kind);
    if (stack.isEmpty()) {
        return new CT(ERROR, tok, "Encountered '" + tok + "' with no opening '" + open + "'");
    }
    Token p = stack.pop();
    if (p.kind != open) {
        return new CT(ERROR, tok, "No match for '" + p + "' instead encountered '" + tok + "'");
    }
    return new CT(tk, tok);
}
 
开发者ID:AdoptOpenJDK,项目名称:openjdk-jdk10,代码行数:13,代码来源:CompletenessAnalyzer.java

示例13: assertKind

import com.sun.tools.javac.parser.Tokens.TokenKind; //导入依赖的package包/类
void assertKind(String input, JavaTokenizer tokenizer, TokenKind kind, String expectedText) {
    Token token = tokenizer.readToken();

    if (token.kind != kind) {
        throw new AssertionError("Unexpected token kind: " + token.kind);
    }

    String actualText = input.substring(token.pos, token.endPos);

    if (!Objects.equals(actualText, expectedText)) {
        throw new AssertionError("Unexpected token text: " + actualText);
    }
}
 
开发者ID:AdoptOpenJDK,项目名称:openjdk-jdk10,代码行数:14,代码来源:JavaLexerTest.java

示例14: tokenKindToTK

import com.sun.tools.javac.parser.Tokens.TokenKind; //导入依赖的package包/类
private static TK tokenKindToTK(TokenKind kind) {
    TK tk = tokenKindToTKMap.get(kind);
    if (tk == null) {
        System.err.printf("No corresponding %s for %s: %s\n",
                TK.class.getCanonicalName(),
                TokenKind.class.getCanonicalName(),
                kind);
        throw new InternalError("No corresponding TK for TokenKind: " + kind);
    }
    return tk;
}
 
开发者ID:campolake,项目名称:openjdk9,代码行数:12,代码来源:CompletenessAnalyzer.java

示例15: getThrowsPosition

import com.sun.tools.javac.parser.Tokens.TokenKind; //导入依赖的package包/类
private static int getThrowsPosition(MethodTree tree, VisitorState state) {
  for (ErrorProneToken token : state.getTokensForNode(tree)) {
    if (token.kind() == Tokens.TokenKind.THROWS) {
      return ((JCTree) tree).getStartPosition() + token.pos();
    }
  }
  throw new AssertionError();
}
 
开发者ID:google,项目名称:error-prone,代码行数:9,代码来源:SuggestedFixes.java


注:本文中的com.sun.tools.javac.parser.Tokens.TokenKind类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。