Add error propagation to lexer.
This commit is contained in:
@@ -509,12 +509,14 @@ lex :: (result : *Compile_Result) {
|
|||||||
for *file : result.files {
|
for *file : result.files {
|
||||||
lexer : Lexer;
|
lexer : Lexer;
|
||||||
init_lexer_from_string(*lexer, file.file.source);
|
init_lexer_from_string(*lexer, file.file.source);
|
||||||
|
lexer.path = file.file.path;
|
||||||
token : *Token = scan_next_token(*lexer);
|
token : *Token = scan_next_token(*lexer);
|
||||||
while token && token.kind != .TOKEN_EOF {
|
while token && token.kind != .TOKEN_EOF {
|
||||||
token = scan_next_token(*lexer);
|
token = scan_next_token(*lexer);
|
||||||
}
|
}
|
||||||
|
|
||||||
array_copy(*file.tokens.tokens, lexer.result.tokens);
|
array_copy(*file.tokens.tokens, lexer.result.tokens);
|
||||||
|
result.had_error |= lexer.result.had_error;
|
||||||
|
|
||||||
// @Incomplete(nb): Temporary until we figure out a good way of passing this stuff around
|
// @Incomplete(nb): Temporary until we figure out a good way of passing this stuff around
|
||||||
copy_messages(lexer.result.messages, *result.messages);
|
copy_messages(lexer.result.messages, *result.messages);
|
||||||
|
|||||||
Reference in New Issue
Block a user