Begin drafting up improved parsing/metadata reflection
This commit is contained in:
parent
a6c05a950e
commit
4a794b2492
File diff suppressed because it is too large
Load Diff
@ -12,7 +12,10 @@ enum struct OpenGLShader { Vertex, Count, };
|
|||||||
DQN_INSPECT struct SampleStruct
|
DQN_INSPECT struct SampleStruct
|
||||||
{
|
{
|
||||||
// TODO(doyle): This shit not support yet, you can imagine why
|
// TODO(doyle): This shit not support yet, you can imagine why
|
||||||
|
const int *const a;
|
||||||
int const *const b, c, *d, *e;
|
int const *const b, c, *d, *e;
|
||||||
|
int ebo DQN_INSPECT_META(char const *DisplayName = "Element Buffer Object"), vbo, vao DQN_INSPECT_META(char const *DisplayName = "Vertex Array Object", int OpenGLVersion = 330);
|
||||||
|
V4 draw_color DQN_INSPECT_META(char const *DisplayName = "HelloWorld");
|
||||||
// #if 0
|
// #if 0
|
||||||
// #endif
|
// #endif
|
||||||
Array<V3, 32> lights;
|
Array<V3, 32> lights;
|
||||||
@ -20,12 +23,9 @@ DQN_INSPECT struct SampleStruct
|
|||||||
char **bitmaps;
|
char **bitmaps;
|
||||||
int shaders[(int)OpenGLShader::Count];
|
int shaders[(int)OpenGLShader::Count];
|
||||||
void *win32_handle;
|
void *win32_handle;
|
||||||
int ebo DQN_INSPECT_META(DisplayName = "Element Buffer Object"), vbo, vao DQN_INSPECT_META(DisplayName = "Vertex Array Object", OpenGLVersion = "330");
|
|
||||||
V4 draw_color DQN_INSPECT_META(DisplayName = "HelloWorld");
|
|
||||||
V3 lighting_ambient_coeff;
|
V3 lighting_ambient_coeff;
|
||||||
int draw_call_count;
|
int draw_call_count;
|
||||||
|
|
||||||
const int *const a;
|
|
||||||
const int f;
|
const int f;
|
||||||
int const g;
|
int const g;
|
||||||
int *const h;
|
int *const h;
|
||||||
|
@ -1,4 +1,9 @@
|
|||||||
// This is an auto generated file using Dqn_Inspect
|
// This is an auto generated file using DqnInspect
|
||||||
|
|
||||||
|
// NOTE: These macros are undefined at the end of the file so to not pollute namespace
|
||||||
|
#define ARRAY_COUNT(array) sizeof(array)/sizeof((array)[0])
|
||||||
|
#define CHAR_COUNT(str) (ARRAY_COUNT(str) - 1)
|
||||||
|
#define STR_AND_LEN(str) str, CHAR_COUNT(str)
|
||||||
|
|
||||||
//
|
//
|
||||||
// ..\Data\DqnInspect_TestData.h
|
// ..\Data\DqnInspect_TestData.h
|
||||||
@ -7,145 +12,268 @@
|
|||||||
#ifndef DQN_INSPECT_DQNINSPECT_TESTDATA_H
|
#ifndef DQN_INSPECT_DQNINSPECT_TESTDATA_H
|
||||||
#define DQN_INSPECT_DQNINSPECT_TESTDATA_H
|
#define DQN_INSPECT_DQNINSPECT_TESTDATA_H
|
||||||
|
|
||||||
// NOTE: These macros are undefined at the end of the file so to not pollute namespace
|
enum struct DqnInspectMemberType
|
||||||
#define ARRAY_COUNT(array) sizeof(array)/sizeof((array)[0])
|
{
|
||||||
#define CHAR_COUNT(str) (ARRAY_COUNT(str) - 1)
|
SampleStruct,
|
||||||
#define STR_AND_LEN(str) str, CHAR_COUNT(str)
|
SampleStruct_a,
|
||||||
|
SampleStruct_b,
|
||||||
|
SampleStruct_c,
|
||||||
|
SampleStruct_d,
|
||||||
|
SampleStruct_e,
|
||||||
|
SampleStruct_ebo,
|
||||||
|
SampleStruct_DQN_INSPECT_META,
|
||||||
|
SampleStruct_DisplayName,
|
||||||
|
SampleStruct_int,
|
||||||
|
SampleStruct_draw_color,
|
||||||
|
SampleStruct_lights,
|
||||||
|
SampleStruct_camera_matrixes,
|
||||||
|
SampleStruct_bitmaps,
|
||||||
|
SampleStruct_shaders,
|
||||||
|
SampleStruct_win32_handle,
|
||||||
|
SampleStruct_lighting_ambient_coeff,
|
||||||
|
SampleStruct_draw_call_count,
|
||||||
|
SampleStruct_f,
|
||||||
|
SampleStruct_g,
|
||||||
|
SampleStruct_h,
|
||||||
|
SampleStruct_i,
|
||||||
|
SampleStruct_j,
|
||||||
|
SampleStruct_k,
|
||||||
|
SampleStruct_l,
|
||||||
|
SampleStruct_m,
|
||||||
|
EnumWithMetadata,
|
||||||
|
EnumWithMetadata_Rect,
|
||||||
|
EnumWithMetadata_Square,
|
||||||
|
EnumWithMetadata_Count,
|
||||||
|
};
|
||||||
|
|
||||||
DqnInspect_StructMember const DqnInspect_SampleStruct_StructMembers[] =
|
enum struct DqnInspectDeclType
|
||||||
|
{
|
||||||
|
V3,
|
||||||
|
V4,
|
||||||
|
int,
|
||||||
|
vao,
|
||||||
|
char,
|
||||||
|
Array,
|
||||||
|
int *,
|
||||||
|
void *,
|
||||||
|
char **,
|
||||||
|
int const,
|
||||||
|
int ******,
|
||||||
|
int *const,
|
||||||
|
int const*,
|
||||||
|
SampleStruct,
|
||||||
|
char const *,
|
||||||
|
EnumWithMetadata,
|
||||||
|
int const *const,
|
||||||
|
int *********const,
|
||||||
|
};
|
||||||
|
|
||||||
|
enum struct DqnInspectMetaType
|
||||||
|
{
|
||||||
|
DisplayName,
|
||||||
|
};
|
||||||
|
|
||||||
|
char const * DqnInspectMetadata_SampleStruct_ebo_DisplayName = "Element Buffer Object";
|
||||||
|
char const * DqnInspectMetadata_SampleStruct_draw_color_DisplayName = "HelloWorld";
|
||||||
|
|
||||||
|
DqnInspectMetadata const DqnInspectMetadata_SampleStruct_ebo[] =
|
||||||
|
{
|
||||||
|
{ DqnInspectDeclType::char const *_, DqnInspectMetaType::DisplayName, &DqnInspectMetadata_SampleStruct_ebo_DisplayName},
|
||||||
|
};
|
||||||
|
|
||||||
|
DqnInspectMetadata const DqnInspectMetadata_SampleStruct_draw_color[] =
|
||||||
|
{
|
||||||
|
{ DqnInspectDeclType::char const *_, DqnInspectMetaType::DisplayName, &DqnInspectMetadata_SampleStruct_draw_color_DisplayName},
|
||||||
|
};
|
||||||
|
|
||||||
|
DqnInspectStructMember const DqnInspect_SampleStruct_StructMembers[] =
|
||||||
{
|
{
|
||||||
{
|
{
|
||||||
STR_AND_LEN("int const *c"), STR_AND_LEN("b"),
|
DqnInspectMemberType::SampleStruct_a,
|
||||||
|
STR_AND_LEN("int *const"), STR_AND_LEN("a"),
|
||||||
nullptr, 0, // template_expr and template_expr_len
|
nullptr, 0, // template_expr and template_expr_len
|
||||||
1 // array_dimensions
|
1 // array_dimensions,
|
||||||
|
nullptr, 0, // metadata array
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
DqnInspectMemberType::SampleStruct_b,
|
||||||
|
STR_AND_LEN("int const *const"), STR_AND_LEN("b"),
|
||||||
|
nullptr, 0, // template_expr and template_expr_len
|
||||||
|
1 // array_dimensions,
|
||||||
|
nullptr, 0, // metadata array
|
||||||
|
},
|
||||||
|
{
|
||||||
|
DqnInspectMemberType::SampleStruct_c,
|
||||||
STR_AND_LEN("int"), STR_AND_LEN("c"),
|
STR_AND_LEN("int"), STR_AND_LEN("c"),
|
||||||
nullptr, 0, // template_expr and template_expr_len
|
nullptr, 0, // template_expr and template_expr_len
|
||||||
0 // array_dimensions
|
0 // array_dimensions,
|
||||||
|
nullptr, 0, // metadata array
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
STR_AND_LEN("int const *const b, c, *"), STR_AND_LEN("d"),
|
DqnInspectMemberType::SampleStruct_d,
|
||||||
|
STR_AND_LEN("int *"), STR_AND_LEN("d"),
|
||||||
nullptr, 0, // template_expr and template_expr_len
|
nullptr, 0, // template_expr and template_expr_len
|
||||||
1 // array_dimensions
|
1 // array_dimensions,
|
||||||
|
nullptr, 0, // metadata array
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
STR_AND_LEN("int const *const b, c, *d, *"), STR_AND_LEN("e"),
|
DqnInspectMemberType::SampleStruct_e,
|
||||||
|
STR_AND_LEN("int *"), STR_AND_LEN("e"),
|
||||||
nullptr, 0, // template_expr and template_expr_len
|
nullptr, 0, // template_expr and template_expr_len
|
||||||
1 // array_dimensions
|
1 // array_dimensions,
|
||||||
},
|
nullptr, 0, // metadata array
|
||||||
{
|
|
||||||
STR_AND_LEN("Array"), STR_AND_LEN("lights"),
|
|
||||||
nullptr, 0, // template_expr and template_expr_len
|
|
||||||
0 // array_dimensions
|
|
||||||
},
|
|
||||||
{
|
|
||||||
STR_AND_LEN("Array"), STR_AND_LEN("camera_matrixes"),
|
|
||||||
nullptr, 0, // template_expr and template_expr_len
|
|
||||||
0 // array_dimensions
|
|
||||||
},
|
|
||||||
{
|
|
||||||
STR_AND_LEN("char **"), STR_AND_LEN("bitmaps"),
|
|
||||||
nullptr, 0, // template_expr and template_expr_len
|
|
||||||
2 // array_dimensions
|
|
||||||
},
|
|
||||||
{
|
|
||||||
STR_AND_LEN("int"), STR_AND_LEN("shaders"),
|
|
||||||
nullptr, 0, // template_expr and template_expr_len
|
|
||||||
1 // array_dimensions
|
|
||||||
},
|
|
||||||
{
|
|
||||||
STR_AND_LEN("void *"), STR_AND_LEN("win32_handle"),
|
|
||||||
nullptr, 0, // template_expr and template_expr_len
|
|
||||||
1 // array_dimensions
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
DqnInspectMemberType::SampleStruct_ebo,
|
||||||
STR_AND_LEN("int"), STR_AND_LEN("ebo"),
|
STR_AND_LEN("int"), STR_AND_LEN("ebo"),
|
||||||
nullptr, 0, // template_expr and template_expr_len
|
nullptr, 0, // template_expr and template_expr_len
|
||||||
0 // array_dimensions
|
0 // array_dimensions,
|
||||||
|
DqnInspectVariant_SampleStruct_ebo, ARRAY_COUNT(DqnInspectVariant_SampleStruct_ebo), // metadata array
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
DqnInspectMemberType::SampleStruct_DQN_INSPECT_META,
|
||||||
STR_AND_LEN("vao"), STR_AND_LEN("DQN_INSPECT_META"),
|
STR_AND_LEN("vao"), STR_AND_LEN("DQN_INSPECT_META"),
|
||||||
nullptr, 0, // template_expr and template_expr_len
|
nullptr, 0, // template_expr and template_expr_len
|
||||||
0 // array_dimensions
|
0 // array_dimensions,
|
||||||
|
nullptr, 0, // metadata array
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
DqnInspectMemberType::SampleStruct_DisplayName,
|
||||||
|
STR_AND_LEN("char const *"), STR_AND_LEN("DisplayName"),
|
||||||
|
nullptr, 0, // template_expr and template_expr_len
|
||||||
|
1 // array_dimensions,
|
||||||
|
nullptr, 0, // metadata array
|
||||||
|
},
|
||||||
|
{
|
||||||
|
DqnInspectMemberType::SampleStruct_int,
|
||||||
|
STR_AND_LEN("char"), STR_AND_LEN("int"),
|
||||||
|
nullptr, 0, // template_expr and template_expr_len
|
||||||
|
0 // array_dimensions,
|
||||||
|
nullptr, 0, // metadata array
|
||||||
|
},
|
||||||
|
{
|
||||||
|
DqnInspectMemberType::SampleStruct_draw_color,
|
||||||
STR_AND_LEN("V4"), STR_AND_LEN("draw_color"),
|
STR_AND_LEN("V4"), STR_AND_LEN("draw_color"),
|
||||||
nullptr, 0, // template_expr and template_expr_len
|
nullptr, 0, // template_expr and template_expr_len
|
||||||
0 // array_dimensions
|
0 // array_dimensions,
|
||||||
|
DqnInspectVariant_SampleStruct_draw_color, ARRAY_COUNT(DqnInspectVariant_SampleStruct_draw_color), // metadata array
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
DqnInspectMemberType::SampleStruct_lights,
|
||||||
|
STR_AND_LEN("Array"), STR_AND_LEN("lights"),
|
||||||
|
nullptr, 0, // template_expr and template_expr_len
|
||||||
|
0 // array_dimensions,
|
||||||
|
nullptr, 0, // metadata array
|
||||||
|
},
|
||||||
|
{
|
||||||
|
DqnInspectMemberType::SampleStruct_camera_matrixes,
|
||||||
|
STR_AND_LEN("Array"), STR_AND_LEN("camera_matrixes"),
|
||||||
|
nullptr, 0, // template_expr and template_expr_len
|
||||||
|
0 // array_dimensions,
|
||||||
|
nullptr, 0, // metadata array
|
||||||
|
},
|
||||||
|
{
|
||||||
|
DqnInspectMemberType::SampleStruct_bitmaps,
|
||||||
|
STR_AND_LEN("char **"), STR_AND_LEN("bitmaps"),
|
||||||
|
nullptr, 0, // template_expr and template_expr_len
|
||||||
|
2 // array_dimensions,
|
||||||
|
nullptr, 0, // metadata array
|
||||||
|
},
|
||||||
|
{
|
||||||
|
DqnInspectMemberType::SampleStruct_shaders,
|
||||||
|
STR_AND_LEN("int"), STR_AND_LEN("shaders"),
|
||||||
|
nullptr, 0, // template_expr and template_expr_len
|
||||||
|
1 // array_dimensions,
|
||||||
|
nullptr, 0, // metadata array
|
||||||
|
},
|
||||||
|
{
|
||||||
|
DqnInspectMemberType::SampleStruct_win32_handle,
|
||||||
|
STR_AND_LEN("void *"), STR_AND_LEN("win32_handle"),
|
||||||
|
nullptr, 0, // template_expr and template_expr_len
|
||||||
|
1 // array_dimensions,
|
||||||
|
nullptr, 0, // metadata array
|
||||||
|
},
|
||||||
|
{
|
||||||
|
DqnInspectMemberType::SampleStruct_lighting_ambient_coeff,
|
||||||
STR_AND_LEN("V3"), STR_AND_LEN("lighting_ambient_coeff"),
|
STR_AND_LEN("V3"), STR_AND_LEN("lighting_ambient_coeff"),
|
||||||
nullptr, 0, // template_expr and template_expr_len
|
nullptr, 0, // template_expr and template_expr_len
|
||||||
0 // array_dimensions
|
0 // array_dimensions,
|
||||||
|
nullptr, 0, // metadata array
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
DqnInspectMemberType::SampleStruct_draw_call_count,
|
||||||
STR_AND_LEN("int"), STR_AND_LEN("draw_call_count"),
|
STR_AND_LEN("int"), STR_AND_LEN("draw_call_count"),
|
||||||
nullptr, 0, // template_expr and template_expr_len
|
nullptr, 0, // template_expr and template_expr_len
|
||||||
0 // array_dimensions
|
0 // array_dimensions,
|
||||||
|
nullptr, 0, // metadata array
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
STR_AND_LEN("const"), STR_AND_LEN("int"),
|
DqnInspectMemberType::SampleStruct_f,
|
||||||
|
STR_AND_LEN("int"), STR_AND_LEN("f"),
|
||||||
nullptr, 0, // template_expr and template_expr_len
|
nullptr, 0, // template_expr and template_expr_len
|
||||||
0 // array_dimensions
|
0 // array_dimensions,
|
||||||
|
nullptr, 0, // metadata array
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
STR_AND_LEN("const"), STR_AND_LEN("a"),
|
DqnInspectMemberType::SampleStruct_g,
|
||||||
|
STR_AND_LEN("int const"), STR_AND_LEN("g"),
|
||||||
nullptr, 0, // template_expr and template_expr_len
|
nullptr, 0, // template_expr and template_expr_len
|
||||||
0 // array_dimensions
|
0 // array_dimensions,
|
||||||
|
nullptr, 0, // metadata array
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
STR_AND_LEN("const"), STR_AND_LEN("int"),
|
DqnInspectMemberType::SampleStruct_h,
|
||||||
|
STR_AND_LEN("int *const"), STR_AND_LEN("h"),
|
||||||
nullptr, 0, // template_expr and template_expr_len
|
nullptr, 0, // template_expr and template_expr_len
|
||||||
0 // array_dimensions
|
1 // array_dimensions,
|
||||||
},
|
nullptr, 0, // metadata array
|
||||||
{
|
|
||||||
STR_AND_LEN("int"), STR_AND_LEN("g"),
|
|
||||||
nullptr, 0, // template_expr and template_expr_len
|
|
||||||
0 // array_dimensions
|
|
||||||
},
|
|
||||||
{
|
|
||||||
STR_AND_LEN("int *c"), STR_AND_LEN("h"),
|
|
||||||
nullptr, 0, // template_expr and template_expr_len
|
|
||||||
1 // array_dimensions
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
DqnInspectMemberType::SampleStruct_i,
|
||||||
STR_AND_LEN("int const*"), STR_AND_LEN("i"),
|
STR_AND_LEN("int const*"), STR_AND_LEN("i"),
|
||||||
nullptr, 0, // template_expr and template_expr_len
|
nullptr, 0, // template_expr and template_expr_len
|
||||||
1 // array_dimensions
|
1 // array_dimensions,
|
||||||
|
nullptr, 0, // metadata array
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
STR_AND_LEN("int *********c"), STR_AND_LEN("j"),
|
DqnInspectMemberType::SampleStruct_j,
|
||||||
|
STR_AND_LEN("int *********const"), STR_AND_LEN("j"),
|
||||||
nullptr, 0, // template_expr and template_expr_len
|
nullptr, 0, // template_expr and template_expr_len
|
||||||
9 // array_dimensions
|
9 // array_dimensions,
|
||||||
|
nullptr, 0, // metadata array
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
DqnInspectMemberType::SampleStruct_k,
|
||||||
STR_AND_LEN("int"), STR_AND_LEN("k"),
|
STR_AND_LEN("int"), STR_AND_LEN("k"),
|
||||||
nullptr, 0, // template_expr and template_expr_len
|
nullptr, 0, // template_expr and template_expr_len
|
||||||
0 // array_dimensions
|
0 // array_dimensions,
|
||||||
|
nullptr, 0, // metadata array
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
STR_AND_LEN("int *********const j, k, ******"), STR_AND_LEN("l"),
|
DqnInspectMemberType::SampleStruct_l,
|
||||||
|
STR_AND_LEN("int ******"), STR_AND_LEN("l"),
|
||||||
nullptr, 0, // template_expr and template_expr_len
|
nullptr, 0, // template_expr and template_expr_len
|
||||||
6 // array_dimensions
|
6 // array_dimensions,
|
||||||
|
nullptr, 0, // metadata array
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
STR_AND_LEN("int *********const j, k, ******l, *"), STR_AND_LEN("m"),
|
DqnInspectMemberType::SampleStruct_m,
|
||||||
|
STR_AND_LEN("int *"), STR_AND_LEN("m"),
|
||||||
nullptr, 0, // template_expr and template_expr_len
|
nullptr, 0, // template_expr and template_expr_len
|
||||||
1 // array_dimensions
|
1 // array_dimensions,
|
||||||
|
nullptr, 0, // metadata array
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
DqnInspect_Struct const DqnInspect_SampleStruct_Struct =
|
DqnInspectStruct const DqnInspect_SampleStruct_Struct =
|
||||||
{
|
{
|
||||||
STR_AND_LEN("SampleStruct"),
|
STR_AND_LEN("SampleStruct"),
|
||||||
DqnInspect_SampleStruct_StructMembers, // members
|
DqnInspect_SampleStruct_StructMembers, // members
|
||||||
ARRAY_COUNT(DqnInspect_SampleStruct_StructMembers) // members_len
|
ARRAY_COUNT(DqnInspect_SampleStruct_StructMembers) // members_len
|
||||||
};
|
};
|
||||||
|
|
||||||
DqnInspect_Struct const *DqnInspect_GetStruct(SampleStruct const *val)
|
DqnInspectStruct const *DqnInspect_Struct(SampleStruct const *)
|
||||||
{
|
{
|
||||||
(void)val;
|
|
||||||
DqnInspect_Struct const *result = &DqnInspect_SampleStruct_Struct;
|
DqnInspect_Struct const *result = &DqnInspect_SampleStruct_Struct;
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
@ -173,12 +301,12 @@ bool DqnInspectMetadata_Coords(EnumWithMetadata val, V3 *value)
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
void Function1(int a, float b = {}, char const * c = nullptr, bool e = false, int f = 1, char * g = "Hello world");
|
void Function1(int a, float b = {}, char char const * c = nullptr, bool e = false, int f = 1, char char * g = "Hello world");
|
||||||
void * Function2(V3 foo = V3(10, 20, 50), V3 bar = {120, 150, 20}, ...);
|
void * Function2(V3 foo = V3(10, 20, 50), V3 bar = {120, 150, 20}, ...);
|
||||||
Array<int const *, 3> const *const Function3(Array<int, 32> const * foobar);
|
Array<int const *, 3> const *const Function3(Array<int, 32> const * foobar);
|
||||||
|
#endif // DQN_INSPECT_DQNINSPECT_TESTDATA_H
|
||||||
|
|
||||||
|
|
||||||
#undef ARRAY_COUNT
|
#undef ARRAY_COUNT
|
||||||
#undef CHAR_COUNT
|
#undef CHAR_COUNT
|
||||||
#undef STR_AND_LEN
|
#undef STR_AND_LEN
|
||||||
#endif // DQN_INSPECT_DQNINSPECT_TESTDATA_H
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user