diff options
Diffstat (limited to 'lldb/source/Symbol/ClangASTContext.cpp')
-rw-r--r-- | lldb/source/Symbol/ClangASTContext.cpp | 216 |
1 files changed, 0 insertions, 216 deletions
diff --git a/lldb/source/Symbol/ClangASTContext.cpp b/lldb/source/Symbol/ClangASTContext.cpp index aeba626190c..9c69d9479b2 100644 --- a/lldb/source/Symbol/ClangASTContext.cpp +++ b/lldb/source/Symbol/ClangASTContext.cpp @@ -1392,222 +1392,6 @@ ClangASTContext::CreateClassTemplateSpecializationType (ClassTemplateSpecializat return ClangASTType(); } -static bool -IsOperator (const char *name, OverloadedOperatorKind &op_kind) -{ - if (name == NULL || name[0] == '\0') - return false; - -#define OPERATOR_PREFIX "operator" -#define OPERATOR_PREFIX_LENGTH (sizeof (OPERATOR_PREFIX) - 1) - - const char *post_op_name = NULL; - - bool no_space = true; - - if (::strncmp(name, OPERATOR_PREFIX, OPERATOR_PREFIX_LENGTH)) - return false; - - post_op_name = name + OPERATOR_PREFIX_LENGTH; - - if (post_op_name[0] == ' ') - { - post_op_name++; - no_space = false; - } - -#undef OPERATOR_PREFIX -#undef OPERATOR_PREFIX_LENGTH - - // This is an operator, set the overloaded operator kind to invalid - // in case this is a conversion operator... - op_kind = NUM_OVERLOADED_OPERATORS; - - switch (post_op_name[0]) - { - default: - if (no_space) - return false; - break; - case 'n': - if (no_space) - return false; - if (strcmp (post_op_name, "new") == 0) - op_kind = OO_New; - else if (strcmp (post_op_name, "new[]") == 0) - op_kind = OO_Array_New; - break; - - case 'd': - if (no_space) - return false; - if (strcmp (post_op_name, "delete") == 0) - op_kind = OO_Delete; - else if (strcmp (post_op_name, "delete[]") == 0) - op_kind = OO_Array_Delete; - break; - - case '+': - if (post_op_name[1] == '\0') - op_kind = OO_Plus; - else if (post_op_name[2] == '\0') - { - if (post_op_name[1] == '=') - op_kind = OO_PlusEqual; - else if (post_op_name[1] == '+') - op_kind = OO_PlusPlus; - } - break; - - case '-': - if (post_op_name[1] == '\0') - op_kind = OO_Minus; - else if (post_op_name[2] == '\0') - { - switch (post_op_name[1]) - { - case '=': op_kind = OO_MinusEqual; break; - case '-': op_kind = OO_MinusMinus; break; - case '>': op_kind = OO_Arrow; break; - } - } - else if (post_op_name[3] == '\0') - { - if (post_op_name[2] == '*') - op_kind = OO_ArrowStar; break; - } - break; - - case '*': - if (post_op_name[1] == '\0') - op_kind = OO_Star; - else if (post_op_name[1] == '=' && post_op_name[2] == '\0') - op_kind = OO_StarEqual; - break; - - case '/': - if (post_op_name[1] == '\0') - op_kind = OO_Slash; - else if (post_op_name[1] == '=' && post_op_name[2] == '\0') - op_kind = OO_SlashEqual; - break; - - case '%': - if (post_op_name[1] == '\0') - op_kind = OO_Percent; - else if (post_op_name[1] == '=' && post_op_name[2] == '\0') - op_kind = OO_PercentEqual; - break; - - - case '^': - if (post_op_name[1] == '\0') - op_kind = OO_Caret; - else if (post_op_name[1] == '=' && post_op_name[2] == '\0') - op_kind = OO_CaretEqual; - break; - - case '&': - if (post_op_name[1] == '\0') - op_kind = OO_Amp; - else if (post_op_name[2] == '\0') - { - switch (post_op_name[1]) - { - case '=': op_kind = OO_AmpEqual; break; - case '&': op_kind = OO_AmpAmp; break; - } - } - break; - - case '|': - if (post_op_name[1] == '\0') - op_kind = OO_Pipe; - else if (post_op_name[2] == '\0') - { - switch (post_op_name[1]) - { - case '=': op_kind = OO_PipeEqual; break; - case '|': op_kind = OO_PipePipe; break; - } - } - break; - - case '~': - if (post_op_name[1] == '\0') - op_kind = OO_Tilde; - break; - - case '!': - if (post_op_name[1] == '\0') - op_kind = OO_Exclaim; - else if (post_op_name[1] == '=' && post_op_name[2] == '\0') - op_kind = OO_ExclaimEqual; - break; - - case '=': - if (post_op_name[1] == '\0') - op_kind = OO_Equal; - else if (post_op_name[1] == '=' && post_op_name[2] == '\0') - op_kind = OO_EqualEqual; - break; - - case '<': - if (post_op_name[1] == '\0') - op_kind = OO_Less; - else if (post_op_name[2] == '\0') - { - switch (post_op_name[1]) - { - case '<': op_kind = OO_LessLess; break; - case '=': op_kind = OO_LessEqual; break; - } - } - else if (post_op_name[3] == '\0') - { - if (post_op_name[2] == '=') - op_kind = OO_LessLessEqual; - } - break; - - case '>': - if (post_op_name[1] == '\0') - op_kind = OO_Greater; - else if (post_op_name[2] == '\0') - { - switch (post_op_name[1]) - { - case '>': op_kind = OO_GreaterGreater; break; - case '=': op_kind = OO_GreaterEqual; break; - } - } - else if (post_op_name[1] == '>' && - post_op_name[2] == '=' && - post_op_name[3] == '\0') - { - op_kind = OO_GreaterGreaterEqual; - } - break; - - case ',': - if (post_op_name[1] == '\0') - op_kind = OO_Comma; - break; - - case '(': - if (post_op_name[1] == ')' && post_op_name[2] == '\0') - op_kind = OO_Call; - break; - - case '[': - if (post_op_name[1] == ']' && post_op_name[2] == '\0') - op_kind = OO_Subscript; - break; - } - - return true; -} - static inline bool check_op_param (uint32_t op_kind, bool unary, bool binary, uint32_t num_params) { |