From afbfaa1c557ae53224c0f39c9eb3dbfb5617f045 Mon Sep 17 00:00:00 2001 From: walon Date: Tue, 9 Nov 2021 18:40:58 +0800 Subject: [PATCH] =?UTF-8?q?=E3=80=90=E8=B0=83=E6=95=B4=E3=80=91=E8=B0=83?= =?UTF-8?q?=E6=95=B4java=5Fbin=E5=92=8Cjava=5Fjson=E7=9A=84=E7=94=9F?= =?UTF-8?q?=E6=88=90=E4=BB=A3=E7=A0=81=EF=BC=8C=E7=A7=BB=E9=99=A4var?= =?UTF-8?q?=E5=85=B3=E9=94=AE=E5=AD=97=EF=BC=8C=E5=85=BC=E5=AE=B9java=201.?= =?UTF-8?q?8=E7=9A=84=E8=AF=AD=E6=B3=95=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Source/TypeVisitors/JavaJsonDeserialize.cs | 14 +++++++------- .../TypeVisitors/JavaUnderingDeserializeVisitor.cs | 8 ++++---- .../Templates/config/java_bin/tables.tpl | 2 +- .../Templates/config/java_json/table.tpl | 2 +- .../Templates/config/java_json/tables.tpl | 2 +- 5 files changed, 14 insertions(+), 14 deletions(-) diff --git a/src/Luban.Job.Cfg/Source/TypeVisitors/JavaJsonDeserialize.cs b/src/Luban.Job.Cfg/Source/TypeVisitors/JavaJsonDeserialize.cs index 2a8feee..ec362ab 100644 --- a/src/Luban.Job.Cfg/Source/TypeVisitors/JavaJsonDeserialize.cs +++ b/src/Luban.Job.Cfg/Source/TypeVisitors/JavaJsonDeserialize.cs @@ -93,37 +93,37 @@ namespace Luban.Job.Cfg.TypeVisitors public string Accept(TArray type, string json, string x) { - return $"{{ var _json0_ = {json}.getAsJsonArray(); int _n = _json0_.size(); {x} = new {type.ElementType.Apply(JavaDefineTypeName.Ins)}[_n]; int _index=0; for(JsonElement __e : _json0_) {{ {type.ElementType.Apply(JavaDefineTypeName.Ins)} __v; {type.ElementType.Apply(this, "__e", "__v")} {x}[_index++] = __v; }} }}"; + return $"{{ com.google.gson.JsonArray _json0_ = {json}.getAsJsonArray(); int _n = _json0_.size(); {x} = new {type.ElementType.Apply(JavaDefineTypeName.Ins)}[_n]; int _index=0; for(JsonElement __e : _json0_) {{ {type.ElementType.Apply(JavaDefineTypeName.Ins)} __v; {type.ElementType.Apply(this, "__e", "__v")} {x}[_index++] = __v; }} }}"; } public string Accept(TList type, string json, string x) { - return $"{{ var _json0_ = {json}.getAsJsonArray(); {x} = new {type.Apply(JavaDefineTypeName.Ins)}(_json0_.size()); for(JsonElement __e : _json0_) {{ {type.ElementType.Apply(JavaDefineTypeName.Ins)} __v; {type.ElementType.Apply(this, "__e", "__v")} {x}.add(__v); }} }}"; + return $"{{ com.google.gson.JsonArray _json0_ = {json}.getAsJsonArray(); {x} = new {type.Apply(JavaDefineTypeName.Ins)}(_json0_.size()); for(JsonElement __e : _json0_) {{ {type.ElementType.Apply(JavaDefineTypeName.Ins)} __v; {type.ElementType.Apply(this, "__e", "__v")} {x}.add(__v); }} }}"; } public string Accept(TSet type, string json, string x) { - return $"{{ var _json0_ = {json}.getAsJsonArray(); {x} = new {type.Apply(JavaDefineTypeName.Ins)}(_json0_.size()); for(JsonElement __e : _json0_) {{ {type.ElementType.Apply(JavaDefineTypeName.Ins)} __v; {type.ElementType.Apply(this, "__e", "__v")} {x}.add(__v); }} }}"; + return $"{{ com.google.gson.JsonArray _json0_ = {json}.getAsJsonArray(); {x} = new {type.Apply(JavaDefineTypeName.Ins)}(_json0_.size()); for(JsonElement __e : _json0_) {{ {type.ElementType.Apply(JavaDefineTypeName.Ins)} __v; {type.ElementType.Apply(this, "__e", "__v")} {x}.add(__v); }} }}"; } public string Accept(TMap type, string json, string x) { - return @$"{{ var _json0_ = {json}.getAsJsonArray(); {x} = new {type.Apply(JavaDefineTypeName.Ins)}(_json0_.size()); for(JsonElement __e : _json0_) {{ {type.KeyType.Apply(JavaDefineTypeName.Ins)} __k; {type.KeyType.Apply(this, "__e.getAsJsonArray().get(0)", "__k")} {type.ValueType.Apply(JavaDefineTypeName.Ins)} __v; {type.ValueType.Apply(this, "__e.getAsJsonArray().get(1)", "__v")} {x}.put(__k, __v); }} }}"; + return @$"{{ com.google.gson.JsonArray _json0_ = {json}.getAsJsonArray(); {x} = new {type.Apply(JavaDefineTypeName.Ins)}(_json0_.size()); for(JsonElement __e : _json0_) {{ {type.KeyType.Apply(JavaDefineTypeName.Ins)} __k; {type.KeyType.Apply(this, "__e.getAsJsonArray().get(0)", "__k")} {type.ValueType.Apply(JavaDefineTypeName.Ins)} __v; {type.ValueType.Apply(this, "__e.getAsJsonArray().get(1)", "__v")} {x}.put(__k, __v); }} }}"; } public string Accept(TVector2 type, string json, string x) { - return $"{{ var _json0_ = {json}.getAsJsonObject(); float __x; {TFloat.Ins.Apply(this, "_json0_.get(\"x\")", "__x") } float __y; {TFloat.Ins.Apply(this, "_json0_.get(\"y\")", "__y") } {x} = new {type.Apply(JavaDefineTypeName.Ins)}(__x, __y); }}"; + return $"{{ com.google.gson.JsonObject _json0_ = {json}.getAsJsonObject(); float __x; {TFloat.Ins.Apply(this, "_json0_.get(\"x\")", "__x") } float __y; {TFloat.Ins.Apply(this, "_json0_.get(\"y\")", "__y") } {x} = new {type.Apply(JavaDefineTypeName.Ins)}(__x, __y); }}"; } public string Accept(TVector3 type, string json, string x) { - return $"{{ var _json0_ = {json}.getAsJsonObject(); float __x; {TFloat.Ins.Apply(this, "_json0_.get(\"x\")", "__x") } float __y; {TFloat.Ins.Apply(this, "_json0_.get(\"y\")", "__y") } float __z; {TFloat.Ins.Apply(this, "_json0_.get(\"z\")", "__z") } {x} = new {type.Apply(JavaDefineTypeName.Ins)}(__x, __y,__z); }}"; + return $"{{ com.google.gson.JsonObject _json0_ = {json}.getAsJsonObject(); float __x; {TFloat.Ins.Apply(this, "_json0_.get(\"x\")", "__x") } float __y; {TFloat.Ins.Apply(this, "_json0_.get(\"y\")", "__y") } float __z; {TFloat.Ins.Apply(this, "_json0_.get(\"z\")", "__z") } {x} = new {type.Apply(JavaDefineTypeName.Ins)}(__x, __y,__z); }}"; } public string Accept(TVector4 type, string json, string x) { - return $"{{ var _json0_ = {json}.getAsJsonObject(); float __x; {TFloat.Ins.Apply(this, "_json0_.get(\"x\")", "__x") } float __y; {TFloat.Ins.Apply(this, "_json0_.get(\"y\")", "__y") } float __z; {TFloat.Ins.Apply(this, "_json0_.get(\"z\")", "__z") } float __w; {TFloat.Ins.Apply(this, "_json0_.get(\"w\")", "__w") } {x} = new {type.Apply(JavaDefineTypeName.Ins)}(__x, __y, __z, __w); }}"; + return $"{{ com.google.gson.JsonObject _json0_ = {json}.getAsJsonObject(); float __x; {TFloat.Ins.Apply(this, "_json0_.get(\"x\")", "__x") } float __y; {TFloat.Ins.Apply(this, "_json0_.get(\"y\")", "__y") } float __z; {TFloat.Ins.Apply(this, "_json0_.get(\"z\")", "__z") } float __w; {TFloat.Ins.Apply(this, "_json0_.get(\"w\")", "__w") } {x} = new {type.Apply(JavaDefineTypeName.Ins)}(__x, __y, __z, __w); }}"; } public string Accept(TDateTime type, string json, string x) diff --git a/src/Luban.Job.Cfg/Source/TypeVisitors/JavaUnderingDeserializeVisitor.cs b/src/Luban.Job.Cfg/Source/TypeVisitors/JavaUnderingDeserializeVisitor.cs index 8b5ffb3..bfea921 100644 --- a/src/Luban.Job.Cfg/Source/TypeVisitors/JavaUnderingDeserializeVisitor.cs +++ b/src/Luban.Job.Cfg/Source/TypeVisitors/JavaUnderingDeserializeVisitor.cs @@ -91,22 +91,22 @@ namespace Luban.Job.Cfg.TypeVisitors public string Accept(TArray type, string bufName, string fieldName) { - return $"{{int n = Math.min({bufName}.readSize(), {bufName}.size());{fieldName} = new {type.ElementType.Apply(JavaDefineTypeName.Ins)}[n];for(var i = 0 ; i < n ; i++) {{ {type.ElementType.Apply(JavaDefineTypeName.Ins)} _e;{type.ElementType.Apply(this, bufName, "_e")} {fieldName}[i] = _e;}}}}"; + return $"{{int n = Math.min({bufName}.readSize(), {bufName}.size());{fieldName} = new {type.ElementType.Apply(JavaDefineTypeName.Ins)}[n];for(int i = 0 ; i < n ; i++) {{ {type.ElementType.Apply(JavaDefineTypeName.Ins)} _e;{type.ElementType.Apply(this, bufName, "_e")} {fieldName}[i] = _e;}}}}"; } public string Accept(TList type, string bufName, string fieldName) { - return $"{{int n = Math.min({bufName}.readSize(), {bufName}.size());{fieldName} = new {type.Apply(JavaDefineTypeName.Ins)}(n);for(var i = 0 ; i < n ; i++) {{ {type.ElementType.Apply(JavaBoxDefineTypeName.Ins)} _e; {type.ElementType.Apply(this, bufName, "_e")} {fieldName}.add(_e);}}}}"; + return $"{{int n = Math.min({bufName}.readSize(), {bufName}.size());{fieldName} = new {type.Apply(JavaDefineTypeName.Ins)}(n);for(int i = 0 ; i < n ; i++) {{ {type.ElementType.Apply(JavaBoxDefineTypeName.Ins)} _e; {type.ElementType.Apply(this, bufName, "_e")} {fieldName}.add(_e);}}}}"; } public string Accept(TSet type, string bufName, string fieldName) { - return $"{{int n = Math.min({bufName}.readSize(), {bufName}.size());{fieldName} = new {type.Apply(JavaDefineTypeName.Ins)}(n * 3 / 2);for(var i = 0 ; i < n ; i++) {{ {type.ElementType.Apply(JavaBoxDefineTypeName.Ins)} _e; {type.ElementType.Apply(this, bufName, "_e")} {fieldName}.add(_e);}}}}"; + return $"{{int n = Math.min({bufName}.readSize(), {bufName}.size());{fieldName} = new {type.Apply(JavaDefineTypeName.Ins)}(n * 3 / 2);for(int i = 0 ; i < n ; i++) {{ {type.ElementType.Apply(JavaBoxDefineTypeName.Ins)} _e; {type.ElementType.Apply(this, bufName, "_e")} {fieldName}.add(_e);}}}}"; } public string Accept(TMap type, string bufName, string fieldName) { - return $"{{int n = Math.min({bufName}.readSize(), {bufName}.size());{fieldName} = new {type.Apply(JavaDefineTypeName.Ins)}(n * 3 / 2);for(var i = 0 ; i < n ; i++) {{ {type.KeyType.Apply(JavaBoxDefineTypeName.Ins)} _k; {type.KeyType.Apply(this, bufName, "_k")} {type.ValueType.Apply(JavaBoxDefineTypeName.Ins)} _v; {type.ValueType.Apply(this, bufName, "_v")} {fieldName}.put(_k, _v);}}}}"; + return $"{{int n = Math.min({bufName}.readSize(), {bufName}.size());{fieldName} = new {type.Apply(JavaDefineTypeName.Ins)}(n * 3 / 2);for(int i = 0 ; i < n ; i++) {{ {type.KeyType.Apply(JavaBoxDefineTypeName.Ins)} _k; {type.KeyType.Apply(this, bufName, "_k")} {type.ValueType.Apply(JavaBoxDefineTypeName.Ins)} _v; {type.ValueType.Apply(this, bufName, "_v")} {fieldName}.put(_k, _v);}}}}"; } diff --git a/src/Luban.Server/Templates/config/java_bin/tables.tpl b/src/Luban.Server/Templates/config/java_bin/tables.tpl index 5a13612..cb7d996 100644 --- a/src/Luban.Server/Templates/config/java_bin/tables.tpl +++ b/src/Luban.Server/Templates/config/java_bin/tables.tpl @@ -19,7 +19,7 @@ public final class {{name}} {{~end~}} public {{name}}(IByteBufLoader loader) throws java.io.IOException { - var tables = new java.util.HashMap(); + java.util.HashMap tables = new java.util.HashMap<>(); {{~for table in tables ~}} {{table.inner_name}} = new {{table.full_name_with_top_module}}(loader.load("{{table.output_data_file}}")); tables.put("{{table.full_name}}", {{table.inner_name}}); diff --git a/src/Luban.Server/Templates/config/java_json/table.tpl b/src/Luban.Server/Templates/config/java_json/table.tpl index 2b02415..9c45d2d 100644 --- a/src/Luban.Server/Templates/config/java_json/table.tpl +++ b/src/Luban.Server/Templates/config/java_json/table.tpl @@ -24,7 +24,7 @@ public final class {{name}} { _dataMap = new java.util.HashMap<{{java_box_define_type key_type}}, {{java_box_define_type value_type}}>(); _dataList = new java.util.ArrayList<{{java_box_define_type value_type}}>(); - for(var _e_ : __json__.getAsJsonArray()) { + for(com.google.gson.JsonElement _e_ : __json__.getAsJsonArray()) { {{java_box_define_type value_type}} _v; {{java_deserialize '_e_.getAsJsonObject()' '_v' value_type}} _dataList.add(_v); diff --git a/src/Luban.Server/Templates/config/java_json/tables.tpl b/src/Luban.Server/Templates/config/java_json/tables.tpl index abe7c71..d73045c 100644 --- a/src/Luban.Server/Templates/config/java_json/tables.tpl +++ b/src/Luban.Server/Templates/config/java_json/tables.tpl @@ -19,7 +19,7 @@ public final class {{name}} {{~end~}} public {{name}}(IJsonLoader loader) throws java.io.IOException { - var tables = new java.util.HashMap(); + java.util.HashMap tables = new java.util.HashMap<>(); {{~for table in tables ~}} {{table.inner_name}} = new {{table.full_name_with_top_module}}(loader.load("{{table.output_data_file}}")); tables.put("{{table.full_name}}", {{table.inner_name}});