diff options
| author | gingerBill <bill@gingerbill.org> | 2021-08-02 00:53:45 +0100 |
|---|---|---|
| committer | gingerBill <bill@gingerbill.org> | 2021-08-02 00:53:45 +0100 |
| commit | 7f3d4cb50463dbc0ef9154ea467209ff52ddadc2 (patch) | |
| tree | 29ec4b90d55c63bb3d5c41192858d306d3e8ea0f /src/exact_value.cpp | |
| parent | 97be36d18a5135b756f6e70e721622a7032f40d8 (diff) | |
Remove the literal conversion logic to the parser from the tokenizer
Diffstat (limited to 'src/exact_value.cpp')
| -rw-r--r-- | src/exact_value.cpp | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/src/exact_value.cpp b/src/exact_value.cpp index c8e1ae99f..98a0b95d3 100644 --- a/src/exact_value.cpp +++ b/src/exact_value.cpp @@ -297,13 +297,13 @@ ExactValue exact_value_float_from_string(String string) { } -ExactValue exact_value_from_basic_literal(Token token) { - switch (token.kind) { - case Token_String: return exact_value_string(token.string); - case Token_Integer: return exact_value_integer_from_string(token.string); - case Token_Float: return exact_value_float_from_string(token.string); +ExactValue exact_value_from_basic_literal(TokenKind kind, String const &string) { + switch (kind) { + case Token_String: return exact_value_string(string); + case Token_Integer: return exact_value_integer_from_string(string); + case Token_Float: return exact_value_float_from_string(string); case Token_Imag: { - String str = token.string; + String str = string; Rune last_rune = cast(Rune)str[str.len-1]; str.len--; // Ignore the 'i|j|k' f64 imag = float_from_string(str); @@ -317,7 +317,7 @@ ExactValue exact_value_from_basic_literal(Token token) { } case Token_Rune: { Rune r = GB_RUNE_INVALID; - utf8_decode(token.string.text, token.string.len, &r); + utf8_decode(string.text, string.len, &r); return exact_value_i64(r); } default: |