⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 javacodeviewer.java

📁 struts spring ibatis
💻 JAVA
📖 第 1 页 / 共 3 页
字号:
                            if (!Character.isDigit(char_line[i+1])) { // +0x43<-- this cannot be hex                                buffer.append(curr_char);                                state = ENTRY;                            }                            else {                                head_idx = i;                                state = NUMBER_BIN_INT_FLOAT_OCTAL;                            }                        }                        else {                            buffer.append(curr_char);                            state = NUMBER_BIN_INT_FLOAT_OCTAL;                        }                    }                    else if (curr_char == '/') {  // comment                        head_idx = i;                        state = IGNORE_BEGIN;                    }                    else if (curr_char == '\"') {  // string                        head_idx = i;                        state = STRING_ENTRY;                    }                    else if (curr_char == '\'') {  // character						head_idx = i;                        state = CHARACTER_ENTRY;                    }                    else if (curr_char == '{' || curr_char == '}') {  // scope bracket                        buffer.append(bracketStart);                        buffer.append(curr_char);                        buffer.append(bracketEnd);                        state = ACCEPT;                    }                    else if (curr_char == '\n') {  // in case of multiple newlines                        buffer.append(curr_char);                        state = NEWLINE_ENTRY;                    }                    else {  // space, =, >, <, \t, white_space, etc                        buffer.append(curr_char);                        state = ENTRY;                    }                    break;                case NUMBER_BIN_INT_FLOAT_OCTAL:                    if (Character.isJavaIdentifierPart(curr_char)) {                        // 1f 1xf 67.6 1. -1 +2 0l                        if (Character.isDigit(curr_char)) {                            // 87 10 12 00-0L                            state = NUMBER_BIN_INT_FLOAT_OCTAL;                        }                        else if (curr_char == 'l' || curr_char == 'L') {  // cheating... +l +L                            tail_idx = i;                            if (filterNumber) {                                buffer.append(numberStart);                            }                            buffer.append(char_line, head_idx, (tail_idx-head_idx));                            if (filterNumber) {                                buffer.append(numberEnd);                            }                            state = ACCEPT;                        }                        else {                            //-E +f 5e 1x 34234x 7979/7897 79+897 890-7989                            if (char_line[i-1] == '-' || char_line[i-1] == '+') {                                // -E +f -l -0l                                tail_idx = i;                                buffer.append(char_line, head_idx, (tail_idx-head_idx));                                state = ACCEPT;                            }                            else {  // must be numbers infront                                // 5e 1x 34234x 2342static 243} 243;                                tail_idx = i;                                if (filterNumber) {                                    buffer.append(numberStart);                                }                                buffer.append(char_line, head_idx, (tail_idx-head_idx));                                if (filterNumber) {                                    buffer.append(numberEnd);                                }                                state = ACCEPT;                                i--;                            }                        }                    }                    else {                        // 12324\ 23423\n 23432. 2432\r 2423\t 2421{ 423: 2342~ 242& 6868- 768+                        tail_idx = i;                        if (filterNumber) {                            buffer.append(numberStart);                        }                        buffer.append(char_line, head_idx, (tail_idx-head_idx));                        if (filterNumber) {                            buffer.append(numberEnd);                        }                        state = ACCEPT;                        i--;                    }                    break;                case NUMBER_HEX_BEGIN:                    if (Character.isJavaIdentifierPart(curr_char)) {                        // 0X 0B 05 0i 0x 00x3 0x0x0 0x00x 0x0005fg                        if (curr_char == 'x') {  // this accounts for proper case                            // 0xn 0xf 0xl                            state = NUMBER_HEX_REST;                        }                        else if (Character.isDigit(curr_char)) {                            // 0000.0 05 078799                            state = NUMBER_BIN_INT_FLOAT_OCTAL;                        }                        else {  // upper case letters, lower case minus 'x'                            // 0X 0b 0static 0case                            tail_idx = i;                            if (filterNumber) {                                buffer.append(numberStart);                            }                            buffer.append(char_line, head_idx, (tail_idx-head_idx));                            if (filterNumber) {                                buffer.append(numberEnd);                            }                            state = ACCEPT;                            i--;                        }                    }                    else {                        // 0. 0\n 0\t 0\r 0' '                        tail_idx = i;                        if (filterNumber) {                            buffer.append(numberStart);                        }                        buffer.append(char_line, head_idx, (tail_idx-head_idx));                        if (filterNumber) {                            buffer.append(numberEnd);                        }                        state = ACCEPT;                        i--;                    }                    break;                case NUMBER_HEX_REST:                    if (Character.isDigit(curr_char)) {                        state = NUMBER_HEX_REST;                    }                    else if (((int)curr_char >= 97 && (int)curr_char <= 102) ||                            ((int)curr_char >= 65 && (int)curr_char <= 70))                    {                        // 0x0 -> 0xf 0xFEef                        state = NUMBER_HEX_REST;                    }                    else if (curr_char == 'l' || curr_char == 'L') {                        tail_idx = i;                        if (filterNumber) {                            buffer.append(numberStart);                        }                        buffer.append(char_line, head_idx, (tail_idx-head_idx+1));                        if (filterNumber) {                            buffer.append(numberEnd);                        }                        state = ACCEPT;                    }                    else {                        // 0xg 0x~ 0x\n 0x\t 0x{                        tail_idx = i;                        if (filterNumber) {                            buffer.append(numberStart);                        }                        buffer.append(char_line, head_idx, (tail_idx-head_idx));                        if (filterNumber) {                            buffer.append(numberEnd);                        }                        state = ACCEPT;                        i--;                    }                    break;                case NEWLINE_ENTRY:                    // This is only for iterating through a sequence of \n's until we read something                    // else. To be in here, we've got to have read at least 1 newline already.                    if (curr_char == '\n') {                        // definitely have at least 2 consecutive newlines now                        // just keep on adding &nbsp;'s until we read something else                        buffer.append(nbsp);  // probably can get rid of this                        buffer.append(curr_char);                        state = NEWLINE_ENTRY;                    }                    else {  // anything else we process next time                        state = ACCEPT;                        i--;                    }                    break;                case STRING_ENTRY:  // tabs are caught also                    if (curr_char != '\"' && curr_char != '\n' && curr_char != '\r') {                        state = STRING_ENTRY;  // still reading a string                    }                    else if (curr_char == '\"') {                        if(char_line[i-1] != stringEscape) {                            tail_idx = i;                            buffer.append(stringStart);                            buffer.append(char_line, head_idx, (tail_idx-head_idx+1));                            buffer.append(stringEnd);                            state = ACCEPT;                        }                        else {  // escape this character's usual meaning                            state = STRING_ENTRY;                        }                    }                    else if (curr_char == '\n') {  // chop it off at previous char                        tail_idx = i;                        buffer.append(stringStart);                        buffer.append(char_line, head_idx, (tail_idx-head_idx));                        buffer.append(stringEnd);                        state = ACCEPT;                        i--;                    }                    else if (curr_char == '\r') {                        // shouldn't happen, as carriage returns were erased but ignore it just in                        // case                        tail_idx = i;                        buffer.append(stringStart);                        buffer.append(char_line, head_idx, (tail_idx-head_idx+1));                        buffer.append(stringEnd);                        state = ACCEPT;                        i--;                    }                    else {  // what did we miss                        ;                    }                    break;                case CHARACTER_ENTRY:                    if (curr_char != '\'' && curr_char != '\n' && curr_char != '\r') {                        // tabs are caught also                        state = CHARACTER_ENTRY;  // still reading a string                    }                    else if (curr_char == '\'') {                        if(char_line[i-1] != characterEscape) {                            tail_idx = i;                            buffer.append(characterStart);                            buffer.append(char_line, head_idx, (tail_idx-head_idx+1));                            buffer.append(characterEnd);                            state = ACCEPT;                        }                        else {  // escape this character's usual meaning                            state = CHARACTER_ENTRY;                        }                    }                    else if (curr_char == '\n') {                        tail_idx = i;                        buffer.append(characterStart);                        buffer.append(char_line, head_idx, (tail_idx-head_idx));                        buffer.append(characterEnd);                        state = ACCEPT;                        i--;                    }                    else if (curr_char == '\r') {                        // shouldn't happen, as carriage returns were erased                        tail_idx = i;                        buffer.append(characterStart);                        buffer.append(char_line, head_idx, (tail_idx-head_idx));                        buffer.append(characterEnd);                        state = ACCEPT;                        i--;                    }                    else {  // what did we miss                        ;  // stay in character_entry                    }                    break;                case INTERIM:                    if (Character.isJavaIdentifierPart(curr_char) || curr_char == '.') {                        state = INTERIM;                    }                    else if (curr_char == '(') {                        tail_idx = i;                        token = new String(char_line, head_idx, (tail_idx-head_idx));                        if(reservedWords.containsKey(token)) {  // keyword                            buffer.append(reservedWordStart);                            buffer.append(char_line, head_idx, (tail_idx-head_idx));                            buffer.append(reservedWordEnd);                        }                        else {  // method                            if (filterMethod) {                                buffer.append(methodStart);                            }                            buffer.append(char_line, head_idx, (tail_idx-head_idx));                            if (filterMethod) {                                buffer.append(methodEnd);                            }                        }                        buffer.append(curr_char);                        state = ACCEPT;                    }                    else if (curr_char == ')') {                        tail_idx = i;                        token = new String(char_line, head_idx, (tail_idx-head_idx));                        if(reservedWords.containsKey(token)) {  // keyword                            buffer.append(reservedWordStart);                            buffer.append(char_line, head_idx, (tail_idx-head_idx));                            buffer.append(reservedWordEnd);                            buffer.append(curr_char);                            state = ACCEPT;                        }                        else {                            buffer.append(char_line, head_idx, (tail_idx-head_idx));                            buffer.append(curr_char);                            state = ENTRY;                        }                    }                    else if (curr_char == ':') {                        // eg: default: etc                        tail_idx = i;                        token = new String(char_line, head_idx, (tail_idx-head_idx));                        if(reservedWords.containsKey(token)) {                            buffer.append(reservedWordStart);                            buffer.append(char_line, head_idx, (tail_idx-head_idx));                            buffer.append(reservedWordEnd);                            buffer.append(curr_char);                            state = ACCEPT;                        }                        else {                            buffer.append(char_line, head_idx, (tail_idx-head_idx));                            buffer.append(curr_char);                            state = ENTRY;                        }                    }                    else if (curr_char == ';') {                        // eg: break; return; etc                        tail_idx = i;                        token = new String(char_line, head_idx, (tail_idx-head_idx));                        if(reservedWords.containsKey(token)) {                            buffer.append(reservedWordStart);                            buffer.append(char_line, head_idx, (tail_idx-head_idx));                            buffer.append(reservedWordEnd);                            buffer.append(curr_char);                            state = ACCEPT;                        }                        else {

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -