[fix] config enum的java代码生成普通的int,而不是java枚举类。修复flags=1的枚举项反序列化的异常。
parent
4255ae25bf
commit
c0ddce497c
|
|
@ -45,7 +45,7 @@ namespace Luban.Job.Cfg.Generate
|
||||||
|
|
||||||
foreach (var subTitle in title.SubTitleList)
|
foreach (var subTitle in title.SubTitleList)
|
||||||
{
|
{
|
||||||
string titleAndTags = subTitle.Tags.Count == 0 ? subTitle.Name : subTitle.Name + "&" + string.Join('&', subTitle.Tags.Select(e => $"{e.Key}={e.Value}"));
|
string titleAndTags = subTitle.Tags.Count == 0 ? subTitle.Name : subTitle.Name + "#" + string.Join('#', subTitle.Tags.Select(e => $"{e.Key}={e.Value}"));
|
||||||
titleRow[subTitle.FromIndex] = titleAndTags;
|
titleRow[subTitle.FromIndex] = titleAndTags;
|
||||||
}
|
}
|
||||||
dataRangeArray.Add(titleRow);
|
dataRangeArray.Add(titleRow);
|
||||||
|
|
@ -58,7 +58,7 @@ namespace Luban.Job.Cfg.Generate
|
||||||
foreach (var subTitle in title.SubTitleList)
|
foreach (var subTitle in title.SubTitleList)
|
||||||
{
|
{
|
||||||
string typeAndTags = valueType.Bean.TryGetField(subTitle.Name, out var f, out _) ?
|
string typeAndTags = valueType.Bean.TryGetField(subTitle.Name, out var f, out _) ?
|
||||||
(f.CType.Tags.Count == 0 ? f.CType.Apply(CsDefineTypeName.Ins) : f.CType.Apply(CsDefineTypeName.Ins) + "&" + string.Join('&', f.CType.Tags.Select(e => $"{e.Key}={e.Value}")))
|
(f.CType.Tags.Count == 0 ? f.CType.Apply(CsDefineTypeName.Ins) : f.CType.Apply(CsDefineTypeName.Ins) + "#" + string.Join('#', f.CType.Tags.Select(e => $"({e.Key}={e.Value})")))
|
||||||
: "";
|
: "";
|
||||||
typeRow[subTitle.FromIndex] = typeAndTags;
|
typeRow[subTitle.FromIndex] = typeAndTags;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -61,7 +61,7 @@ namespace Luban.Job.Cfg.TypeVisitors
|
||||||
|
|
||||||
public string Accept(TEnum type, string json, string x)
|
public string Accept(TEnum type, string json, string x)
|
||||||
{
|
{
|
||||||
return $"{x} = {type.DefineEnum.FullNameWithTopModule}.valueOf({json}.getAsInt());";
|
return $"{x} = {json}.getAsInt();";
|
||||||
}
|
}
|
||||||
|
|
||||||
public string Accept(TString type, string json, string x)
|
public string Accept(TString type, string json, string x)
|
||||||
|
|
|
||||||
|
|
@ -59,7 +59,7 @@ namespace Luban.Job.Cfg.TypeVisitors
|
||||||
|
|
||||||
public string Accept(TEnum type, string bufName, string fieldName)
|
public string Accept(TEnum type, string bufName, string fieldName)
|
||||||
{
|
{
|
||||||
return $"{fieldName} = {type.DefineEnum.FullNameWithTopModule}.valueOf({bufName}.readInt());";
|
return $"{fieldName} = {bufName}.readInt();";
|
||||||
}
|
}
|
||||||
|
|
||||||
public string Accept(TString type, string bufName, string fieldName)
|
public string Accept(TString type, string bufName, string fieldName)
|
||||||
|
|
|
||||||
|
|
@ -60,5 +60,11 @@ namespace Luban.Job.Common.TypeVisitors
|
||||||
{
|
{
|
||||||
return "Integer";
|
return "Integer";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public override string Accept(TEnum type)
|
||||||
|
{
|
||||||
|
//return type.DefineEnum.FullNameWithTopModule;
|
||||||
|
return "Integer";
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -56,9 +56,10 @@ namespace Luban.Job.Common.TypeVisitors
|
||||||
return type.IsNullable ? "Double" : "double";
|
return type.IsNullable ? "Double" : "double";
|
||||||
}
|
}
|
||||||
|
|
||||||
public string Accept(TEnum type)
|
public virtual string Accept(TEnum type)
|
||||||
{
|
{
|
||||||
return type.DefineEnum.FullNameWithTopModule;
|
//return type.DefineEnum.FullNameWithTopModule;
|
||||||
|
return type.IsNullable ? "Integer" : "int";
|
||||||
}
|
}
|
||||||
|
|
||||||
public string Accept(TString type)
|
public string Accept(TString type)
|
||||||
|
|
|
||||||
|
|
@ -11,31 +11,13 @@ package {{namespace_with_top_module}};
|
||||||
* {{comment | html.escape}}
|
* {{comment | html.escape}}
|
||||||
*/
|
*/
|
||||||
{{~end~}}
|
{{~end~}}
|
||||||
public enum {{name}} {
|
public final class {{name}} {
|
||||||
{{~ for item in items ~}}
|
{{~ for item in items ~}}
|
||||||
{{~if item.comment != '' ~}}
|
{{~if item.comment != '' ~}}
|
||||||
/**
|
/**
|
||||||
* {{item.escape_comment}}
|
* {{item.escape_comment}}
|
||||||
*/
|
*/
|
||||||
{{~end~}}
|
{{~end~}}
|
||||||
{{item.name}}({{item.int_value}}),
|
public static final int {{item.name}} = {{item.int_value}};
|
||||||
{{~end~}}
|
{{~end~}}
|
||||||
;
|
|
||||||
|
|
||||||
private final int value;
|
|
||||||
|
|
||||||
public int getValue() {
|
|
||||||
return value;
|
|
||||||
}
|
|
||||||
|
|
||||||
{{name}}(int value) {
|
|
||||||
this.value = value;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static {{name}} valueOf(int value) {
|
|
||||||
{{~ for item in items ~}}
|
|
||||||
if (value == {{item.int_value}}) return {{item.name}};
|
|
||||||
{{~end~}}
|
|
||||||
throw new IllegalArgumentException("");
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue