ccls/foo/a.cc

96 lines
982 B
C++

/*
abc
daaa
faf
dakkdakk
abaa
*/
#include <string>
#include "a.h"
struct Middle : public Parent {
void foo() override {}
};
struct DerivedA : public Middle {
void foo() override {}
};
struct DerivedB : public Middle {
void foo() override {}
};
struct Derived2B : public DerivedB {
void foo() override {}
};
struct Derived2C : public DerivedB {
void foo() override;
};
void Derived2C::foo() {}
void User() {
Parent p;
Middle m;
DerivedA da;
DerivedB db;
Derived2B d2b;
p.foo();
m.foo();
da.foo();
db.foo();
d2b.foo();
}
struct Saaaaaa {};
struct S2 {
S2() {}
int a;
int b;
};
struct MyFoo {
std::string name;
};
void f() {
S2 s2;
s2.a += 10;
s2.b -= 100;
s2.b -= 5;
MyFoo f;
// f.name = 10;
f.name = "okay";
MyFoo f2;
f2.name = "yes!";
}
void baz();
void foo();
void foo();
void foo() {}
/**/
void caller() {
MyFoo fff;
fff.name = "this name";
baz();
baz();
baz();
foo();
foo();
foo();
}