xref: /llvm-project/lldb/test/API/lang/cpp/member-and-local-vars-with-same-name/main.cpp (revision 99451b4453688a94c6014cac233d371ab4cc342d)
1*99451b44SJordan Rupprecht namespace NN
2*99451b44SJordan Rupprecht {
3*99451b44SJordan Rupprecht   int a = 778899;
4*99451b44SJordan Rupprecht   int b = 665544;
5*99451b44SJordan Rupprecht   int c = 445566;
6*99451b44SJordan Rupprecht }
7*99451b44SJordan Rupprecht 
8*99451b44SJordan Rupprecht class A
9*99451b44SJordan Rupprecht {
10*99451b44SJordan Rupprecht public:
11*99451b44SJordan Rupprecht   A();
12*99451b44SJordan Rupprecht   int Method(int a, int b);
13*99451b44SJordan Rupprecht 
14*99451b44SJordan Rupprecht private:
15*99451b44SJordan Rupprecht   int a, b;
16*99451b44SJordan Rupprecht };
17*99451b44SJordan Rupprecht 
A()18*99451b44SJordan Rupprecht A::A() : a(10), b(100) { }
19*99451b44SJordan Rupprecht 
20*99451b44SJordan Rupprecht int a = 112233;
21*99451b44SJordan Rupprecht int b = 445566;
22*99451b44SJordan Rupprecht int c = 778899;
23*99451b44SJordan Rupprecht 
24*99451b44SJordan Rupprecht int
Method(int a,int b)25*99451b44SJordan Rupprecht A::Method(int a, int b)
26*99451b44SJordan Rupprecht {
27*99451b44SJordan Rupprecht     {
28*99451b44SJordan Rupprecht         int a = 12345;
29*99451b44SJordan Rupprecht         int b = 54321;
30*99451b44SJordan Rupprecht         int c = 34567;
31*99451b44SJordan Rupprecht         this->a = a + b + this->b; // Break 2
32*99451b44SJordan Rupprecht     }
33*99451b44SJordan Rupprecht 
34*99451b44SJordan Rupprecht     {
35*99451b44SJordan Rupprecht         using namespace NN;
36*99451b44SJordan Rupprecht         int a = 10001;
37*99451b44SJordan Rupprecht         int b = 10002;
38*99451b44SJordan Rupprecht         int c = 10003;
39*99451b44SJordan Rupprecht         this->a = a + b + this->b; // Break 3
40*99451b44SJordan Rupprecht     }
41*99451b44SJordan Rupprecht 
42*99451b44SJordan Rupprecht     return this->a + this->b + a + b; // Break 4
43*99451b44SJordan Rupprecht }
44*99451b44SJordan Rupprecht 
45*99451b44SJordan Rupprecht int
Function(int a,int b)46*99451b44SJordan Rupprecht Function(int a, int b)
47*99451b44SJordan Rupprecht {
48*99451b44SJordan Rupprecht     int A;
49*99451b44SJordan Rupprecht 
50*99451b44SJordan Rupprecht     {
51*99451b44SJordan Rupprecht         int a = 12345;
52*99451b44SJordan Rupprecht         int b = 54321;
53*99451b44SJordan Rupprecht         int c = 34567;
54*99451b44SJordan Rupprecht         A = a + b + c; // Break 5
55*99451b44SJordan Rupprecht     }
56*99451b44SJordan Rupprecht 
57*99451b44SJordan Rupprecht     {
58*99451b44SJordan Rupprecht         using namespace NN;
59*99451b44SJordan Rupprecht         int a = 10001;
60*99451b44SJordan Rupprecht         int b = 10002;
61*99451b44SJordan Rupprecht         int c = 10003;
62*99451b44SJordan Rupprecht         A = a + b + c; // Break 6
63*99451b44SJordan Rupprecht     }
64*99451b44SJordan Rupprecht 
65*99451b44SJordan Rupprecht     return A + a + b; // Break 7
66*99451b44SJordan Rupprecht }
67*99451b44SJordan Rupprecht 
68*99451b44SJordan Rupprecht int
main()69*99451b44SJordan Rupprecht main()
70*99451b44SJordan Rupprecht {
71*99451b44SJordan Rupprecht     A obj;
72*99451b44SJordan Rupprecht     return obj.Method(1, 2) + Function(1, 2); // Break 1
73*99451b44SJordan Rupprecht }
74