@@ -57,19 +57,21 @@ pub fn escape_string(s: &String) -> String {
5757 let mut result = String::with_capacity(s.len() + 2);
5858 result.append_char('"');
5959 for let c of s.chars() {
60- if c == '"' { result.append("\\\""); }
61- else if c == '\\' { result.append("\\\\"); }
62- else if c == '\n' { result.append("\\n"); }
63- else if c == '\r' { result.append("\\r"); }
64- else if c == '\t' { result.append("\\t"); }
65- else {
66- let code = c as i32;
67- if code >= 32 && code < 127 {
68- result.append_char(c);
69- } else {
70- result.append(`\\u\{{code:x}\}`);
71- }
72- }
60+ match c {
61+ '"' => result.append("\\\""),
62+ '\\' => result.append("\\\\"),
63+ '\n' => result.append("\\n"),
64+ '\r' => result.append("\\r"),
65+ '\t' => result.append("\\t"),
66+ _ => {
67+ let code = c as i32;
68+ if code >= 32 && code < 127 {
69+ result.append_char(c);
70+ } else {
71+ result.append(`\\u\{{code:x}\}`);
72+ }
73+ },
74+ };
7375 }
7476 result.append_char('"');
7577 return result;
@@ -152,33 +154,35 @@ pub fn literal_const_name(text: &String) -> String {
152154 for let c of text.chars() {
153155 if c.is_ascii_lowercase() {
154156 result.append_char(c.to_ascii_uppercase());
155- } else if c.is_ascii_uppercase() {
156- result.append_char(c);
157- } else if c >= '0' && c <= '9' {
157+ } else if c.is_ascii_uppercase() || c >= '0' && c <= '9' {
158158 result.append_char(c);
159- } else if c == '{' { result.append("LBRACE"); }
160- else if c == '}' { result.append("RBRACE"); }
161- else if c == '[' { result.append("LBRACKET"); }
162- else if c == ']' { result.append("RBRACKET"); }
163- else if c == '(' { result.append("LPAREN"); }
164- else if c == ')' { result.append("RPAREN"); }
165- else if c == ':' { result.append("COLON"); }
166- else if c == ',' { result.append("COMMA"); }
167- else if c == '.' { result.append("DOT"); }
168- else if c == ';' { result.append("SEMI"); }
169- else if c == '+' { result.append("PLUS"); }
170- else if c == '-' { result.append("MINUS"); }
171- else if c == '*' { result.append("STAR"); }
172- else if c == '/' { result.append("SLASH"); }
173- else if c == '=' { result.append("EQ"); }
174- else if c == '<' { result.append("LT"); }
175- else if c == '>' { result.append("GT"); }
176- else if c == '!' { result.append("BANG"); }
177- else if c == '&' { result.append("AMP"); }
178- else if c == '|' { result.append("PIPE"); }
179- else if c == '^' { result.append("CARET"); }
180- else if c == '~' { result.append("TILDE"); }
181- else { result.append_char('_'); }
159+ } else {
160+ match c {
161+ '{' => result.append("LBRACE"),
162+ '}' => result.append("RBRACE"),
163+ '[' => result.append("LBRACKET"),
164+ ']' => result.append("RBRACKET"),
165+ '(' => result.append("LPAREN"),
166+ ')' => result.append("RPAREN"),
167+ ':' => result.append("COLON"),
168+ ',' => result.append("COMMA"),
169+ '.' => result.append("DOT"),
170+ ';' => result.append("SEMI"),
171+ '+' => result.append("PLUS"),
172+ '-' => result.append("MINUS"),
173+ '*' => result.append("STAR"),
174+ '/' => result.append("SLASH"),
175+ '=' => result.append("EQ"),
176+ '<' => result.append("LT"),
177+ '>' => result.append("GT"),
178+ '!' => result.append("BANG"),
179+ '&' => result.append("AMP"),
180+ '|' => result.append("PIPE"),
181+ '^' => result.append("CARET"),
182+ '~' => result.append("TILDE"),
183+ _ => result.append_char('_'),
184+ };
185+ }
182186 }
183187 return result;
184188}
0 commit comments