Codegen multiple line strings
This commit is contained in:
@@ -197,9 +197,18 @@ gen_value(Token *pos, Value a){
|
||||
gen("0x%llx", pointer_value);
|
||||
}
|
||||
}break;
|
||||
case TYPE_STRING:
|
||||
gen("(String){(U8 *)\"%Q\", %d}", a.intern_val, a.intern_val.len);
|
||||
break;
|
||||
case TYPE_STRING:{
|
||||
int length = 0;
|
||||
gen("(String){(U8 *)\"");
|
||||
for(int i = 0; i < a.intern_val.len; i++){
|
||||
if(a.intern_val.str[i] == '\n'){length += 2; gen("\\n");}
|
||||
else if(a.intern_val.str[i] == '\r'){length += 2; gen("\\r");}
|
||||
else{length += 1; gen("%c", a.intern_val.str[i]);}
|
||||
|
||||
}
|
||||
gen("\", %d}", length);
|
||||
|
||||
}break;
|
||||
CASE_BOOL: {
|
||||
a.bool_val ? gen("true"):gen("false");
|
||||
}break;
|
||||
|
||||
Reference in New Issue
Block a user