Use manifold type order by default
ci/woodpecker/push/woodpecker Pipeline was successful
Details
ci/woodpecker/push/woodpecker Pipeline was successful
Details
This commit is contained in:
parent
316d81bb18
commit
46ce536703
|
@ -207,7 +207,7 @@ public class GsonCompileProcessor extends AbstractProcessor2 {
|
|||
.addParameter(Cl.GSON_WRITER, "writer")
|
||||
.addParameter(classType, "value")
|
||||
.addException(IOException.class)
|
||||
.addCode(generatedClassName.simpleName() + ".write(writer, value);")
|
||||
.addCode(generatedClassName.simpleName() + ".write(value, writer);")
|
||||
.build())
|
||||
.addMethod(MethodSpec.methodBuilder("read")
|
||||
.addAnnotation(Override.class)
|
||||
|
@ -232,8 +232,9 @@ public class GsonCompileProcessor extends AbstractProcessor2 {
|
|||
.build()
|
||||
);
|
||||
spec.addMethod(
|
||||
extension(MethodSpec.methodBuilder("write"), classType, Cl.GSON_WRITER, "writer")
|
||||
extension(MethodSpec.methodBuilder("write"), classType)
|
||||
.addModifiers(Modifier.PUBLIC, Modifier.STATIC)
|
||||
.addParameter(Cl.GSON_WRITER, "writer")
|
||||
.addException(IOException.class)
|
||||
.addCode("$T.write(writer, value);", adapter)
|
||||
.build()
|
||||
|
@ -251,7 +252,7 @@ public class GsonCompileProcessor extends AbstractProcessor2 {
|
|||
};
|
||||
|
||||
final String readStatement = "return read(reader)";
|
||||
final String writeStatement = hasManifold ? "write(value, writer)" : "write(writer, value)";
|
||||
final String writeStatement = "write(value, writer)";
|
||||
|
||||
spec.addMethod(
|
||||
extension(MethodSpec.methodBuilder("read"))
|
||||
|
@ -306,8 +307,9 @@ public class GsonCompileProcessor extends AbstractProcessor2 {
|
|||
);
|
||||
|
||||
spec.addMethod(
|
||||
extension(MethodSpec.methodBuilder("write"), classType, Writer.class, "out")
|
||||
extension(MethodSpec.methodBuilder("write"), classType)
|
||||
.addModifiers(Modifier.PUBLIC, Modifier.STATIC)
|
||||
.addParameter(Writer.class, "out")
|
||||
.addException(IOException.class)
|
||||
.addCode(configureWriter.apply(CodeBlock.builder().beginControlFlow("try ($1T writer = new $1T(out))", Cl.GSON_WRITER))
|
||||
.addStatement(writeStatement)
|
||||
|
@ -317,8 +319,9 @@ public class GsonCompileProcessor extends AbstractProcessor2 {
|
|||
);
|
||||
|
||||
spec.addMethod(
|
||||
extension(MethodSpec.methodBuilder("write"), classType, Path.class, "path")
|
||||
extension(MethodSpec.methodBuilder("write"), classType)
|
||||
.addModifiers(Modifier.PUBLIC, Modifier.STATIC)
|
||||
.addParameter(Path.class, "path")
|
||||
.addException(IOException.class)
|
||||
.addCode(CodeBlock.builder().beginControlFlow("try ($1T writer = $2T.newBufferedWriter(path, $3T.CREATE, $3T.WRITE, $3T.TRUNCATE_EXISTING))", BufferedWriter.class, Files.class, StandardOpenOption.class)
|
||||
.addStatement(writeStatement)
|
||||
|
@ -405,8 +408,9 @@ public class GsonCompileProcessor extends AbstractProcessor2 {
|
|||
}
|
||||
code.addStatement("writer.endObject()");
|
||||
|
||||
spec.addMethod(extension(MethodSpec.methodBuilder("write"), self.getTypeName(), Cl.GSON_WRITER, "writer")
|
||||
spec.addMethod(extension(MethodSpec.methodBuilder("write"), self.getTypeName())
|
||||
.addModifiers(Modifier.PUBLIC, Modifier.STATIC)
|
||||
.addParameter(Cl.GSON_WRITER, "writer")
|
||||
.addException(IOException.class)
|
||||
.addCode(code.build())
|
||||
.build());
|
||||
|
@ -537,21 +541,4 @@ public class GsonCompileProcessor extends AbstractProcessor2 {
|
|||
}
|
||||
return method;
|
||||
}
|
||||
|
||||
private MethodSpec.Builder extension(MethodSpec.Builder method, TypeName thizName, TypeName otherName, String other) {
|
||||
if (hasManifold) {
|
||||
method.addAnnotation(Cl.MANIFOLD_EXTENSION);
|
||||
method.addParameter(ParameterSpec.builder(thizName, "value").addAnnotation(Cl.MANIFOLD_THIS).build())
|
||||
.addParameter(otherName, other);
|
||||
}
|
||||
else {
|
||||
method.addParameter(otherName, other)
|
||||
.addParameter(thizName, "value");
|
||||
}
|
||||
return method;
|
||||
}
|
||||
|
||||
private MethodSpec.Builder extension(MethodSpec.Builder method, TypeName thizName, Class<?> otherName, String other) {
|
||||
return extension(method, thizName, TypeName.get(otherName), other);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -13,9 +13,9 @@ public abstract class AdapterAdapter<T extends AdapterAdapter<T>.Hydrated> exten
|
|||
public abstract class Hydrated extends Adapter<T>.Hydrated {
|
||||
@Override
|
||||
public void generateWrite(Runnable writeGet) {
|
||||
code.add("$L.write(writer, ", getAdapter());
|
||||
code.add("$L.write(", getAdapter());
|
||||
writeGet.run();
|
||||
code.add(");\n");
|
||||
code.add(", writer);\n");
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
Loading…
Reference in New Issue