Files
clang-p2996/lldb/test/lang/objc/objc-static-method/static.m
Sean Callanan d5c17edb04 Pulled in a new version of LLVM/Clang to solve a variety
of problems with Objective-C object completion.  To go
along with the LLVM/Clang-side fixes, we have a variety
of Objective-C improvements.

Fixes include:

- It is now possible to run expressions when stopped in
  an Objective-C class method and have "self" act just
  like "self" would act in the class method itself (i.e.,
  [self classMethod] works without casting the return
  type if debug info is present).  To accomplish this,
  the expression masquerades as a class method added by
  a category.

- Objective-C objects can now provide methods and
  properties and methods to Clang on demand (i.e., the
  ASTImporter sets hasExternalVisibleDecls on Objective-C
  interface objects).

- Objective-C built-in types, which had long been a bone
  of contention (should we be using "id"?  "id*"?), are
  now fetched correctly using accessor functions on
  ClangASTContext.  We inhibit searches for them in the
  debug information.

There are also a variety of logging fixes, and I made two
changes to the test suite:

- Enabled a test case for Objective-C properties in the
  current translation unit.

- Added a test case for calling Objective-C class methods
  when stopped in a class method.

llvm-svn: 144607
2011-11-15 02:11:17 +00:00

30 lines
547 B
Objective-C

#import <Foundation/Foundation.h>
@interface Foo : NSObject
+(void) doSomethingWithString: (NSString *) string;
-(void) doSomethingWithNothing;
@end
@implementation Foo
+(void) doSomethingWithString: (NSString *) string
{
NSLog (@"String is: %@.", string); // Set breakpoint here.
}
+(int) doSomethingElseWithString: (NSString *) string
{
NSLog (@"String is still: %@.", string);
return [string length];
}
-(void) doSomethingWithNothing
{
}
@end
int main()
{
[Foo doSomethingWithString: @"Some string I have in mind."];
return 0;
}