Fixed #2411
This commit is contained in:
@@ -71,22 +71,17 @@ public class LogicStatementProcessor extends BaseProcessor{
|
|||||||
|
|
||||||
writer.addStatement("out.append(\" \")");
|
writer.addStatement("out.append(\" \")");
|
||||||
writer.addStatement("out.append((($T)obj).$L$L)", c.mirror(), field.name(),
|
writer.addStatement("out.append((($T)obj).$L$L)", c.mirror(), field.name(),
|
||||||
field.mirror().toString().equals("java.lang.String") ?
|
Seq.with(typeu.directSupertypes(field.mirror())).contains(t -> t.toString().contains("java.lang.Enum")) ? ".name()" :
|
||||||
".replace(\"\\n\", \"\\\\n\")" :
|
"");
|
||||||
Seq.with(typeu.directSupertypes(field.mirror())).contains(t -> t.toString().contains("java.lang.Enum")) ? ".name()" :
|
|
||||||
"");
|
|
||||||
|
|
||||||
//reading primitives, strings and enums is supported; nothing else is
|
//reading primitives, strings and enums is supported; nothing else is
|
||||||
reader.addStatement("if(tokens.length > $L) result.$L = $L(tokens[$L])$L",
|
reader.addStatement("if(tokens.length > $L) result.$L = $L(tokens[$L])",
|
||||||
index + 1,
|
index + 1,
|
||||||
field.name(),
|
field.name(),
|
||||||
field.mirror().toString().equals("java.lang.String") ?
|
field.mirror().toString().equals("java.lang.String") ?
|
||||||
"" : (field.tname().isPrimitive() ? field.tname().box().toString() :
|
"" : (field.tname().isPrimitive() ? field.tname().box().toString() :
|
||||||
field.mirror().toString()) + ".valueOf", //if it's not a string, it must have a valueOf method
|
field.mirror().toString()) + ".valueOf", //if it's not a string, it must have a valueOf method
|
||||||
index + 1,
|
index + 1
|
||||||
field.mirror().toString().equals("java.lang.String") ?
|
|
||||||
".replace(\"\\\\n\", \"\\n\")" :
|
|
||||||
""
|
|
||||||
);
|
);
|
||||||
|
|
||||||
index ++;
|
index ++;
|
||||||
|
|||||||
@@ -96,7 +96,7 @@ public class LAssembler{
|
|||||||
if(c == '"'){
|
if(c == '"'){
|
||||||
inString = !inString;
|
inString = !inString;
|
||||||
}else if(c == ' ' && !inString){
|
}else if(c == ' ' && !inString){
|
||||||
tokens.add(line.substring(lastIdx, i).replace("\\n", "\n"));
|
tokens.add(line.substring(lastIdx, i));
|
||||||
lastIdx = i + 1;
|
lastIdx = i + 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -162,7 +162,7 @@ public class LAssembler{
|
|||||||
|
|
||||||
//string case
|
//string case
|
||||||
if(symbol.startsWith("\"") && symbol.endsWith("\"")){
|
if(symbol.startsWith("\"") && symbol.endsWith("\"")){
|
||||||
return putConst("___" + symbol, symbol.substring(1, symbol.length() - 1)).id;
|
return putConst("___" + symbol, symbol.substring(1, symbol.length() - 1).replace("\\n", "\n")).id;
|
||||||
}
|
}
|
||||||
|
|
||||||
try{
|
try{
|
||||||
|
|||||||
Reference in New Issue
Block a user