Skip to content

Commit 91d1767

Browse files
fix(parser): handle preprocessor in struct declarations (#25)
1 parent 713dc9e commit 91d1767

File tree

2 files changed

+8
-8
lines changed

2 files changed

+8
-8
lines changed

src/parser.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -427,7 +427,7 @@ function parseStruct(tokens: Token[]): StructDeclaration {
427427
consume(tokens, '{')
428428
const members: VariableDeclaration[] = []
429429
while (tokens[0] && tokens[0].value !== '}') {
430-
members.push(parseIndeterminate(tokens) as VariableDeclaration)
430+
members.push(...(parseStatements(tokens) as unknown as VariableDeclaration[]))
431431
}
432432
consume(tokens, '}')
433433
consume(tokens, ';')

tests/generator.test.ts

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -40,13 +40,13 @@ const glsl = /* glsl */ `#version 300 es
4040
float one, two;
4141
} globals;
4242
43-
// struct X {
44-
// #if !defined(BLA)
45-
// int y;
46-
// #else
47-
// float z;
48-
// #endif
49-
// };
43+
struct X {
44+
#if !defined(BLA)
45+
int y;
46+
#else
47+
float z;
48+
#endif
49+
};
5050
5151
struct LightData {
5252
float intensity;

0 commit comments

Comments
 (0)