mirror of
https://github.com/github/codeql.git
synced 2026-05-04 13:15:21 +02:00
QL code and tests for C#/C++/JavaScript.
This commit is contained in:
133
cpp/ql/test/library-tests/declaration/declaration.cpp
Normal file
133
cpp/ql/test/library-tests/declaration/declaration.cpp
Normal file
@@ -0,0 +1,133 @@
|
||||
// Variable
|
||||
|
||||
extern int myVariable0;
|
||||
|
||||
int myVariable0 = 10;
|
||||
|
||||
// Function, Parameter
|
||||
|
||||
void myFunction0(int myParameter);
|
||||
|
||||
void myFunction0(int myParameter)
|
||||
{
|
||||
// ...
|
||||
}
|
||||
|
||||
// Enum (UserType)
|
||||
|
||||
enum myEnum0 : short;
|
||||
|
||||
enum myEnum0 : short
|
||||
{
|
||||
myEnumConst0
|
||||
};
|
||||
|
||||
enum class MyEnumClass {
|
||||
RED,
|
||||
GREEN,
|
||||
BLUE
|
||||
};
|
||||
|
||||
// Class
|
||||
class MyClass0 {
|
||||
public:
|
||||
int myField0;
|
||||
|
||||
class MyNestedClass {
|
||||
int myNestedField;
|
||||
};
|
||||
|
||||
MyClass0() : myField0(0) { myField0 = 1; }
|
||||
|
||||
int getMyField0() { return myField0; }
|
||||
};
|
||||
|
||||
// Struct
|
||||
struct MyStruct0 {
|
||||
int myField0;
|
||||
};
|
||||
|
||||
// Union
|
||||
union MyUnion0 {
|
||||
int myField0;
|
||||
void* myPointer;
|
||||
};
|
||||
|
||||
// Typedef
|
||||
typedef MyClass0 *MyClassPtr;
|
||||
|
||||
// TemplateClass, TemplateParameter (UserType)
|
||||
|
||||
template <typename T>
|
||||
class myTemplateClass
|
||||
{
|
||||
public:
|
||||
T myMemberVariable;
|
||||
};
|
||||
|
||||
myTemplateClass<int> mtc_int;
|
||||
myTemplateClass<short> mtc_short;
|
||||
|
||||
|
||||
// Everything inside a namespace.
|
||||
namespace MyNamespace {
|
||||
|
||||
// Variable
|
||||
|
||||
extern int myVariable1;
|
||||
|
||||
int myVariable1 = 10;
|
||||
|
||||
// Function, Parameter
|
||||
|
||||
void myFunction1(int myParameter);
|
||||
|
||||
void myFunction1(int myParameter)
|
||||
{
|
||||
// ...
|
||||
}
|
||||
|
||||
// Enum (UserType)
|
||||
|
||||
enum myEnum1 : short;
|
||||
|
||||
enum myEnum1 : short
|
||||
{
|
||||
myEnumConst1
|
||||
};
|
||||
|
||||
// Class
|
||||
class MyClass1 {
|
||||
public:
|
||||
int myField1;
|
||||
|
||||
class MyNestedClass {
|
||||
int myNestedField;
|
||||
};
|
||||
|
||||
MyClass1() : myField1(0) { myField1 = 1; }
|
||||
|
||||
int getMyField1() { return myField1; }
|
||||
};
|
||||
|
||||
// Typedef
|
||||
typedef MyClass1 *MyClassPtr;
|
||||
|
||||
// TemplateClass, TemplateParameter (UserType)
|
||||
|
||||
template <typename T>
|
||||
class myTemplateClass
|
||||
{
|
||||
public:
|
||||
T myMemberVariable;
|
||||
};
|
||||
|
||||
myTemplateClass<int> mtc_int;
|
||||
myTemplateClass<short> mtc_short;
|
||||
|
||||
// Nested namespace.
|
||||
namespace NestedNamespace {
|
||||
int myVariable2 = 10;
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user