diff --git a/java/src/main/java/com/kcl/api/Spec.java b/java/src/main/java/com/kcl/api/Spec.java index 35294cb2..1534ab46 100644 --- a/java/src/main/java/com/kcl/api/Spec.java +++ b/java/src/main/java/com/kcl/api/Spec.java @@ -38779,6 +38779,20 @@ public interface VariableOrBuilder extends * @return The bytes for value. */ com.google.protobuf.ByteString getValueBytes(); + + /** + * string type_name = 2; + * + * @return The typeName. + */ + java.lang.String getTypeName(); + + /** + * string type_name = 2; + * + * @return The bytes for typeName. + */ + com.google.protobuf.ByteString getTypeNameBytes(); } /** @@ -38796,6 +38810,7 @@ private Variable(com.google.protobuf.GeneratedMessageV3.Builder builder) { private Variable() { value_ = ""; + typeName_ = ""; } @java.lang.Override @@ -38854,6 +38869,45 @@ public com.google.protobuf.ByteString getValueBytes() { } } + public static final int TYPE_NAME_FIELD_NUMBER = 2; + @SuppressWarnings("serial") + private volatile java.lang.Object typeName_ = ""; + + /** + * string type_name = 2; + * + * @return The typeName. + */ + @java.lang.Override + public java.lang.String getTypeName() { + java.lang.Object ref = typeName_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + typeName_ = s; + return s; + } + } + + /** + * string type_name = 2; + * + * @return The bytes for typeName. + */ + @java.lang.Override + public com.google.protobuf.ByteString getTypeNameBytes() { + java.lang.Object ref = typeName_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + typeName_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + private byte memoizedIsInitialized = -1; @java.lang.Override @@ -38873,6 +38927,9 @@ public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(value_)) { com.google.protobuf.GeneratedMessageV3.writeString(output, 1, value_); } + if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(typeName_)) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 2, typeName_); + } getUnknownFields().writeTo(output); } @@ -38886,6 +38943,9 @@ public int getSerializedSize() { if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(value_)) { size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, value_); } + if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(typeName_)) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, typeName_); + } size += getUnknownFields().getSerializedSize(); memoizedSize = size; return size; @@ -38903,6 +38963,8 @@ public boolean equals(final java.lang.Object obj) { if (!getValue().equals(other.getValue())) return false; + if (!getTypeName().equals(other.getTypeName())) + return false; if (!getUnknownFields().equals(other.getUnknownFields())) return false; return true; @@ -38917,6 +38979,8 @@ public int hashCode() { hash = (19 * hash) + getDescriptor().hashCode(); hash = (37 * hash) + VALUE_FIELD_NUMBER; hash = (53 * hash) + getValue().hashCode(); + hash = (37 * hash) + TYPE_NAME_FIELD_NUMBER; + hash = (53 * hash) + getTypeName().hashCode(); hash = (29 * hash) + getUnknownFields().hashCode(); memoizedHashCode = hash; return hash; @@ -39041,6 +39105,7 @@ public Builder clear() { super.clear(); bitField0_ = 0; value_ = ""; + typeName_ = ""; return this; } @@ -39078,6 +39143,9 @@ private void buildPartial0(com.kcl.api.Spec.Variable result) { if (((from_bitField0_ & 0x00000001) != 0)) { result.value_ = value_; } + if (((from_bitField0_ & 0x00000002) != 0)) { + result.typeName_ = typeName_; + } } @java.lang.Override @@ -39130,6 +39198,11 @@ public Builder mergeFrom(com.kcl.api.Spec.Variable other) { bitField0_ |= 0x00000001; onChanged(); } + if (!other.getTypeName().isEmpty()) { + typeName_ = other.typeName_; + bitField0_ |= 0x00000002; + onChanged(); + } this.mergeUnknownFields(other.getUnknownFields()); onChanged(); return this; @@ -39159,6 +39232,11 @@ public Builder mergeFrom(com.google.protobuf.CodedInputStream input, bitField0_ |= 0x00000001; break; } // case 10 + case 18: { + typeName_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000002; + break; + } // case 18 default: { if (!super.parseUnknownField(input, extensionRegistry, tag)) { done = true; // was an endgroup tag @@ -39262,6 +39340,91 @@ public Builder setValueBytes(com.google.protobuf.ByteString value) { return this; } + private java.lang.Object typeName_ = ""; + + /** + * string type_name = 2; + * + * @return The typeName. + */ + public java.lang.String getTypeName() { + java.lang.Object ref = typeName_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + typeName_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * string type_name = 2; + * + * @return The bytes for typeName. + */ + public com.google.protobuf.ByteString getTypeNameBytes() { + java.lang.Object ref = typeName_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = com.google.protobuf.ByteString + .copyFromUtf8((java.lang.String) ref); + typeName_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * string type_name = 2; + * + * @param value + * The typeName to set. + * + * @return This builder for chaining. + */ + public Builder setTypeName(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + typeName_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + /** + * string type_name = 2; + * + * @return This builder for chaining. + */ + public Builder clearTypeName() { + typeName_ = getDefaultInstance().getTypeName(); + bitField0_ = (bitField0_ & ~0x00000002); + onChanged(); + return this; + } + + /** + * string type_name = 2; + * + * @param value + * The bytes for typeName to set. + * + * @return This builder for chaining. + */ + public Builder setTypeNameBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + typeName_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + @java.lang.Override public final Builder setUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields) { return super.setUnknownFields(unknownFields); @@ -66805,122 +66968,125 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { + "cl.api.ListVariables_Result.VariablesEnt" + "ry\022\031\n\021unsupported_codes\030\002 \003(\t\032G\n\016Variabl" + "esEntry\022\013\n\003key\030\001 \001(\t\022$\n\005value\030\002 \001(\0132\025.co" - + "m.kcl.api.Variable:\0028\001\"\031\n\010Variable\022\r\n\005va" - + "lue\030\001 \001(\t\"_\n\026GetFullSchemaType_Args\0220\n\te" - + "xec_args\030\001 \001(\0132\035.com.kcl.api.ExecProgram" - + "_Args\022\023\n\013schema_name\030\002 \001(\t\"E\n\022GetSchemaT" - + "ype_Args\022\014\n\004file\030\001 \001(\t\022\014\n\004code\030\002 \001(\t\022\023\n\013" - + "schema_name\030\003 \001(\t\"F\n\024GetSchemaType_Resul" - + "t\022.\n\020schema_type_list\030\001 \003(\0132\024.com.kcl.ap" - + "i.KclType\"L\n\031GetSchemaTypeMapping_Args\022\014" - + "\n\004file\030\001 \001(\t\022\014\n\004code\030\002 \001(\t\022\023\n\013schema_nam" - + "e\030\003 \001(\t\"\313\001\n\033GetSchemaTypeMapping_Result\022" - + "\\\n\023schema_type_mapping\030\001 \003(\0132?.com.kcl.a" - + "pi.GetSchemaTypeMapping_Result.SchemaTyp" + "eMappingEntry\032N\n\026SchemaTypeMappingEntry\022" - + "\013\n\003key\030\001 \001(\t\022#\n\005value\030\002 \001(\0132\024.com.kcl.ap" - + "i.KclType:\0028\001\"\207\001\n\021ValidateCode_Args\022\020\n\010d" - + "atafile\030\001 \001(\t\022\014\n\004data\030\002 \001(\t\022\014\n\004file\030\003 \001(" - + "\t\022\014\n\004code\030\004 \001(\t\022\016\n\006schema\030\005 \001(\t\022\026\n\016attri" - + "bute_name\030\006 \001(\t\022\016\n\006format\030\007 \001(\t\";\n\023Valid" - + "ateCode_Result\022\017\n\007success\030\001 \001(\010\022\023\n\013err_m" - + "essage\030\002 \001(\t\":\n\010Position\022\014\n\004line\030\001 \001(\003\022\016" - + "\n\006column\030\002 \001(\003\022\020\n\010filename\030\003 \001(\t\"i\n\021List" - + "DepFiles_Args\022\020\n\010work_dir\030\001 \001(\t\022\024\n\014use_a" - + "bs_path\030\002 \001(\010\022\023\n\013include_all\030\003 \001(\010\022\027\n\017us" - + "e_fast_parser\030\004 \001(\010\"F\n\023ListDepFiles_Resu" - + "lt\022\017\n\007pkgroot\030\001 \001(\t\022\017\n\007pkgpath\030\002 \001(\t\022\r\n\005" - + "files\030\003 \003(\t\"9\n\026LoadSettingsFiles_Args\022\020\n" - + "\010work_dir\030\001 \001(\t\022\r\n\005files\030\002 \003(\t\"{\n\030LoadSe" - + "ttingsFiles_Result\022/\n\017kcl_cli_configs\030\001 " - + "\001(\0132\026.com.kcl.api.CliConfig\022.\n\013kcl_optio" - + "ns\030\002 \003(\0132\031.com.kcl.api.KeyValuePair\"\203\002\n\t" - + "CliConfig\022\r\n\005files\030\001 \003(\t\022\016\n\006output\030\002 \001(\t" - + "\022\021\n\toverrides\030\003 \003(\t\022\025\n\rpath_selector\030\004 \003" - + "(\t\022\032\n\022strict_range_check\030\005 \001(\010\022\024\n\014disabl" - + "e_none\030\006 \001(\010\022\017\n\007verbose\030\007 \001(\003\022\r\n\005debug\030\010" - + " \001(\010\022\021\n\tsort_keys\030\t \001(\010\022\023\n\013show_hidden\030\n" - + " \001(\010\022 \n\030include_schema_type_path\030\013 \001(\010\022\021" - + "\n\tfast_eval\030\014 \001(\010\"*\n\014KeyValuePair\022\013\n\003key" - + "\030\001 \001(\t\022\r\n\005value\030\002 \001(\t\"^\n\013Rename_Args\022\024\n\014" + + "m.kcl.api.Variable:\0028\001\",\n\010Variable\022\r\n\005va" + + "lue\030\001 \001(\t\022\021\n\ttype_name\030\002 \001(\t\"_\n\026GetFullS" + + "chemaType_Args\0220\n\texec_args\030\001 \001(\0132\035.com." + + "kcl.api.ExecProgram_Args\022\023\n\013schema_name\030" + + "\002 \001(\t\"E\n\022GetSchemaType_Args\022\014\n\004file\030\001 \001(" + + "\t\022\014\n\004code\030\002 \001(\t\022\023\n\013schema_name\030\003 \001(\t\"F\n\024" + + "GetSchemaType_Result\022.\n\020schema_type_list" + + "\030\001 \003(\0132\024.com.kcl.api.KclType\"L\n\031GetSchem" + + "aTypeMapping_Args\022\014\n\004file\030\001 \001(\t\022\014\n\004code\030" + + "\002 \001(\t\022\023\n\013schema_name\030\003 \001(\t\"\313\001\n\033GetSchema" + + "TypeMapping_Result\022\\\n\023schema_type_mappin" + + "g\030\001 \003(\0132?.com.kcl.api.GetSchemaTypeMappi" + + "ng_Result.SchemaTypeMappingEntry\032N\n\026Sche" + + "maTypeMappingEntry\022\013\n\003key\030\001 \001(\t\022#\n\005value" + + "\030\002 \001(\0132\024.com.kcl.api.KclType:\0028\001\"\207\001\n\021Val" + + "idateCode_Args\022\020\n\010datafile\030\001 \001(\t\022\014\n\004data" + + "\030\002 \001(\t\022\014\n\004file\030\003 \001(\t\022\014\n\004code\030\004 \001(\t\022\016\n\006sc" + + "hema\030\005 \001(\t\022\026\n\016attribute_name\030\006 \001(\t\022\016\n\006fo" + + "rmat\030\007 \001(\t\";\n\023ValidateCode_Result\022\017\n\007suc" + + "cess\030\001 \001(\010\022\023\n\013err_message\030\002 \001(\t\":\n\010Posit" + + "ion\022\014\n\004line\030\001 \001(\003\022\016\n\006column\030\002 \001(\003\022\020\n\010fil" + + "ename\030\003 \001(\t\"i\n\021ListDepFiles_Args\022\020\n\010work" + + "_dir\030\001 \001(\t\022\024\n\014use_abs_path\030\002 \001(\010\022\023\n\013incl" + + "ude_all\030\003 \001(\010\022\027\n\017use_fast_parser\030\004 \001(\010\"F" + + "\n\023ListDepFiles_Result\022\017\n\007pkgroot\030\001 \001(\t\022\017" + + "\n\007pkgpath\030\002 \001(\t\022\r\n\005files\030\003 \003(\t\"9\n\026LoadSe" + + "ttingsFiles_Args\022\020\n\010work_dir\030\001 \001(\t\022\r\n\005fi" + + "les\030\002 \003(\t\"{\n\030LoadSettingsFiles_Result\022/\n" + + "\017kcl_cli_configs\030\001 \001(\0132\026.com.kcl.api.Cli" + + "Config\022.\n\013kcl_options\030\002 \003(\0132\031.com.kcl.ap" + + "i.KeyValuePair\"\203\002\n\tCliConfig\022\r\n\005files\030\001 " + + "\003(\t\022\016\n\006output\030\002 \001(\t\022\021\n\toverrides\030\003 \003(\t\022\025" + + "\n\rpath_selector\030\004 \003(\t\022\032\n\022strict_range_ch" + + "eck\030\005 \001(\010\022\024\n\014disable_none\030\006 \001(\010\022\017\n\007verbo" + + "se\030\007 \001(\003\022\r\n\005debug\030\010 \001(\010\022\021\n\tsort_keys\030\t \001" + + "(\010\022\023\n\013show_hidden\030\n \001(\010\022 \n\030include_schem" + + "a_type_path\030\013 \001(\010\022\021\n\tfast_eval\030\014 \001(\010\"*\n\014" + + "KeyValuePair\022\013\n\003key\030\001 \001(\t\022\r\n\005value\030\002 \001(\t" + + "\"^\n\013Rename_Args\022\024\n\014package_root\030\001 \001(\t\022\023\n" + + "\013symbol_path\030\002 \001(\t\022\022\n\nfile_paths\030\003 \003(\t\022\020" + + "\n\010new_name\030\004 \001(\t\"&\n\rRename_Result\022\025\n\rcha" + + "nged_files\030\001 \003(\t\"\307\001\n\017RenameCode_Args\022\024\n\014" + "package_root\030\001 \001(\t\022\023\n\013symbol_path\030\002 \001(\t\022" - + "\022\n\nfile_paths\030\003 \003(\t\022\020\n\010new_name\030\004 \001(\t\"&\n" - + "\rRename_Result\022\025\n\rchanged_files\030\001 \003(\t\"\307\001" - + "\n\017RenameCode_Args\022\024\n\014package_root\030\001 \001(\t\022" - + "\023\n\013symbol_path\030\002 \001(\t\022C\n\014source_codes\030\003 \003" - + "(\0132-.com.kcl.api.RenameCode_Args.SourceC" - + "odesEntry\022\020\n\010new_name\030\004 \001(\t\0322\n\020SourceCod" - + "esEntry\022\013\n\003key\030\001 \001(\t\022\r\n\005value\030\002 \001(\t:\0028\001\"" - + "\221\001\n\021RenameCode_Result\022G\n\rchanged_codes\030\001" - + " \003(\01320.com.kcl.api.RenameCode_Result.Cha" - + "ngedCodesEntry\0323\n\021ChangedCodesEntry\022\013\n\003k" - + "ey\030\001 \001(\t\022\r\n\005value\030\002 \001(\t:\0028\001\"v\n\tTest_Args" - + "\0220\n\texec_args\030\001 \001(\0132\035.com.kcl.api.ExecPr" - + "ogram_Args\022\020\n\010pkg_list\030\002 \003(\t\022\022\n\nrun_rege" - + "xp\030\003 \001(\t\022\021\n\tfail_fast\030\004 \001(\010\"6\n\013Test_Resu" - + "lt\022\'\n\004info\030\002 \003(\0132\031.com.kcl.api.TestCaseI" - + "nfo\"R\n\014TestCaseInfo\022\014\n\004name\030\001 \001(\t\022\r\n\005err" - + "or\030\002 \001(\t\022\020\n\010duration\030\003 \001(\004\022\023\n\013log_messag" - + "e\030\004 \001(\t\"\310\004\n\007KclType\022\014\n\004type\030\001 \001(\t\022)\n\013uni" - + "on_types\030\002 \003(\0132\024.com.kcl.api.KclType\022\017\n\007" - + "default\030\003 \001(\t\022\023\n\013schema_name\030\004 \001(\t\022\022\n\nsc" - + "hema_doc\030\005 \001(\t\0228\n\nproperties\030\006 \003(\0132$.com" - + ".kcl.api.KclType.PropertiesEntry\022\020\n\010requ" - + "ired\030\007 \003(\t\022!\n\003key\030\010 \001(\0132\024.com.kcl.api.Kc" - + "lType\022\"\n\004item\030\t \001(\0132\024.com.kcl.api.KclTyp" - + "e\022\014\n\004line\030\n \001(\005\022*\n\ndecorators\030\013 \003(\0132\026.co" - + "m.kcl.api.Decorator\022\020\n\010filename\030\014 \001(\t\022\020\n" - + "\010pkg_path\030\r \001(\t\022\023\n\013description\030\016 \001(\t\0224\n\010" - + "examples\030\017 \003(\0132\".com.kcl.api.KclType.Exa" - + "mplesEntry\032G\n\017PropertiesEntry\022\013\n\003key\030\001 \001" - + "(\t\022#\n\005value\030\002 \001(\0132\024.com.kcl.api.KclType:" - + "\0028\001\032E\n\rExamplesEntry\022\013\n\003key\030\001 \001(\t\022#\n\005val" - + "ue\030\002 \001(\0132\024.com.kcl.api.Example:\0028\001\"\225\001\n\tD" - + "ecorator\022\014\n\004name\030\001 \001(\t\022\021\n\targuments\030\002 \003(" - + "\t\0226\n\010keywords\030\003 \003(\0132$.com.kcl.api.Decora" - + "tor.KeywordsEntry\032/\n\rKeywordsEntry\022\013\n\003ke" - + "y\030\001 \001(\t\022\r\n\005value\030\002 \001(\t:\0028\001\">\n\007Example\022\017\n" - + "\007summary\030\001 \001(\t\022\023\n\013description\030\002 \001(\t\022\r\n\005v" - + "alue\030\003 \001(\t2\226\001\n\016BuiltinService\0228\n\004Ping\022\026." - + "com.kcl.api.Ping_Args\032\030.com.kcl.api.Ping" - + "_Result\022J\n\nListMethod\022\034.com.kcl.api.List" - + "Method_Args\032\036.com.kcl.api.ListMethod_Res" - + "ult2\340\r\n\014KclvmService\0228\n\004Ping\022\026.com.kcl.a" - + "pi.Ping_Args\032\030.com.kcl.api.Ping_Result\022M" - + "\n\013ExecProgram\022\035.com.kcl.api.ExecProgram_" - + "Args\032\037.com.kcl.api.ExecProgram_Result\022P\n" - + "\014BuildProgram\022\036.com.kcl.api.BuildProgram" + "_Args\032 .com.kcl.api.BuildProgram_Result\022" - + "O\n\014ExecArtifact\022\036.com.kcl.api.ExecArtifa" - + "ct_Args\032\037.com.kcl.api.ExecProgram_Result" - + "\022G\n\tParseFile\022\033.com.kcl.api.ParseFile_Ar" - + "gs\032\035.com.kcl.api.ParseFile_Result\022P\n\014Par" - + "seProgram\022\036.com.kcl.api.ParseProgram_Arg" - + "s\032 .com.kcl.api.ParseProgram_Result\022M\n\013L" - + "oadPackage\022\035.com.kcl.api.LoadPackage_Arg" - + "s\032\037.com.kcl.api.LoadPackage_Result\022N\n\013Li" - + "stOptions\022\036.com.kcl.api.ParseProgram_Arg" - + "s\032\037.com.kcl.api.ListOptions_Result\022S\n\rLi" - + "stVariables\022\037.com.kcl.api.ListVariables_" + "Args\032!.com.kcl.api.ListVariables_Result\022" - + "J\n\nFormatCode\022\034.com.kcl.api.FormatCode_A" - + "rgs\032\036.com.kcl.api.FormatCode_Result\022J\n\nF" - + "ormatPath\022\034.com.kcl.api.FormatPath_Args\032" - + "\036.com.kcl.api.FormatPath_Result\022D\n\010LintP" - + "ath\022\032.com.kcl.api.LintPath_Args\032\034.com.kc" - + "l.api.LintPath_Result\022P\n\014OverrideFile\022\036." - + "com.kcl.api.OverrideFile_Args\032 .com.kcl." + "api.OverrideFile_Result\022S\n\rGetSchemaType" - + "\022\037.com.kcl.api.GetSchemaType_Args\032!.com." - + "kcl.api.GetSchemaType_Result\022[\n\021GetFullS" + "chemaType\022#.com.kcl.api.GetFullSchemaTyp" - + "e_Args\032!.com.kcl.api.GetSchemaType_Resul" + "t\022h\n\024GetSchemaTypeMapping\022&.com.kcl.api." - + "GetSchemaTypeMapping_Args\032(.com.kcl.api." + "GetSchemaTypeMapping_Result\022P\n\014ValidateC" - + "ode\022\036.com.kcl.api.ValidateCode_Args\032 .co" - + "m.kcl.api.ValidateCode_Result\022P\n\014ListDep" - + "Files\022\036.com.kcl.api.ListDepFiles_Args\032 ." - + "com.kcl.api.ListDepFiles_Result\022_\n\021LoadS" + "ettingsFiles\022#.com.kcl.api.LoadSettingsF" - + "iles_Args\032%.com.kcl.api.LoadSettingsFile" - + "s_Result\022>\n\006Rename\022\030.com.kcl.api.Rename_" - + "Args\032\032.com.kcl.api.Rename_Result\022J\n\nRena" - + "meCode\022\034.com.kcl.api.RenameCode_Args\032\036.c" - + "om.kcl.api.RenameCode_Result\0228\n\004Test\022\026.c" - + "om.kcl.api.Test_Args\032\030.com.kcl.api.Test_" + "Resultb\006proto3" }; + + "C\n\014source_codes\030\003 \003(\0132-.com.kcl.api.Rena" + + "meCode_Args.SourceCodesEntry\022\020\n\010new_name" + + "\030\004 \001(\t\0322\n\020SourceCodesEntry\022\013\n\003key\030\001 \001(\t\022" + + "\r\n\005value\030\002 \001(\t:\0028\001\"\221\001\n\021RenameCode_Result" + + "\022G\n\rchanged_codes\030\001 \003(\01320.com.kcl.api.Re" + + "nameCode_Result.ChangedCodesEntry\0323\n\021Cha" + + "ngedCodesEntry\022\013\n\003key\030\001 \001(\t\022\r\n\005value\030\002 \001" + + "(\t:\0028\001\"v\n\tTest_Args\0220\n\texec_args\030\001 \001(\0132\035" + + ".com.kcl.api.ExecProgram_Args\022\020\n\010pkg_lis" + + "t\030\002 \003(\t\022\022\n\nrun_regexp\030\003 \001(\t\022\021\n\tfail_fast" + + "\030\004 \001(\010\"6\n\013Test_Result\022\'\n\004info\030\002 \003(\0132\031.co" + + "m.kcl.api.TestCaseInfo\"R\n\014TestCaseInfo\022\014" + + "\n\004name\030\001 \001(\t\022\r\n\005error\030\002 \001(\t\022\020\n\010duration\030" + + "\003 \001(\004\022\023\n\013log_message\030\004 \001(\t\"\310\004\n\007KclType\022\014" + + "\n\004type\030\001 \001(\t\022)\n\013union_types\030\002 \003(\0132\024.com." + + "kcl.api.KclType\022\017\n\007default\030\003 \001(\t\022\023\n\013sche" + + "ma_name\030\004 \001(\t\022\022\n\nschema_doc\030\005 \001(\t\0228\n\npro" + + "perties\030\006 \003(\0132$.com.kcl.api.KclType.Prop" + + "ertiesEntry\022\020\n\010required\030\007 \003(\t\022!\n\003key\030\010 \001" + + "(\0132\024.com.kcl.api.KclType\022\"\n\004item\030\t \001(\0132\024" + + ".com.kcl.api.KclType\022\014\n\004line\030\n \001(\005\022*\n\nde" + + "corators\030\013 \003(\0132\026.com.kcl.api.Decorator\022\020" + + "\n\010filename\030\014 \001(\t\022\020\n\010pkg_path\030\r \001(\t\022\023\n\013de" + + "scription\030\016 \001(\t\0224\n\010examples\030\017 \003(\0132\".com." + + "kcl.api.KclType.ExamplesEntry\032G\n\017Propert" + + "iesEntry\022\013\n\003key\030\001 \001(\t\022#\n\005value\030\002 \001(\0132\024.c" + + "om.kcl.api.KclType:\0028\001\032E\n\rExamplesEntry\022" + + "\013\n\003key\030\001 \001(\t\022#\n\005value\030\002 \001(\0132\024.com.kcl.ap" + + "i.Example:\0028\001\"\225\001\n\tDecorator\022\014\n\004name\030\001 \001(" + + "\t\022\021\n\targuments\030\002 \003(\t\0226\n\010keywords\030\003 \003(\0132$" + + ".com.kcl.api.Decorator.KeywordsEntry\032/\n\r" + + "KeywordsEntry\022\013\n\003key\030\001 \001(\t\022\r\n\005value\030\002 \001(" + + "\t:\0028\001\">\n\007Example\022\017\n\007summary\030\001 \001(\t\022\023\n\013des" + + "cription\030\002 \001(\t\022\r\n\005value\030\003 \001(\t2\226\001\n\016Builti" + + "nService\0228\n\004Ping\022\026.com.kcl.api.Ping_Args" + + "\032\030.com.kcl.api.Ping_Result\022J\n\nListMethod" + + "\022\034.com.kcl.api.ListMethod_Args\032\036.com.kcl" + + ".api.ListMethod_Result2\340\r\n\014KclvmService\022" + + "8\n\004Ping\022\026.com.kcl.api.Ping_Args\032\030.com.kc" + + "l.api.Ping_Result\022M\n\013ExecProgram\022\035.com.k" + + "cl.api.ExecProgram_Args\032\037.com.kcl.api.Ex" + + "ecProgram_Result\022P\n\014BuildProgram\022\036.com.k" + + "cl.api.BuildProgram_Args\032 .com.kcl.api.B" + + "uildProgram_Result\022O\n\014ExecArtifact\022\036.com" + + ".kcl.api.ExecArtifact_Args\032\037.com.kcl.api" + + ".ExecProgram_Result\022G\n\tParseFile\022\033.com.k" + + "cl.api.ParseFile_Args\032\035.com.kcl.api.Pars" + + "eFile_Result\022P\n\014ParseProgram\022\036.com.kcl.a" + + "pi.ParseProgram_Args\032 .com.kcl.api.Parse" + + "Program_Result\022M\n\013LoadPackage\022\035.com.kcl." + + "api.LoadPackage_Args\032\037.com.kcl.api.LoadP" + + "ackage_Result\022N\n\013ListOptions\022\036.com.kcl.a" + + "pi.ParseProgram_Args\032\037.com.kcl.api.ListO" + + "ptions_Result\022S\n\rListVariables\022\037.com.kcl" + ".api.ListVariables_Args\032!.com.kcl.api.Li" + + "stVariables_Result\022J\n\nFormatCode\022\034.com.k" + + "cl.api.FormatCode_Args\032\036.com.kcl.api.For" + + "matCode_Result\022J\n\nFormatPath\022\034.com.kcl.a" + + "pi.FormatPath_Args\032\036.com.kcl.api.FormatP" + + "ath_Result\022D\n\010LintPath\022\032.com.kcl.api.Lin" + + "tPath_Args\032\034.com.kcl.api.LintPath_Result" + + "\022P\n\014OverrideFile\022\036.com.kcl.api.OverrideF" + + "ile_Args\032 .com.kcl.api.OverrideFile_Resu" + "lt\022S\n\rGetSchemaType\022\037.com.kcl.api.GetSch" + + "emaType_Args\032!.com.kcl.api.GetSchemaType" + "_Result\022[\n\021GetFullSchemaType\022#.com.kcl.a" + + "pi.GetFullSchemaType_Args\032!.com.kcl.api." + "GetSchemaType_Result\022h\n\024GetSchemaTypeMap" + + "ping\022&.com.kcl.api.GetSchemaTypeMapping_" + "Args\032(.com.kcl.api.GetSchemaTypeMapping_" + + "Result\022P\n\014ValidateCode\022\036.com.kcl.api.Val" + + "idateCode_Args\032 .com.kcl.api.ValidateCod" + + "e_Result\022P\n\014ListDepFiles\022\036.com.kcl.api.L" + + "istDepFiles_Args\032 .com.kcl.api.ListDepFi" + "les_Result\022_\n\021LoadSettingsFiles\022#.com.kc" + + "l.api.LoadSettingsFiles_Args\032%.com.kcl.a" + + "pi.LoadSettingsFiles_Result\022>\n\006Rename\022\030." + + "com.kcl.api.Rename_Args\032\032.com.kcl.api.Re" + + "name_Result\022J\n\nRenameCode\022\034.com.kcl.api." + + "RenameCode_Args\032\036.com.kcl.api.RenameCode" + + "_Result\0228\n\004Test\022\026.com.kcl.api.Test_Args\032" + + "\030.com.kcl.api.Test_Resultb\006proto3" }; descriptor = com.google.protobuf.Descriptors.FileDescriptor.internalBuildGeneratedFileFrom(descriptorData, new com.google.protobuf.Descriptors.FileDescriptor[] {}); internal_static_com_kcl_api_CmdExternalPkgSpec_descriptor = getDescriptor().getMessageTypes().get(0); @@ -67095,7 +67261,7 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { new java.lang.String[] { "Key", "Value", }); internal_static_com_kcl_api_Variable_descriptor = getDescriptor().getMessageTypes().get(38); internal_static_com_kcl_api_Variable_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( - internal_static_com_kcl_api_Variable_descriptor, new java.lang.String[] { "Value", }); + internal_static_com_kcl_api_Variable_descriptor, new java.lang.String[] { "Value", "TypeName", }); internal_static_com_kcl_api_GetFullSchemaType_Args_descriptor = getDescriptor().getMessageTypes().get(39); internal_static_com_kcl_api_GetFullSchemaType_Args_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_com_kcl_api_GetFullSchemaType_Args_descriptor, diff --git a/java/src/test/java/com/kcl/ListVariablesTest.java b/java/src/test/java/com/kcl/ListVariablesTest.java index 50a7c185..7e438c96 100644 --- a/java/src/test/java/com/kcl/ListVariablesTest.java +++ b/java/src/test/java/com/kcl/ListVariablesTest.java @@ -13,22 +13,25 @@ public void testListVariables() throws Exception { API api = new API(); // Define the variables to test and their expected results - String[][] testCases = { { "a", "1" }, { "a1", "2" }, { "a3", "3m" }, { "b1", "True" }, { "b2", "False" }, - { "s1", "\"Hello\"" }, { "array1", "[1, 2, 3]" }, { "dict1", "{\"a\": 1, \"b\": 2}" }, - { "dict1.a", "1" }, { "dict1.b", "2" }, { "dict2.b.c", "2" }, { "dict2.b.d", "3" }, - { "sha.name", "\"Hello\"" }, { "sha.ids", "[1, 2, 3]" }, { "sha.data.a.b", "{\"c\": 2}" }, - { "sha.data.a.b.c", "2" }, { "shb.a.name", "\"HelloB\"" }, { "shb.a.ids", "[4, 5, 6]" }, - { "shb.a.data.d.e", "{\"f\": 3}" }, { "uconfa.name", "\"b\"" }, { "c.a", "{ids: [7, 8, 9]}" }, }; + String[][] testCases = { { "a", "1", "" }, { "a1", "2", "" }, { "a3", "3m", "" }, { "b1", "True", "" }, + { "b2", "False", "" }, { "s1", "\"Hello\"", "" }, { "array1", "[1, 2, 3]", "" }, + { "dict1", "{\"a\": 1, \"b\": 2}", "" }, { "dict1.a", "1", "" }, { "dict1.b", "2", "" }, + { "dict2.b.c", "2", "" }, { "dict2.b.d", "3", "" }, { "sha.name", "\"Hello\"", "" }, + { "sha.ids", "[1, 2, 3]", "" }, { "sha.data.a.b", "{\"c\": 2}", "" }, { "sha.data.a.b.c", "2", "" }, + { "shb.a.name", "\"HelloB\"", "" }, { "shb.a.ids", "[4, 5, 6]", "" }, + { "shb.a.data.d.e", "{\"f\": 3}", "" }, { "uconfa.name", "\"b\"", "" }, + { "c.a", "{ids: [7, 8, 9]}", "" }, { "c1", "C {}", "C" }, { "c2", "a.b.C {}", "a.b.C" } }; for (String[] testCase : testCases) { String spec = testCase[0]; String expectedValue = testCase[1]; + String expectedName = testCase[2]; ListVariables_Result result = api.listVariables(ListVariables_Args.newBuilder() .setFile("./src/test_data/list_variables/main.k").addSpecs(spec).build()); Assert.assertEquals(result.getVariablesCount(), 1); Assert.assertEquals(result.getVariablesMap().get(spec).getValue(), expectedValue); - + Assert.assertEquals(result.getVariablesMap().get(spec).getTypeName(), expectedName); } } } diff --git a/java/src/test_data/list_variables/main.k b/java/src/test_data/list_variables/main.k index 13d78049..18f9fbe5 100644 --- a/java/src/test_data/list_variables/main.k +++ b/java/src/test_data/list_variables/main.k @@ -70,3 +70,7 @@ c = C { a: {name: "Hello"} a: {ids: [7, 8, 9]} } + +c1 = C {} + +c2 = a.b.C {} \ No newline at end of file diff --git a/spec/gpyrpc/spec.proto b/spec/gpyrpc/spec.proto index 73b30914..8e5505c8 100644 --- a/spec/gpyrpc/spec.proto +++ b/spec/gpyrpc/spec.proto @@ -303,6 +303,7 @@ message ListVariables_Result { message Variable { string value = 1; + string type_name = 2; } message GetFullSchemaType_Args {