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

📄 types.java

📁 大名鼎鼎的java动态脚本语言。已经通过了sun的认证
💻 JAVA
📖 第 1 页 / 共 4 页
字号:
    public static final int EXPRESSION                  = 1900;  // all of the below 1900 series    public static final int OPERATOR_EXPRESSION         = 1901;  // "."-"<<"    public static final int SYNTH_EXPRESSION            = 1902;  // cast, ternary, and closure expression    public static final int KEYWORD_EXPRESSION          = 1903;  // new, this, super, instanceof, true, false, null    public static final int LITERAL_EXPRESSION          = 1904;  // LITERAL    public static final int ARRAY_EXPRESSION            = 1905;  // "["    public static final int SIMPLE_EXPRESSION           = 1910;  // LITERAL, this, true, false, null    public static final int COMPLEX_EXPRESSION          = 1911;  // SIMPLE_EXPRESSION, and various molecules    //    // TYPE GROUPS (OPERATIONS SUPPORT)    public static final int PARAMETER_TERMINATORS       = 2000;  // ")", ","    public static final int ARRAY_ITEM_TERMINATORS      = 2001;  // "]", ","    public static final int TYPE_LIST_TERMINATORS       = 2002;  // "implements", "throws", "{", ","    public static final int OPTIONAL_DATATYPE_FOLLOWERS = 2003;  // identifier, "[", "."    public static final int SWITCH_BLOCK_TERMINATORS    = 2004;  // "case", "default", "}"    public static final int SWITCH_ENTRIES              = 2005;  // "case", "default"    public static final int METHOD_CALL_STARTERS        = 2006;  // LITERAL, "(", "{"    public static final int UNSAFE_OVER_NEWLINES        = 2007;  // things the expression parser should cross lines for in it doesn't have to    public static final int PRECLUDES_CAST_OPERATOR     = 2008;  // anything that prevents (X) from being a cast  //---------------------------------------------------------------------------  // TYPE HIERARCHIES   /**    *  Given two types, returns true if the second describes the first.    */    public static boolean ofType( int specific, int general )    {        if( general == specific )        {            return true;        }        switch( general )        {            case ANY:                return true;            case NOT_EOF:                return specific >= UNKNOWN && specific <= SYNTH_VARIABLE_DECLARATION;            case GENERAL_END_OF_STATEMENT:                switch( specific )                {                    case EOF:                    case NEWLINE:                    case SEMICOLON:                        return true;                }                break;            case ANY_END_OF_STATEMENT:                switch( specific )                {                    case EOF:                    case NEWLINE:                    case SEMICOLON:                    case RIGHT_CURLY_BRACE:                        return true;                }                break;            case ASSIGNMENT_OPERATOR:                return specific == EQUAL || (specific >= PLUS_EQUAL && specific <= POWER_EQUAL) || (specific >= LOGICAL_OR_EQUAL && specific <= LOGICAL_AND_EQUAL)                                         || (specific >= LEFT_SHIFT_EQUAL && specific <= RIGHT_SHIFT_UNSIGNED_EQUAL)                                         || (specific >= BITWISE_OR_EQUAL && specific <= BITWISE_XOR_EQUAL);            case COMPARISON_OPERATOR:                return specific >= COMPARE_NOT_EQUAL && specific <= COMPARE_TO;            case MATH_OPERATOR:                return (specific >= PLUS && specific <= RIGHT_SHIFT_UNSIGNED) || (specific >= NOT && specific <= LOGICAL_AND)                                 || (specific >= BITWISE_OR && specific <= BITWISE_XOR);            case LOGICAL_OPERATOR:                return specific >= NOT && specific <= LOGICAL_AND;            case BITWISE_OPERATOR:                return (specific >= BITWISE_OR && specific <= BITWISE_XOR) || specific == BITWISE_NEGATION;            case RANGE_OPERATOR:                return specific == DOT_DOT || specific == DOT_DOT_DOT;            case REGEX_COMPARISON_OPERATOR:                return specific == FIND_REGEX || specific == MATCH_REGEX;            case DEREFERENCE_OPERATOR:                return specific == DOT || specific == NAVIGATE;            case PREFIX_OPERATOR:                switch( specific )                {                    case MINUS:                    case PLUS_PLUS:                    case MINUS_MINUS:                        return true;                }                /* FALL THROUGH */            case PURE_PREFIX_OPERATOR:                switch( specific )                {                    case REGEX_PATTERN:                    case NOT:                    case PREFIX_PLUS:                    case PREFIX_PLUS_PLUS:                    case PREFIX_MINUS:                    case PREFIX_MINUS_MINUS:                    case SYNTH_CAST:                        return true;                }                break;            case POSTFIX_OPERATOR:                switch( specific )                {                    case PLUS_PLUS:                    case POSTFIX_PLUS_PLUS:                    case MINUS_MINUS:                    case POSTFIX_MINUS_MINUS:                        return true;                }                break;            case INFIX_OPERATOR:                switch( specific )                {                    case DOT:                    case NAVIGATE:                    case LOGICAL_OR:                    case LOGICAL_AND:                    case BITWISE_OR:                    case BITWISE_AND:                    case BITWISE_XOR:                    case LEFT_SHIFT:                    case RIGHT_SHIFT:                    case RIGHT_SHIFT_UNSIGNED:                    case FIND_REGEX:                    case MATCH_REGEX:                    case DOT_DOT:                    case DOT_DOT_DOT:                    case KEYWORD_INSTANCEOF:                        return true;                }                return (specific >= COMPARE_NOT_EQUAL && specific <= COMPARE_TO) || (specific >= PLUS && specific <= MOD_EQUAL) || specific == EQUAL || (specific >= PLUS_EQUAL && specific <= POWER_EQUAL) || (specific >= LOGICAL_OR_EQUAL && specific <= LOGICAL_AND_EQUAL)                                 || (specific >= LEFT_SHIFT_EQUAL && specific <= RIGHT_SHIFT_UNSIGNED_EQUAL) || (specific >= BITWISE_OR_EQUAL && specific <= BITWISE_XOR_EQUAL);            case PREFIX_OR_INFIX_OPERATOR:                switch( specific )                {                    case POWER:                    case PLUS:                    case MINUS:                    case PREFIX_PLUS:                    case PREFIX_MINUS:                        return true;                }                break;            case KEYWORD:                return specific >= KEYWORD_PRIVATE && specific <= KEYWORD_GOTO;            case SYMBOL:                return specific >= NEWLINE && specific <= PIPE;            case LITERAL:                return specific >= STRING && specific <= DECIMAL_NUMBER;            case NUMBER:                return specific == INTEGER_NUMBER || specific == DECIMAL_NUMBER;            case SIGN:                switch( specific )                {                    case PLUS:                    case MINUS:                        return true;                }                break;            case NAMED_VALUE:                return specific >= KEYWORD_TRUE && specific <= KEYWORD_NULL;            case TRUTH_VALUE:                return specific == KEYWORD_TRUE || specific == KEYWORD_FALSE;            case TYPE_NAME:                if( specific == IDENTIFIER )                {                    return true;                }                /* FALL THROUGH */            case PRIMITIVE_TYPE:                return specific >= KEYWORD_VOID && specific <= KEYWORD_CHAR;            case CREATABLE_TYPE_NAME:                if( specific == IDENTIFIER )                {                    return true;                }                /* FALL THROUGH */            case CREATABLE_PRIMITIVE_TYPE:                return specific >= KEYWORD_BOOLEAN && specific <= KEYWORD_CHAR;            case LOOP:                switch( specific )                {                    case KEYWORD_DO:                    case KEYWORD_WHILE:                    case KEYWORD_FOR:                        return true;                }                break;            case RESERVED_KEYWORD:                return specific >= KEYWORD_CONST && specific <= KEYWORD_GOTO;            case KEYWORD_IDENTIFIER:                switch( specific )                {                    case KEYWORD_CLASS:                    case KEYWORD_INTERFACE:                    case KEYWORD_MIXIN:                    case KEYWORD_DEF:                    case KEYWORD_DEFMACRO:                    case KEYWORD_IN:                    case KEYWORD_PROPERTY:                        return true;                }                break;            case SYNTHETIC:                return specific >= SYNTH_COMPILATION_UNIT && specific <= SYNTH_VARIABLE_DECLARATION;            case TYPE_DECLARATION:                return specific >= KEYWORD_CLASS && specific <= KEYWORD_MIXIN;            case DECLARATION_MODIFIER:                return specific >= KEYWORD_PRIVATE && specific <= KEYWORD_STATIC;            case MATCHED_CONTAINER:                switch( specific )                {                    case LEFT_CURLY_BRACE:                    case RIGHT_CURLY_BRACE:                    case LEFT_SQUARE_BRACKET:                    case RIGHT_SQUARE_BRACKET:                    case LEFT_PARENTHESIS:                    case RIGHT_PARENTHESIS:                        return true;                }                break;            case LEFT_OF_MATCHED_CONTAINER:                switch( specific )                {                    case LEFT_CURLY_BRACE:                    case LEFT_SQUARE_BRACKET:                    case LEFT_PARENTHESIS:                        return true;                }                break;            case RIGHT_OF_MATCHED_CONTAINER:                switch( specific )                {                    case RIGHT_CURLY_BRACE:                    case RIGHT_SQUARE_BRACKET:                    case RIGHT_PARENTHESIS:                        return true;                }                break;            case PARAMETER_TERMINATORS:                return specific == RIGHT_PARENTHESIS || specific == COMMA;            case ARRAY_ITEM_TERMINATORS:                return specific == RIGHT_SQUARE_BRACKET || specific == COMMA;            case TYPE_LIST_TERMINATORS:                switch( specific )                {                    case KEYWORD_IMPLEMENTS:                    case KEYWORD_THROWS:                    case LEFT_CURLY_BRACE:                    case COMMA:                        return true;                }                break;            case OPTIONAL_DATATYPE_FOLLOWERS:                switch( specific )                {                    case IDENTIFIER:                    case LEFT_SQUARE_BRACKET:                    case DOT:                        return true;                }                break;            case SWITCH_BLOCK_TERMINATORS:                if( specific == RIGHT_CURLY_BRACE )                {                    return true;                }                /* FALL THROUGH */            case SWITCH_ENTRIES:                return specific == KEYWORD_CASE || specific == KEYWORD_DEFAULT;            case METHOD_CALL_STARTERS:                if( specific >= STRING && specific <= DECIMAL_NUMBER )                {                    return true;                }                switch( specific )				{                	case LEFT_PARENTHESIS:                    case GSTRING_START:                    case SYNTH_GSTRING:                    case KEYWORD_NEW:                    	return true;                }                break;            case UNSAFE_OVER_NEWLINES:                if( ofType(specific, SYMBOL) )                {                    switch( specific )                    {                        case LEFT_CURLY_BRACE:                        case LEFT_PARENTHESIS:                        case LEFT_SQUARE_BRACKET:                        case PLUS:                        case PLUS_PLUS:                        case MINUS:                        case MINUS_MINUS:                        case REGEX_PATTERN:                        case NOT:                            return true;                    }                    return false;

⌨️ 快捷键说明

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