Centralized the expression prefixes that are used for both expressions and utility...
authorGreg Clayton <gclayton@apple.com>
Wed, 13 Feb 2013 23:57:48 +0000 (23:57 +0000)
committerGreg Clayton <gclayton@apple.com>
Wed, 13 Feb 2013 23:57:48 +0000 (23:57 +0000)
llvm-svn: 175108

lldb/include/lldb/Expression/ExpressionSourceCode.h
lldb/source/Expression/ClangUtilityFunction.cpp
lldb/source/Expression/ExpressionSourceCode.cpp

index 7e908fb..be1014a 100644 (file)
@@ -20,6 +20,8 @@ namespace lldb_private
 class ExpressionSourceCode
 {
 public:
+    static const char * g_expression_prefix;
+
     static ExpressionSourceCode *CreateWrapped (const char *prefix,
                                                 const char *body)
     {
index c259162..2f41ae9 100644 (file)
 #include "lldb/Expression/ClangExpressionDeclMap.h"
 #include "lldb/Expression/ClangExpressionParser.h"
 #include "lldb/Expression/ClangUtilityFunction.h"
+#include "lldb/Expression/ExpressionSourceCode.h"
 #include "lldb/Host/Host.h"
 #include "lldb/Target/ExecutionContext.h"
 #include "lldb/Target/Target.h"
 
 using namespace lldb_private;
 
-static const char *g_global_defines =
-"#undef NULL                       \n"
-"#undef Nil                        \n"
-"#undef nil                        \n"
-"#undef YES                        \n"
-"#undef NO                         \n"
-"#define NULL ((int)0)             \n"
-"#define Nil ((Class)0)            \n"
-"#define nil ((id)0)               \n"
-"#define YES ((BOOL)1)             \n"
-"#define NO ((BOOL)0)              \n"
-"typedef signed char BOOL;         \n"
-"typedef signed __INT8_TYPE__ int8_t;\n"
-"typedef unsigned __INT8_TYPE__ uint8_t;\n"
-"typedef signed __INT16_TYPE__ int16_t;\n"
-"typedef unsigned __INT16_TYPE__ uint16_t;\n"
-"typedef signed __INT32_TYPE__ int32_t;\n"
-"typedef unsigned __INT32_TYPE__ uint32_t;\n"
-"typedef signed __INT64_TYPE__ int64_t;\n"
-"typedef unsigned __INT64_TYPE__ uint64_t;\n"
-"typedef signed __INTPTR_TYPE__ intptr_t;\n"
-"typedef unsigned __INTPTR_TYPE__ uintptr_t;\n"
-"typedef __SIZE_TYPE__ size_t; \n"
-"typedef __PTRDIFF_TYPE__ ptrdiff_t;\n"
-"typedef unsigned short unichar;\n";
-
-
 //------------------------------------------------------------------
 /// Constructor
 ///
@@ -67,7 +41,7 @@ static const char *g_global_defines =
 ClangUtilityFunction::ClangUtilityFunction (const char *text, 
                                             const char *name) :
     ClangExpression (),
-    m_function_text (g_global_defines),
+    m_function_text (ExpressionSourceCode::g_expression_prefix),
     m_function_name (name)
 {
     if (text && text[0])
index 835d9d7..0c66831 100644 (file)
 
 using namespace lldb_private;
 
-static const char *global_defines =
-"#undef NULL                       \n"
-"#undef Nil                        \n"
-"#undef nil                        \n"
-"#undef YES                        \n"
-"#undef NO                         \n"
-"#define NULL (__null)             \n"
-"#define Nil (__null)              \n"
-"#define nil (__null)              \n"
-"#define YES ((BOOL)1)             \n"
-"#define NO ((BOOL)0)              \n"
-"typedef signed char BOOL;         \n"
-"typedef signed __INT8_TYPE__ int8_t;\n"
-"typedef unsigned __INT8_TYPE__ uint8_t;\n"
-"typedef signed __INT16_TYPE__ int16_t;\n"
-"typedef unsigned __INT16_TYPE__ uint16_t;\n"
-"typedef signed __INT32_TYPE__ int32_t;\n"
-"typedef unsigned __INT32_TYPE__ uint32_t;\n"
-"typedef signed __INT64_TYPE__ int64_t;\n"
-"typedef unsigned __INT64_TYPE__ uint64_t;\n"
-"typedef signed __INTPTR_TYPE__ intptr_t;\n"
-"typedef unsigned __INTPTR_TYPE__ uintptr_t;\n"
-"typedef __SIZE_TYPE__ size_t; \n"
-"typedef __PTRDIFF_TYPE__ ptrdiff_t;\n"
-"typedef unsigned short unichar;\n";
+const char *
+ExpressionSourceCode::g_expression_prefix = R"(
+#undef NULL
+#undef Nil
+#undef nil
+#undef YES
+#undef NO
+#define NULL (__null)
+#define Nil (__null)
+#define nil (__null)
+#define YES ((BOOL)1)
+#define NO ((BOOL)0)
+typedef signed char BOOL;
+typedef signed __INT8_TYPE__ int8_t;
+typedef unsigned __INT8_TYPE__ uint8_t;
+typedef signed __INT16_TYPE__ int16_t;
+typedef unsigned __INT16_TYPE__ uint16_t;
+typedef signed __INT32_TYPE__ int32_t;
+typedef unsigned __INT32_TYPE__ uint32_t;
+typedef signed __INT64_TYPE__ int64_t;
+typedef unsigned __INT64_TYPE__ uint64_t;
+typedef signed __INTPTR_TYPE__ intptr_t;
+typedef unsigned __INTPTR_TYPE__ uintptr_t;
+typedef __SIZE_TYPE__ size_t;
+typedef __PTRDIFF_TYPE__ ptrdiff_t;
+typedef unsigned short unichar;
+)";
 
 
 bool ExpressionSourceCode::GetText (std::string &text, lldb::LanguageType wrapping_language, bool const_object, bool static_method) const
@@ -69,7 +71,7 @@ bool ExpressionSourceCode::GetText (std::string &text, lldb::LanguageType wrappi
                                "    %s;                        \n" 
                                "}                              \n",
                                m_prefix.c_str(),
-                               global_defines,
+                               g_expression_prefix,
                                m_name.c_str(),
                                m_body.c_str());
             break;
@@ -82,7 +84,7 @@ bool ExpressionSourceCode::GetText (std::string &text, lldb::LanguageType wrappi
                                "    %s;                                \n" 
                                "}                                      \n",
                                m_prefix.c_str(),
-                               global_defines,
+                               g_expression_prefix,
                                m_name.c_str(),
                                (const_object ? "const" : ""),
                                m_body.c_str());
@@ -102,7 +104,7 @@ bool ExpressionSourceCode::GetText (std::string &text, lldb::LanguageType wrappi
                                    "}                                                       \n"
                                    "@end                                                    \n",
                                    m_prefix.c_str(),
-                                   global_defines,
+                                   g_expression_prefix,
                                    m_name.c_str(),
                                    m_name.c_str(),
                                    m_body.c_str());
@@ -121,7 +123,7 @@ bool ExpressionSourceCode::GetText (std::string &text, lldb::LanguageType wrappi
                                    "}                                                      \n"
                                    "@end                                                   \n",
                                    m_prefix.c_str(),
-                                   global_defines,
+                                   g_expression_prefix,
                                    m_name.c_str(),
                                    m_name.c_str(),
                                    m_body.c_str());