TokenTypes.java revision 9192b9d17903947058b755b987d1c57a05821e58
14b87b2b6b407077eb064ac949baaa2fbd0487986Federico Tomassettipackage com.github.javaparser.printer;
24b87b2b6b407077eb064ac949baaa2fbd0487986Federico Tomassetti
39192b9d17903947058b755b987d1c57a05821e58Danny van Bruggenimport com.github.javaparser.GeneratedJavaParserConstants;
49192b9d17903947058b755b987d1c57a05821e58Danny van Bruggenimport com.github.javaparser.utils.Utils;
59192b9d17903947058b755b987d1c57a05821e58Danny van Bruggen
6b1cd1afb0aaa19f370a169350318496ca7e541bbDanny van Bruggenimport static com.github.javaparser.GeneratedJavaParserConstants.*;
79192b9d17903947058b755b987d1c57a05821e58Danny van Bruggenimport static com.github.javaparser.utils.Utils.*;
815cb49e74025eb4011187f31735aa4772993fb5dFederico Tomassetti
94b87b2b6b407077eb064ac949baaa2fbd0487986Federico Tomassetti/**
10de2adb51f6f0465024755f034fe27de56c651ffdDanny van Bruggen * It complements GeneratedJavaParserConstants
114b87b2b6b407077eb064ac949baaa2fbd0487986Federico Tomassetti */
124b87b2b6b407077eb064ac949baaa2fbd0487986Federico Tomassettipublic class TokenConstants {
1315cb49e74025eb4011187f31735aa4772993fb5dFederico Tomassetti    public static boolean isWhitespace(int tokenType) {
149192b9d17903947058b755b987d1c57a05821e58Danny van Bruggen        return tokenType >= EOF && tokenType <= ZERO_WIDTH_NO_BREAK_SPACE;
1515cb49e74025eb4011187f31735aa4772993fb5dFederico Tomassetti    }
1615cb49e74025eb4011187f31735aa4772993fb5dFederico Tomassetti
17b1cd1afb0aaa19f370a169350318496ca7e541bbDanny van Bruggen    public static boolean isEndOfLineCharacter(int tokenType) {
189192b9d17903947058b755b987d1c57a05821e58Danny van Bruggen        switch (tokenType) {
199192b9d17903947058b755b987d1c57a05821e58Danny van Bruggen            case WINDOWS_EOL:
209192b9d17903947058b755b987d1c57a05821e58Danny van Bruggen            case OLD_MAC_EOL:
219192b9d17903947058b755b987d1c57a05821e58Danny van Bruggen            case UNIX_EOL:
229192b9d17903947058b755b987d1c57a05821e58Danny van Bruggen                return true;
239192b9d17903947058b755b987d1c57a05821e58Danny van Bruggen            default:
249192b9d17903947058b755b987d1c57a05821e58Danny van Bruggen                return false;
259192b9d17903947058b755b987d1c57a05821e58Danny van Bruggen        }
26b1cd1afb0aaa19f370a169350318496ca7e541bbDanny van Bruggen    }
27b1cd1afb0aaa19f370a169350318496ca7e541bbDanny van Bruggen
2815cb49e74025eb4011187f31735aa4772993fb5dFederico Tomassetti    public static boolean isWhitespaceOrComment(int tokenType) {
2915cb49e74025eb4011187f31735aa4772993fb5dFederico Tomassetti        return isWhitespace(tokenType) || isComment(tokenType);
3015cb49e74025eb4011187f31735aa4772993fb5dFederico Tomassetti    }
3115cb49e74025eb4011187f31735aa4772993fb5dFederico Tomassetti
32bd0af28e7b81048d9bda153b908c727304ca8a04Federico Tomassetti    public static boolean isSpaceOrTab(int tokenType) {
339192b9d17903947058b755b987d1c57a05821e58Danny van Bruggen        switch (tokenType) {
349192b9d17903947058b755b987d1c57a05821e58Danny van Bruggen            case SPACE:
359192b9d17903947058b755b987d1c57a05821e58Danny van Bruggen                // TODO lots more space tokens in the grammar!
369192b9d17903947058b755b987d1c57a05821e58Danny van Bruggen            case GeneratedJavaParserConstants.TAB:
379192b9d17903947058b755b987d1c57a05821e58Danny van Bruggen                return true;
389192b9d17903947058b755b987d1c57a05821e58Danny van Bruggen            default:
399192b9d17903947058b755b987d1c57a05821e58Danny van Bruggen                return false;
409192b9d17903947058b755b987d1c57a05821e58Danny van Bruggen        }
41bd0af28e7b81048d9bda153b908c727304ca8a04Federico Tomassetti    }
42bd0af28e7b81048d9bda153b908c727304ca8a04Federico Tomassetti
4315cb49e74025eb4011187f31735aa4772993fb5dFederico Tomassetti    public static boolean isComment(int tokenType) {
44b1cd1afb0aaa19f370a169350318496ca7e541bbDanny van Bruggen        return tokenType == SINGLE_LINE_COMMENT
45b1cd1afb0aaa19f370a169350318496ca7e541bbDanny van Bruggen                || tokenType == MULTI_LINE_COMMENT
46b1cd1afb0aaa19f370a169350318496ca7e541bbDanny van Bruggen                || tokenType == JAVA_DOC_COMMENT;
4715cb49e74025eb4011187f31735aa4772993fb5dFederico Tomassetti    }
489192b9d17903947058b755b987d1c57a05821e58Danny van Bruggen
499192b9d17903947058b755b987d1c57a05821e58Danny van Bruggen    public static int eolToken() {
509192b9d17903947058b755b987d1c57a05821e58Danny van Bruggen        if(EOL.equals("\n")){
519192b9d17903947058b755b987d1c57a05821e58Danny van Bruggen            return UNIX_EOL;
529192b9d17903947058b755b987d1c57a05821e58Danny van Bruggen        }
539192b9d17903947058b755b987d1c57a05821e58Danny van Bruggen        if(EOL.equals("\r\n")){
549192b9d17903947058b755b987d1c57a05821e58Danny van Bruggen            return WINDOWS_EOL;
559192b9d17903947058b755b987d1c57a05821e58Danny van Bruggen        }
569192b9d17903947058b755b987d1c57a05821e58Danny van Bruggen        if(EOL.equals("\r")){
579192b9d17903947058b755b987d1c57a05821e58Danny van Bruggen            return OLD_MAC_EOL;
589192b9d17903947058b755b987d1c57a05821e58Danny van Bruggen        }
599192b9d17903947058b755b987d1c57a05821e58Danny van Bruggen        throw new AssertionError("Unknown EOL character sequence");
609192b9d17903947058b755b987d1c57a05821e58Danny van Bruggen    }
619192b9d17903947058b755b987d1c57a05821e58Danny van Bruggen
629192b9d17903947058b755b987d1c57a05821e58Danny van Bruggen    public static int spaceToken() {
639192b9d17903947058b755b987d1c57a05821e58Danny van Bruggen        return SPACE;
649192b9d17903947058b755b987d1c57a05821e58Danny van Bruggen    }
654b87b2b6b407077eb064ac949baaa2fbd0487986Federico Tomassetti}
66