[Lldb-commits] [lldb] r145756 - in /lldb/trunk/test/lang/objc/real-definition: ./ Bar.h Bar.m Foo.h Foo.m Makefile main.m
Greg Clayton
gclayton at apple.com
Fri Dec 2 20:35:52 PST 2011
Author: gclayton
Date: Fri Dec 2 22:35:51 2011
New Revision: 145756
URL: http://llvm.org/viewvc/llvm-project?rev=145756&view=rev
Log:
Added a code for a test to find the real Objective C class definition. I
still need to write the test case file.
Added:
lldb/trunk/test/lang/objc/real-definition/
lldb/trunk/test/lang/objc/real-definition/Bar.h
lldb/trunk/test/lang/objc/real-definition/Bar.m
lldb/trunk/test/lang/objc/real-definition/Foo.h
lldb/trunk/test/lang/objc/real-definition/Foo.m
lldb/trunk/test/lang/objc/real-definition/Makefile
lldb/trunk/test/lang/objc/real-definition/main.m
Added: lldb/trunk/test/lang/objc/real-definition/Bar.h
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/test/lang/objc/real-definition/Bar.h?rev=145756&view=auto
==============================================================================
--- lldb/trunk/test/lang/objc/real-definition/Bar.h (added)
+++ lldb/trunk/test/lang/objc/real-definition/Bar.h Fri Dec 2 22:35:51 2011
@@ -0,0 +1,12 @@
+#import <Foundation/Foundation.h>
+
+ at class InternalClass;
+
+ at interface Bar : NSObject {
+ @private
+ InternalClass *storage;
+}
+
+- (NSString *)description;
+
+ at end
\ No newline at end of file
Added: lldb/trunk/test/lang/objc/real-definition/Bar.m
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/test/lang/objc/real-definition/Bar.m?rev=145756&view=auto
==============================================================================
--- lldb/trunk/test/lang/objc/real-definition/Bar.m (added)
+++ lldb/trunk/test/lang/objc/real-definition/Bar.m Fri Dec 2 22:35:51 2011
@@ -0,0 +1,43 @@
+#import "Bar.h"
+
+ at interface InternalClass : NSObject {
+ @public
+ NSString *foo;
+ NSString *bar;
+}
+ at end
+
+ at implementation InternalClass
+ at end
+
+ at interface Bar ()
+{
+ NSString *_hidden_ivar;
+}
+
+ at end
+
+ at implementation Bar
+
+- (id)init
+{
+ self = [super init];
+ if (self) {
+ _hidden_ivar = [NSString stringWithFormat:@"%p: @Bar", self];
+ }
+ return self;
+}
+
+- (void)dealloc
+{
+ [_hidden_ivar release];
+ [super dealloc];
+}
+
+- (NSString *)description
+{
+ return [_hidden_ivar copyWithZone:NULL];
+}
+
+ at end
+
\ No newline at end of file
Added: lldb/trunk/test/lang/objc/real-definition/Foo.h
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/test/lang/objc/real-definition/Foo.h?rev=145756&view=auto
==============================================================================
--- lldb/trunk/test/lang/objc/real-definition/Foo.h (added)
+++ lldb/trunk/test/lang/objc/real-definition/Foo.h Fri Dec 2 22:35:51 2011
@@ -0,0 +1,11 @@
+#import <Foundation/Foundation.h>
+
+#import "Bar.h"
+
+ at interface Foo : NSObject {
+ Bar *_bar;
+}
+
+- (NSString *)description;
+
+ at end
\ No newline at end of file
Added: lldb/trunk/test/lang/objc/real-definition/Foo.m
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/test/lang/objc/real-definition/Foo.m?rev=145756&view=auto
==============================================================================
--- lldb/trunk/test/lang/objc/real-definition/Foo.m (added)
+++ lldb/trunk/test/lang/objc/real-definition/Foo.m Fri Dec 2 22:35:51 2011
@@ -0,0 +1,25 @@
+#import "Foo.h"
+
+ at implementation Foo
+
+- (id)init
+{
+ self = [super init];
+ if (self) {
+ _bar = [[Bar alloc] init];
+ }
+ return self;
+}
+
+- (void)dealloc
+{
+ [_bar release];
+ [super dealloc];
+}
+
+- (NSString *)description
+{
+ return [NSString stringWithFormat:@"%p: @Foo { _bar = %@ }", self, _bar];
+}
+
+ at end
Added: lldb/trunk/test/lang/objc/real-definition/Makefile
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/test/lang/objc/real-definition/Makefile?rev=145756&view=auto
==============================================================================
--- lldb/trunk/test/lang/objc/real-definition/Makefile (added)
+++ lldb/trunk/test/lang/objc/real-definition/Makefile Fri Dec 2 22:35:51 2011
@@ -0,0 +1,6 @@
+LEVEL = ../../../make
+
+OBJC_SOURCES := Bar.m Foo.m main.m
+LDFLAGS = $(CFLAGS) -lobjc -framework Foundation
+
+include $(LEVEL)/Makefile.rules
Added: lldb/trunk/test/lang/objc/real-definition/main.m
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/test/lang/objc/real-definition/main.m?rev=145756&view=auto
==============================================================================
--- lldb/trunk/test/lang/objc/real-definition/main.m (added)
+++ lldb/trunk/test/lang/objc/real-definition/main.m Fri Dec 2 22:35:51 2011
@@ -0,0 +1,13 @@
+#include <stdio.h>
+#include <stdint.h>
+#import <Foundation/Foundation.h>
+#import "Foo.h"
+
+int main (int argc, char const *argv[])
+{
+ NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
+ Foo *foo = [[Foo alloc] init];
+ NSLog (@"foo is %@", foo);
+ [pool release];
+ return 0;
+}
More information about the lldb-commits
mailing list