Fix for bug with comma separated declaration list vars

Known Bug: Inline comments are not printing now
This commit is contained in:
Edward R. Gonzalez 2023-10-25 21:43:02 -04:00
parent b42b224c0d
commit c1ab233686
3 changed files with 18 additions and 18 deletions

View File

@ -323,10 +323,10 @@ typedef Vector4 Quaternion;
typedef struct Matrix typedef struct Matrix
{ {
f32 m0, m4, m8, m12; f32 m0, m4, m8, m12;
; // Matrix first row (4 components) f32 m1, m5, m9, m13;
float m1, m5, m9, m13; // Matrix second row (4 components) f32 m2, m6, m10, m14;
float m2, m6, m10, m14; // Matrix third row (4 components) f32 m3, m7, m11, m15;
float m3, m7, m11, m15;
} Matrix; } Matrix;
// Color, 4 components, R8G8B8A8 (32bit) // Color, 4 components, R8G8B8A8 (32bit)

View File

@ -150,10 +150,10 @@ typedef Vector4 Quaternion;
typedef struct Matrix typedef struct Matrix
{ {
f32 m0, m4, m8, m12; f32 m0, m4, m8, m12;
; // Matrix first row (4 components) f32 m1, m5, m9, m13;
float m1, m5, m9, m13; // Matrix second row (4 components) f32 m2, m6, m10, m14;
float m2, m6, m10, m14; // Matrix third row (4 components) f32 m3, m7, m11, m15;
float m3, m7, m11, m15;
} Matrix; } Matrix;
#endif #endif

View File

@ -3639,18 +3639,18 @@ CodeVar parse_variable_after_name(
CodeVar next_var = NoCode; CodeVar next_var = NoCode;
Token stmt_end = NullToken; Token stmt_end = NullToken;
CodeComment inline_cmt = NoCode; CodeComment inline_cmt = NoCode;
if ( currtok.Type == TokType::Comma ) if ( type )
{ {
// Were dealing with a statement with more than one declaration if ( currtok.Type == TokType::Comma )
// This is only handled this way if its the first declaration {
// Otherwise its looped through in parse_variable_declaration_list // Were dealing with a statement with more than one declaration
next_var = parse_variable_declaration_list(); // This is only handled this way if its the first declaration
} // Otherwise its looped through in parse_variable_declaration_list
next_var = parse_variable_declaration_list();
}
// If we're dealing with a "comma-procedding then we cannot expect a statement end or inline comment // If we're dealing with a "comma-procedding then we cannot expect a statement end or inline comment
// Any comma procedding variable will not have a type provided so it can act as a indicator to skip this // Any comma procedding variable will not have a type provided so it can act as a indicator to skip this
else if ( type )
{
Token stmt_end = currtok; Token stmt_end = currtok;
eat( TokType::Statement_End ); eat( TokType::Statement_End );