JavaParser Source Viewer

Home|JavaParser/com/github/javaparser/GeneratedJavaParserTokenManagerBase.java
1/*
2 * Copyright (C) 2007-2010 JĂșlio Vilmar Gesser.
3 * Copyright (C) 2011, 2013-2020 The JavaParser Team.
4 *
5 * This file is part of JavaParser.
6 *
7 * JavaParser can be used either under the terms of
8 * a) the GNU Lesser General Public License as published by
9 *     the Free Software Foundation, either version 3 of the License, or
10 *     (at your option) any later version.
11 * b) the terms of the Apache License
12 *
13 * You should have received a copy of both licenses in LICENCE.LGPL and
14 * LICENCE.APACHE. Please refer to those files for details.
15 *
16 * JavaParser is distributed in the hope that it will be useful,
17 * but WITHOUT ANY WARRANTY; without even the implied warranty of
18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
19 * GNU Lesser General Public License for more details.
20 */
21
22package com.github.javaparser;
23
24import com.github.javaparser.ast.comments.BlockComment;
25import com.github.javaparser.ast.comments.Comment;
26import com.github.javaparser.ast.comments.JavadocComment;
27import com.github.javaparser.ast.comments.LineComment;
28
29import static com.github.javaparser.GeneratedJavaParserConstants.*;
30
31/**
32 * Base class for {@link com.github.javaparser.GeneratedJavaParserTokenManager}
33 */
34abstract class GeneratedJavaParserTokenManagerBase {
35    /**
36     * Create a TokenRange that spans exactly one token
37     */
38    private static TokenRange tokenRange(Token token) {
39        JavaToken javaToken = token.javaToken;
40        return new TokenRange(javaTokenjavaToken);
41    }
42
43    /**
44     * Since comments are completely captured in a single token, including their delimiters, deconstruct them here so we
45     * can turn them into nodes later on.
46     */
47    static Comment createCommentFromToken(Token token) {
48        String commentText = token.image;
49        if (token.kind == JAVADOC_COMMENT) {
50            return new JavadocComment(tokenRange(token), commentText.substring(3commentText.length() - 2));
51        } else if (token.kind == MULTI_LINE_COMMENT) {
52            return new BlockComment(tokenRange(token), commentText.substring(2commentText.length() - 2));
53        } else if (token.kind == SINGLE_LINE_COMMENT) {
54            return new LineComment(tokenRange(token), commentText.substring(2));
55        }
56        throw new AssertionError("Unexpectedly got passed a non-comment token.");
57    }
58}
59
MembersX
GeneratedJavaParserTokenManagerBase:createCommentFromToken:Block:commentText
GeneratedJavaParserTokenManagerBase:tokenRange
GeneratedJavaParserTokenManagerBase:createCommentFromToken
GeneratedJavaParserTokenManagerBase:tokenRange:Block:javaToken
Members
X