diff options
author | Sean Callanan <scallanan@apple.com> | 2012-09-13 23:35:30 +0000 |
---|---|---|
committer | Sean Callanan <scallanan@apple.com> | 2012-09-13 23:35:30 +0000 |
commit | a199e82cb91b5f5a607375bf2e0fd59e3c697568 (patch) | |
tree | 7005ea3dcc0857c6641de5ba4a993043c1cca723 | |
parent | b83dba2b840ef6dfb6f368ac88346cb80ffa110a (diff) | |
download | bcm5719-llvm-a199e82cb91b5f5a607375bf2e0fd59e3c697568.tar.gz bcm5719-llvm-a199e82cb91b5f5a607375bf2e0fd59e3c697568.zip |
Fixed the #defines for YES and NO, and centralized
them in one place rather than having them replicated
across all the potential function wrappers.
<rdar://problem/12293880>
llvm-svn: 163857
-rw-r--r-- | lldb/source/Expression/ExpressionSourceCode.cpp | 68 |
1 files changed, 35 insertions, 33 deletions
diff --git a/lldb/source/Expression/ExpressionSourceCode.cpp b/lldb/source/Expression/ExpressionSourceCode.cpp index 7004d28fa4c..e33fd2db69e 100644 --- a/lldb/source/Expression/ExpressionSourceCode.cpp +++ b/lldb/source/Expression/ExpressionSourceCode.cpp @@ -13,6 +13,20 @@ 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 ((int)0) \n" + "#define Nil ((Class)0) \n" + "#define nil ((id)0) \n" + "#define YES ((BOOL)1) \n" + "#define NO ((BOOL)0) \n" + "typedef int BOOL; \n" + "typedef unsigned short unichar; \n"; + + bool ExpressionSourceCode::GetText (std::string &text, lldb::LanguageType wrapping_language, bool const_object, bool static_method) const { if (m_wrap) @@ -35,33 +49,27 @@ bool ExpressionSourceCode::GetText (std::string &text, lldb::LanguageType wrappi break; case lldb::eLanguageTypeC: wrap_stream.Printf("%s \n" - "#undef NULL \n" - "#define NULL 0 \n" - "#undef nil \n" - "#define nil (id)0 \n" - "typedef unsigned short unichar;\n" + "%s \n" "void \n" "%s(void *$__lldb_arg) \n" "{ \n" " %s; \n" "} \n", m_prefix.c_str(), + global_defines, m_name.c_str(), m_body.c_str()); break; case lldb::eLanguageTypeC_plus_plus: wrap_stream.Printf("%s \n" - "#undef NULL \n" - "#define NULL 0 \n" - "#undef nil \n" - "#define nil (id)0 \n" - "typedef unsigned short unichar; \n" + "%s \n" "void \n" "$__lldb_class::%s(void *$__lldb_arg) %s\n" "{ \n" " %s; \n" "} \n", m_prefix.c_str(), + global_defines, m_name.c_str(), (const_object ? "const" : ""), m_body.c_str()); @@ -70,33 +78,26 @@ bool ExpressionSourceCode::GetText (std::string &text, lldb::LanguageType wrappi if (static_method) { wrap_stream.Printf("%s \n" - "#undef NULL \n" - "#define NULL 0 \n" - "#undef nil \n" - "#define nil (id)0 \n" - "typedef unsigned short unichar; \n" - "@interface $__lldb_objc_class ($__lldb_category) \n" - "+(void)%s:(void *)$__lldb_arg; \n" - "@end \n" - "@implementation $__lldb_objc_class ($__lldb_category) \n" - "+(void)%s:(void *)$__lldb_arg \n" - "{ \n" - " %s; \n" - "} \n" - "@end \n", - m_prefix.c_str(), - m_name.c_str(), - m_name.c_str(), - m_body.c_str()); + "%s \n" + "@interface $__lldb_objc_class ($__lldb_category) \n" + "+(void)%s:(void *)$__lldb_arg; \n" + "@end \n" + "@implementation $__lldb_objc_class ($__lldb_category) \n" + "+(void)%s:(void *)$__lldb_arg \n" + "{ \n" + " %s; \n" + "} \n" + "@end \n", + m_prefix.c_str(), + global_defines, + m_name.c_str(), + m_name.c_str(), + m_body.c_str()); } else { wrap_stream.Printf("%s \n" - "#undef NULL \n" - "#define NULL 0 \n" - "#undef nil \n" - "#define nil (id)0 \n" - "typedef unsigned short unichar; \n" + "%s \n" "@interface $__lldb_objc_class ($__lldb_category) \n" "-(void)%s:(void *)$__lldb_arg; \n" "@end \n" @@ -107,6 +108,7 @@ bool ExpressionSourceCode::GetText (std::string &text, lldb::LanguageType wrappi "} \n" "@end \n", m_prefix.c_str(), + global_defines, m_name.c_str(), m_name.c_str(), m_body.c_str()); |