summaryrefslogtreecommitdiffstats
path: root/src/tools/moc/token.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/tools/moc/token.h')
-rw-r--r--src/tools/moc/token.h410
1 files changed, 208 insertions, 202 deletions
diff --git a/src/tools/moc/token.h b/src/tools/moc/token.h
index 378d4c63f7..2920fadbb9 100644
--- a/src/tools/moc/token.h
+++ b/src/tools/moc/token.h
@@ -46,222 +46,228 @@
QT_BEGIN_NAMESPACE
-enum Token {
- NOTOKEN,
- IDENTIFIER,
- INTEGER_LITERAL,
- CHARACTER_LITERAL,
- STRING_LITERAL,
- BOOLEAN_LITERAL,
- HEADER_NAME,
- LANGLE,
- RANGLE,
- LPAREN,
- RPAREN,
- ELIPSIS,
- LBRACK,
- RBRACK,
- LBRACE,
- RBRACE,
- EQ,
- SCOPE,
- SEMIC,
- COLON,
- DOTSTAR,
- QUESTION,
- DOT,
- DYNAMIC_CAST,
- STATIC_CAST,
- REINTERPRET_CAST,
- CONST_CAST,
- TYPEID,
- THIS,
- TEMPLATE,
- THROW,
- TRY,
- CATCH,
- TYPEDEF,
- FRIEND,
- CLASS,
- NAMESPACE,
- ENUM,
- STRUCT,
- UNION,
- VIRTUAL,
- PRIVATE,
- PROTECTED,
- PUBLIC,
- EXPORT,
- AUTO,
- REGISTER,
- EXTERN,
- MUTABLE,
- ASM,
- USING,
- INLINE,
- EXPLICIT,
- STATIC,
- CONST,
- VOLATILE,
- OPERATOR,
- SIZEOF,
- NEW,
- DELETE,
- PLUS,
- MINUS,
- STAR,
- SLASH,
- PERCENT,
- HAT,
- AND,
- OR,
- TILDE,
- NOT,
- PLUS_EQ,
- MINUS_EQ,
- STAR_EQ,
- SLASH_EQ,
- PERCENT_EQ,
- HAT_EQ,
- AND_EQ,
- OR_EQ,
- LTLT,
- GTGT,
- GTGT_EQ,
- LTLT_EQ,
- EQEQ,
- NE,
- LE,
- GE,
- ANDAND,
- OROR,
- INCR,
- DECR,
- COMMA,
- ARROW_STAR,
- ARROW,
- CHAR,
- WCHAR,
- BOOL,
- SHORT,
- INT,
- LONG,
- SIGNED,
- UNSIGNED,
- FLOAT,
- DOUBLE,
- VOID,
- CASE,
- DEFAULT,
- IF,
- ELSE,
- SWITCH,
- WHILE,
- DO,
- FOR,
- BREAK,
- CONTINUE,
- GOTO,
- SIGNALS,
- SLOTS,
- RETURN,
- Q_META_TOKEN_BEGIN,
- Q_OBJECT_TOKEN = Q_META_TOKEN_BEGIN,
- Q_GADGET_TOKEN,
- Q_PROPERTY_TOKEN,
- Q_PLUGIN_METADATA_TOKEN,
- Q_ENUMS_TOKEN,
- Q_FLAGS_TOKEN,
- Q_DECLARE_FLAGS_TOKEN,
- Q_DECLARE_INTERFACE_TOKEN,
- Q_DECLARE_METATYPE_TOKEN,
- Q_CLASSINFO_TOKEN,
- Q_INTERFACES_TOKEN,
- Q_SIGNALS_TOKEN,
- Q_SLOTS_TOKEN,
- Q_SIGNAL_TOKEN,
- Q_SLOT_TOKEN,
- Q_PRIVATE_SLOT_TOKEN,
- Q_MOC_COMPAT_TOKEN,
- Q_INVOKABLE_TOKEN,
- Q_SCRIPTABLE_TOKEN,
- Q_PRIVATE_PROPERTY_TOKEN,
- Q_REVISION_TOKEN,
- Q_META_TOKEN_END,
- SPECIAL_TREATMENT_MARK = Q_META_TOKEN_END,
- MOC_INCLUDE_BEGIN,
- MOC_INCLUDE_END,
- CPP_COMMENT,
- C_COMMENT,
- FLOATING_LITERAL,
- HASH,
- QUOTE,
- SINGLEQUOTE,
- LANGLE_SCOPE,
- DIGIT,
- CHARACTER,
- NEWLINE,
- WHITESPACE,
- BACKSLASH,
- INCOMPLETE,
+#define FOR_ALL_TOKENS(F) \
+ F(NOTOKEN) \
+ F(IDENTIFIER) \
+ F(INTEGER_LITERAL) \
+ F(CHARACTER_LITERAL) \
+ F(STRING_LITERAL) \
+ F(BOOLEAN_LITERAL) \
+ F(HEADER_NAME) \
+ F(LANGLE) \
+ F(RANGLE) \
+ F(LPAREN) \
+ F(RPAREN) \
+ F(ELIPSIS) \
+ F(LBRACK) \
+ F(RBRACK) \
+ F(LBRACE) \
+ F(RBRACE) \
+ F(EQ) \
+ F(SCOPE) \
+ F(SEMIC) \
+ F(COLON) \
+ F(DOTSTAR) \
+ F(QUESTION) \
+ F(DOT) \
+ F(DYNAMIC_CAST) \
+ F(STATIC_CAST) \
+ F(REINTERPRET_CAST) \
+ F(CONST_CAST) \
+ F(TYPEID) \
+ F(THIS) \
+ F(TEMPLATE) \
+ F(THROW) \
+ F(TRY) \
+ F(CATCH) \
+ F(TYPEDEF) \
+ F(FRIEND) \
+ F(CLASS) \
+ F(NAMESPACE) \
+ F(ENUM) \
+ F(STRUCT) \
+ F(UNION) \
+ F(VIRTUAL) \
+ F(PRIVATE) \
+ F(PROTECTED) \
+ F(PUBLIC) \
+ F(EXPORT) \
+ F(AUTO) \
+ F(REGISTER) \
+ F(EXTERN) \
+ F(MUTABLE) \
+ F(ASM) \
+ F(USING) \
+ F(INLINE) \
+ F(EXPLICIT) \
+ F(STATIC) \
+ F(CONST) \
+ F(VOLATILE) \
+ F(OPERATOR) \
+ F(SIZEOF) \
+ F(NEW) \
+ F(DELETE) \
+ F(PLUS) \
+ F(MINUS) \
+ F(STAR) \
+ F(SLASH) \
+ F(PERCENT) \
+ F(HAT) \
+ F(AND) \
+ F(OR) \
+ F(TILDE) \
+ F(NOT) \
+ F(PLUS_EQ) \
+ F(MINUS_EQ) \
+ F(STAR_EQ) \
+ F(SLASH_EQ) \
+ F(PERCENT_EQ) \
+ F(HAT_EQ) \
+ F(AND_EQ) \
+ F(OR_EQ) \
+ F(LTLT) \
+ F(GTGT) \
+ F(GTGT_EQ) \
+ F(LTLT_EQ) \
+ F(EQEQ) \
+ F(NE) \
+ F(LE) \
+ F(GE) \
+ F(ANDAND) \
+ F(OROR) \
+ F(INCR) \
+ F(DECR) \
+ F(COMMA) \
+ F(ARROW_STAR) \
+ F(ARROW) \
+ F(CHAR) \
+ F(WCHAR) \
+ F(BOOL) \
+ F(SHORT) \
+ F(INT) \
+ F(LONG) \
+ F(SIGNED) \
+ F(UNSIGNED) \
+ F(FLOAT) \
+ F(DOUBLE) \
+ F(VOID) \
+ F(CASE) \
+ F(DEFAULT) \
+ F(IF) \
+ F(ELSE) \
+ F(SWITCH) \
+ F(WHILE) \
+ F(DO) \
+ F(FOR) \
+ F(BREAK) \
+ F(CONTINUE) \
+ F(GOTO) \
+ F(SIGNALS) \
+ F(SLOTS) \
+ F(RETURN) \
+ F(Q_OBJECT_TOKEN) \
+ F(Q_GADGET_TOKEN) \
+ F(Q_PROPERTY_TOKEN) \
+ F(Q_PLUGIN_METADATA_TOKEN) \
+ F(Q_ENUMS_TOKEN) \
+ F(Q_FLAGS_TOKEN) \
+ F(Q_DECLARE_FLAGS_TOKEN) \
+ F(Q_DECLARE_INTERFACE_TOKEN) \
+ F(Q_DECLARE_METATYPE_TOKEN) \
+ F(Q_CLASSINFO_TOKEN) \
+ F(Q_INTERFACES_TOKEN) \
+ F(Q_SIGNALS_TOKEN) \
+ F(Q_SLOTS_TOKEN) \
+ F(Q_SIGNAL_TOKEN) \
+ F(Q_SLOT_TOKEN) \
+ F(Q_PRIVATE_SLOT_TOKEN) \
+ F(Q_MOC_COMPAT_TOKEN) \
+ F(Q_INVOKABLE_TOKEN) \
+ F(Q_SCRIPTABLE_TOKEN) \
+ F(Q_PRIVATE_PROPERTY_TOKEN) \
+ F(Q_REVISION_TOKEN) \
+ F(SPECIAL_TREATMENT_MARK) \
+ F(MOC_INCLUDE_BEGIN) \
+ F(MOC_INCLUDE_END) \
+ F(CPP_COMMENT) \
+ F(C_COMMENT) \
+ F(FLOATING_LITERAL) \
+ F(HASH) \
+ F(QUOTE) \
+ F(SINGLEQUOTE) \
+ F(LANGLE_SCOPE) \
+ F(DIGIT) \
+ F(CHARACTER) \
+ F(NEWLINE) \
+ F(WHITESPACE) \
+ F(BACKSLASH) \
+ F(INCOMPLETE) \
+ F(PP_DEFINE) \
+ F(PP_UNDEF) \
+ F(PP_IF) \
+ F(PP_IFDEF) \
+ F(PP_IFNDEF) \
+ F(PP_ELIF) \
+ F(PP_ELSE) \
+ F(PP_ENDIF) \
+ F(PP_INCLUDE) \
+ F(PP_HASHHASH) \
+ F(PP_HASH) \
+ F(PP_DEFINED) \
+ F(PP_INCOMPLETE) \
+ F(PP_MOC_TRUE) \
+ F(PP_MOC_FALSE)
+
- PP_DEFINE,
- PP_UNDEF,
- PP_IF,
- PP_IFDEF,
- PP_IFNDEF,
- PP_ELIF,
- PP_ELSE,
- PP_ENDIF,
- PP_INCLUDE,
- PP_HASHHASH,
- PP_HASH,
- PP_DEFINED,
- PP_INCOMPLETE,
+enum Token {
- PP_MOC_TRUE,
- PP_MOC_FALSE,
+#define CREATE_ENUM_VALUE(Name) Name,
+ FOR_ALL_TOKENS(CREATE_ENUM_VALUE)
+#undef CREATE_ENUM_VALUE
- PP_NOTOKEN = NOTOKEN,
+ // aliases
+ PP_AND = AND,
+ PP_ANDAND = ANDAND,
+ PP_BACKSLASH = BACKSLASH,
+ PP_CHARACTER = CHARACTER,
+ PP_CHARACTER_LITERAL = CHARACTER_LITERAL,
+ PP_COLON = COLON,
+ PP_COMMA = COMMA,
+ PP_CPP_COMMENT = CPP_COMMENT,
+ PP_C_COMMENT = C_COMMENT,
+ PP_DIGIT = DIGIT,
+ PP_EQEQ = EQEQ,
+ PP_FLOATING_LITERAL = FLOATING_LITERAL,
+ PP_GE = GE,
+ PP_GTGT = GTGT,
+ PP_HAT = HAT,
PP_IDENTIFIER = IDENTIFIER,
PP_INTEGER_LITERAL = INTEGER_LITERAL,
- PP_CHARACTER_LITERAL = CHARACTER_LITERAL,
- PP_STRING_LITERAL = STRING_LITERAL,
PP_LANGLE = LANGLE,
- PP_RANGLE = RANGLE,
+ PP_LE = LE,
PP_LPAREN = LPAREN,
- PP_RPAREN = RPAREN,
- PP_COMMA = COMMA,
- PP_PLUS = PLUS,
- PP_MINUS = MINUS,
- PP_STAR = STAR,
- PP_SLASH = SLASH,
- PP_PERCENT = PERCENT,
- PP_HAT = HAT,
- PP_AND = AND,
- PP_OR = OR,
- PP_TILDE = TILDE,
- PP_NOT = NOT,
PP_LTLT = LTLT,
- PP_GTGT = GTGT,
- PP_EQEQ = EQEQ,
+ PP_MINUS = MINUS,
PP_NE = NE,
- PP_LE = LE,
- PP_GE = GE,
- PP_ANDAND = ANDAND,
+ PP_NEWLINE = NEWLINE,
+ PP_NOTOKEN = NOTOKEN,
+ PP_NOT = NOT,
+ PP_OR = OR,
PP_OROR = OROR,
+ PP_PERCENT = PERCENT,
+ PP_PLUS = PLUS,
PP_QUESTION = QUESTION,
- PP_COLON = COLON,
- PP_FLOATING_LITERAL = FLOATING_LITERAL,
PP_QUOTE = QUOTE,
+ PP_RANGLE = RANGLE,
+ PP_RPAREN = RPAREN,
PP_SINGLEQUOTE = SINGLEQUOTE,
- PP_DIGIT = DIGIT,
- PP_CHARACTER = CHARACTER,
+ PP_SLASH = SLASH,
+ PP_STAR = STAR,
+ PP_STRING_LITERAL = STRING_LITERAL,
+ PP_TILDE = TILDE,
PP_WHITESPACE = WHITESPACE,
- PP_NEWLINE = NEWLINE,
- PP_CPP_COMMENT = CPP_COMMENT,
- PP_C_COMMENT = C_COMMENT,
- PP_BACKSLASH = BACKSLASH
+ Q_META_TOKEN_BEGIN = Q_OBJECT_TOKEN,
+ Q_META_TOKEN_END = SPECIAL_TREATMENT_MARK
};
// for debugging only