Files
clang-p2996/lldb/test/python_api/class_members/main.mm
Enrico Granata 47caf9a956 Extend the member function discovery APIs to also support Objective-C as well as C++
For the Objective-C case, we do not have a "function type" notion, so we actually end up wrapping the clang ObjCMethodDecl in the Impl object, and ask function-y questions of it
In general, you can always ask for return type, number of arguments, and type of each argument using the TypeMemberFunction layer - but in the C++ case, you can also acquire a Type object for the function itself, which instead you can't do in the Objective-C case

llvm-svn: 218132
2014-09-19 18:21:05 +00:00

48 lines
1.0 KiB
C++

//===-- main.cpp ------------------------------------------------*- C++ -*-===//
//
// The LLVM Compiler Infrastructure
//
// This file is distributed under the University of Illinois Open Source
// License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
#import <Foundation/Foundation.h>
class Base {
public:
int foo(int x, int y) { return 1; }
char bar(int x, char y) { return 2; }
void dat() {}
static int sfunc(char, int, float) { return 3; }
};
class Derived: public Base {
protected:
int dImpl() { return 1; }
public:
float baz(float b) { return b + 1.0; }
};
@interface Thingy: NSObject {
}
- (id)init;
- (id)fooWithBar: (int)bar andBaz:(id)baz;
@end
@implementation Thingy {
}
- (id)init {
return (self = [super init]);
}
- (id)fooWithBar: (int)bar andBaz:(id)baz {
return nil;
}
@end
int main() {
Derived d;
Thingy *thingy = [[Thingy alloc] init];
return 0; // set breakpoint here
}