xref: /llvm-project/lldb/test/API/commands/expression/completion/main.cpp (revision 88bf64097e453deca73c91ec7de1af7eebe296a9)
1 #include <reserved.h>
2 
3 namespace LongNamespaceName { class NestedClass { long m; }; }
4 
5 // Defined in other.cpp, we only have a forward declaration here.
6 struct ForwardDecl;
7 extern ForwardDecl fwd_decl;
8 
9 class LongClassName { long i ; };
10 
11 class Expr {
12 public:
FooNoArgsBar()13     int FooNoArgsBar() { return 1; }
FooWithArgsBar(int i)14     int FooWithArgsBar(int i) { return i; }
FooWithMultipleArgsBar(int i,int j)15     int FooWithMultipleArgsBar(int i, int j) { return i + j; }
FooUnderscoreBar_()16     int FooUnderscoreBar_() { return 4; }
FooNumbersBar1()17     int FooNumbersBar1() { return 8; }
18     int MemberVariableBar = 0;
Self()19     Expr &Self() { return *this; }
StaticMemberMethodBar()20     static int StaticMemberMethodBar() { return 82; }
21 };
22 
main()23 int main()
24 {
25     LongClassName a;
26     LongNamespaceName::NestedClass NestedFoo;
27     long SomeLongVarNameWithCapitals = 44;
28     int SomeIntVar = 33;
29     Expr some_expr;
30     some_expr.FooNoArgsBar();
31     some_expr.FooWithArgsBar(1);
32     some_expr.FooUnderscoreBar_();
33     some_expr.FooNumbersBar1();
34     Expr::StaticMemberMethodBar();
35     ForwardDecl *fwd_decl_ptr = &fwd_decl;
36     MyVec myVec;
37     myVec.__func();
38     myVec._Func();
39     return 0; // Break here
40 }
41