diff --git a/src/main/proto/service.proto b/src/main/proto/service.proto index 8b2379e6..e79ff6d4 100644 --- a/src/main/proto/service.proto +++ b/src/main/proto/service.proto @@ -7,6 +7,9 @@ import "gopkg.in/bblfsh/sdk.v1/uast/generated.proto"; // Feature Extractor Service service FeatureExtractor { + // Extract allows to run multiple extractors on the same uast + rpc Extract (ExtractRequest) returns (FeaturesReply) {} + // Extract identifiers weighted set rpc Identifiers (IdentifiersRequest) returns (FeaturesReply) {} // Extract literals weighted set @@ -17,35 +20,59 @@ service FeatureExtractor { rpc Graphlet (GraphletRequest) returns (FeaturesReply) {} } +message IdentifiersOptions { + int32 docfreqThreshold = 1; + int32 weight = 2; + bool splitStem = 3; +} + +message LiteralsOptions { + int32 docfreqThreshold = 1; + int32 weight = 2; +} + +message Uast2seqOptions { + int32 docfreqThreshold = 1; + int32 weight = 2; + int32 stride = 3; + repeated int32 seqLen = 4; +} + +message GraphletOptions { + int32 docfreqThreshold = 1; + int32 weight = 2; +} + +message ExtractRequest { + gopkg.in.bblfsh.sdk.v1.uast.Node uast = 1; + IdentifiersOptions identifiers = 2; + LiteralsOptions literals = 3; + Uast2seqOptions uast2seq = 4; + GraphletOptions graphlet = 5; +} + // The identifiers request message containing extractor configuration and uast. message IdentifiersRequest { gopkg.in.bblfsh.sdk.v1.uast.Node uast = 1; - int32 docfreqThreshold = 2; - int32 weight = 3; - bool splitStem = 4; + IdentifiersOptions options = 2; } // The literals request message containing extractor configuration and uast. message LiteralsRequest { gopkg.in.bblfsh.sdk.v1.uast.Node uast = 1; - int32 docfreqThreshold = 2; - int32 weight = 3; + LiteralsOptions options = 2; } // The uast2seq request message containing extractor configuration and uast. message Uast2seqRequest { gopkg.in.bblfsh.sdk.v1.uast.Node uast = 1; - int32 docfreqThreshold = 2; - int32 weight = 3; - int32 stride = 4; - repeated int32 seqLen = 5; + Uast2seqOptions options = 2; } // The graphlet request message containing extractor configuration and uast. message GraphletRequest { gopkg.in.bblfsh.sdk.v1.uast.Node uast = 1; - int32 docfreqThreshold = 2; - int32 weight = 3; + GraphletOptions options = 2; } message Feature { diff --git a/src/main/python/feature-extractor/pb/service_pb2.py b/src/main/python/feature-extractor/pb/service_pb2.py index 08dc613d..b3c70cb5 100644 --- a/src/main/python/feature-extractor/pb/service_pb2.py +++ b/src/main/python/feature-extractor/pb/service_pb2.py @@ -22,45 +22,76 @@ name='service.proto', package='tech.sourced.featurext.generated', syntax='proto3', - serialized_pb=_b('\n\rservice.proto\x12 tech.sourced.featurext.generated\x1a-github.com/gogo/protobuf/gogoproto/gogo.proto\x1a+gopkg.in/bblfsh/sdk.v1/uast/generated.proto\"\x82\x01\n\x12IdentifiersRequest\x12/\n\x04uast\x18\x01 \x01(\x0b\x32!.gopkg.in.bblfsh.sdk.v1.uast.Node\x12\x18\n\x10\x64ocfreqThreshold\x18\x02 \x01(\x05\x12\x0e\n\x06weight\x18\x03 \x01(\x05\x12\x11\n\tsplitStem\x18\x04 \x01(\x08\"l\n\x0fLiteralsRequest\x12/\n\x04uast\x18\x01 \x01(\x0b\x32!.gopkg.in.bblfsh.sdk.v1.uast.Node\x12\x18\n\x10\x64ocfreqThreshold\x18\x02 \x01(\x05\x12\x0e\n\x06weight\x18\x03 \x01(\x05\"\x8c\x01\n\x0fUast2seqRequest\x12/\n\x04uast\x18\x01 \x01(\x0b\x32!.gopkg.in.bblfsh.sdk.v1.uast.Node\x12\x18\n\x10\x64ocfreqThreshold\x18\x02 \x01(\x05\x12\x0e\n\x06weight\x18\x03 \x01(\x05\x12\x0e\n\x06stride\x18\x04 \x01(\x05\x12\x0e\n\x06seqLen\x18\x05 \x03(\x05\"l\n\x0fGraphletRequest\x12/\n\x04uast\x18\x01 \x01(\x0b\x32!.gopkg.in.bblfsh.sdk.v1.uast.Node\x12\x18\n\x10\x64ocfreqThreshold\x18\x02 \x01(\x05\x12\x0e\n\x06weight\x18\x03 \x01(\x05\"\'\n\x07\x46\x65\x61ture\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0e\n\x06weight\x18\x02 \x01(\x02\"L\n\rFeaturesReply\x12;\n\x08\x66\x65\x61tures\x18\x01 \x03(\x0b\x32).tech.sourced.featurext.generated.Feature2\xe0\x03\n\x10\x46\x65\x61tureExtractor\x12v\n\x0bIdentifiers\x12\x34.tech.sourced.featurext.generated.IdentifiersRequest\x1a/.tech.sourced.featurext.generated.FeaturesReply\"\x00\x12p\n\x08Literals\x12\x31.tech.sourced.featurext.generated.LiteralsRequest\x1a/.tech.sourced.featurext.generated.FeaturesReply\"\x00\x12p\n\x08Uast2seq\x12\x31.tech.sourced.featurext.generated.Uast2seqRequest\x1a/.tech.sourced.featurext.generated.FeaturesReply\"\x00\x12p\n\x08Graphlet\x12\x31.tech.sourced.featurext.generated.GraphletRequest\x1a/.tech.sourced.featurext.generated.FeaturesReply\"\x00\x62\x06proto3') + serialized_pb=_b('\n\rservice.proto\x12 tech.sourced.featurext.generated\x1a-github.com/gogo/protobuf/gogoproto/gogo.proto\x1a+gopkg.in/bblfsh/sdk.v1/uast/generated.proto\"Q\n\x12IdentifiersOptions\x12\x18\n\x10\x64ocfreqThreshold\x18\x01 \x01(\x05\x12\x0e\n\x06weight\x18\x02 \x01(\x05\x12\x11\n\tsplitStem\x18\x03 \x01(\x08\";\n\x0fLiteralsOptions\x12\x18\n\x10\x64ocfreqThreshold\x18\x01 \x01(\x05\x12\x0e\n\x06weight\x18\x02 \x01(\x05\"[\n\x0fUast2seqOptions\x12\x18\n\x10\x64ocfreqThreshold\x18\x01 \x01(\x05\x12\x0e\n\x06weight\x18\x02 \x01(\x05\x12\x0e\n\x06stride\x18\x03 \x01(\x05\x12\x0e\n\x06seqLen\x18\x04 \x03(\x05\";\n\x0fGraphletOptions\x12\x18\n\x10\x64ocfreqThreshold\x18\x01 \x01(\x05\x12\x0e\n\x06weight\x18\x02 \x01(\x05\"\xdb\x02\n\x0e\x45xtractRequest\x12/\n\x04uast\x18\x01 \x01(\x0b\x32!.gopkg.in.bblfsh.sdk.v1.uast.Node\x12I\n\x0bidentifiers\x18\x02 \x01(\x0b\x32\x34.tech.sourced.featurext.generated.IdentifiersOptions\x12\x43\n\x08literals\x18\x03 \x01(\x0b\x32\x31.tech.sourced.featurext.generated.LiteralsOptions\x12\x43\n\x08uast2seq\x18\x04 \x01(\x0b\x32\x31.tech.sourced.featurext.generated.Uast2seqOptions\x12\x43\n\x08graphlet\x18\x05 \x01(\x0b\x32\x31.tech.sourced.featurext.generated.GraphletOptions\"\x8c\x01\n\x12IdentifiersRequest\x12/\n\x04uast\x18\x01 \x01(\x0b\x32!.gopkg.in.bblfsh.sdk.v1.uast.Node\x12\x45\n\x07options\x18\x02 \x01(\x0b\x32\x34.tech.sourced.featurext.generated.IdentifiersOptions\"\x86\x01\n\x0fLiteralsRequest\x12/\n\x04uast\x18\x01 \x01(\x0b\x32!.gopkg.in.bblfsh.sdk.v1.uast.Node\x12\x42\n\x07options\x18\x02 \x01(\x0b\x32\x31.tech.sourced.featurext.generated.LiteralsOptions\"\x86\x01\n\x0fUast2seqRequest\x12/\n\x04uast\x18\x01 \x01(\x0b\x32!.gopkg.in.bblfsh.sdk.v1.uast.Node\x12\x42\n\x07options\x18\x02 \x01(\x0b\x32\x31.tech.sourced.featurext.generated.Uast2seqOptions\"\x86\x01\n\x0fGraphletRequest\x12/\n\x04uast\x18\x01 \x01(\x0b\x32!.gopkg.in.bblfsh.sdk.v1.uast.Node\x12\x42\n\x07options\x18\x02 \x01(\x0b\x32\x31.tech.sourced.featurext.generated.GraphletOptions\"\'\n\x07\x46\x65\x61ture\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0e\n\x06weight\x18\x02 \x01(\x02\"L\n\rFeaturesReply\x12;\n\x08\x66\x65\x61tures\x18\x01 \x03(\x0b\x32).tech.sourced.featurext.generated.Feature2\xd0\x04\n\x10\x46\x65\x61tureExtractor\x12n\n\x07\x45xtract\x12\x30.tech.sourced.featurext.generated.ExtractRequest\x1a/.tech.sourced.featurext.generated.FeaturesReply\"\x00\x12v\n\x0bIdentifiers\x12\x34.tech.sourced.featurext.generated.IdentifiersRequest\x1a/.tech.sourced.featurext.generated.FeaturesReply\"\x00\x12p\n\x08Literals\x12\x31.tech.sourced.featurext.generated.LiteralsRequest\x1a/.tech.sourced.featurext.generated.FeaturesReply\"\x00\x12p\n\x08Uast2seq\x12\x31.tech.sourced.featurext.generated.Uast2seqRequest\x1a/.tech.sourced.featurext.generated.FeaturesReply\"\x00\x12p\n\x08Graphlet\x12\x31.tech.sourced.featurext.generated.GraphletRequest\x1a/.tech.sourced.featurext.generated.FeaturesReply\"\x00\x62\x06proto3') , dependencies=[github_dot_com_dot_gogo_dot_protobuf_dot_gogoproto_dot_gogo__pb2.DESCRIPTOR,gopkg_dot_in_dot_bblfsh_dot_sdk_dot_v1_dot_uast_dot_generated__pb2.DESCRIPTOR,]) -_IDENTIFIERSREQUEST = _descriptor.Descriptor( - name='IdentifiersRequest', - full_name='tech.sourced.featurext.generated.IdentifiersRequest', +_IDENTIFIERSOPTIONS = _descriptor.Descriptor( + name='IdentifiersOptions', + full_name='tech.sourced.featurext.generated.IdentifiersOptions', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( - name='uast', full_name='tech.sourced.featurext.generated.IdentifiersRequest.uast', index=0, - number=1, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, + name='docfreqThreshold', full_name='tech.sourced.featurext.generated.IdentifiersOptions.docfreqThreshold', index=0, + number=1, type=5, cpp_type=1, label=1, + has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( - name='docfreqThreshold', full_name='tech.sourced.featurext.generated.IdentifiersRequest.docfreqThreshold', index=1, + name='weight', full_name='tech.sourced.featurext.generated.IdentifiersOptions.weight', index=1, number=2, type=5, cpp_type=1, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( - name='weight', full_name='tech.sourced.featurext.generated.IdentifiersRequest.weight', index=2, - number=3, type=5, cpp_type=1, label=1, + name='splitStem', full_name='tech.sourced.featurext.generated.IdentifiersOptions.splitStem', index=2, + number=3, type=8, cpp_type=7, label=1, + has_default_value=False, default_value=False, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=143, + serialized_end=224, +) + + +_LITERALSOPTIONS = _descriptor.Descriptor( + name='LiteralsOptions', + full_name='tech.sourced.featurext.generated.LiteralsOptions', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='docfreqThreshold', full_name='tech.sourced.featurext.generated.LiteralsOptions.docfreqThreshold', index=0, + number=1, type=5, cpp_type=1, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( - name='splitStem', full_name='tech.sourced.featurext.generated.IdentifiersRequest.splitStem', index=3, - number=4, type=8, cpp_type=7, label=1, - has_default_value=False, default_value=False, + name='weight', full_name='tech.sourced.featurext.generated.LiteralsOptions.weight', index=1, + number=2, type=5, cpp_type=1, label=1, + has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), @@ -76,39 +107,46 @@ extension_ranges=[], oneofs=[ ], - serialized_start=144, - serialized_end=274, + serialized_start=226, + serialized_end=285, ) -_LITERALSREQUEST = _descriptor.Descriptor( - name='LiteralsRequest', - full_name='tech.sourced.featurext.generated.LiteralsRequest', +_UAST2SEQOPTIONS = _descriptor.Descriptor( + name='Uast2seqOptions', + full_name='tech.sourced.featurext.generated.Uast2seqOptions', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( - name='uast', full_name='tech.sourced.featurext.generated.LiteralsRequest.uast', index=0, - number=1, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, + name='docfreqThreshold', full_name='tech.sourced.featurext.generated.Uast2seqOptions.docfreqThreshold', index=0, + number=1, type=5, cpp_type=1, label=1, + has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( - name='docfreqThreshold', full_name='tech.sourced.featurext.generated.LiteralsRequest.docfreqThreshold', index=1, + name='weight', full_name='tech.sourced.featurext.generated.Uast2seqOptions.weight', index=1, number=2, type=5, cpp_type=1, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( - name='weight', full_name='tech.sourced.featurext.generated.LiteralsRequest.weight', index=2, + name='stride', full_name='tech.sourced.featurext.generated.Uast2seqOptions.stride', index=2, number=3, type=5, cpp_type=1, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='seqLen', full_name='tech.sourced.featurext.generated.Uast2seqOptions.seqLen', index=3, + number=4, type=5, cpp_type=1, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None, file=DESCRIPTOR), ], extensions=[ ], @@ -121,50 +159,88 @@ extension_ranges=[], oneofs=[ ], - serialized_start=276, - serialized_end=384, + serialized_start=287, + serialized_end=378, ) -_UAST2SEQREQUEST = _descriptor.Descriptor( - name='Uast2seqRequest', - full_name='tech.sourced.featurext.generated.Uast2seqRequest', +_GRAPHLETOPTIONS = _descriptor.Descriptor( + name='GraphletOptions', + full_name='tech.sourced.featurext.generated.GraphletOptions', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( - name='uast', full_name='tech.sourced.featurext.generated.Uast2seqRequest.uast', index=0, - number=1, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, + name='docfreqThreshold', full_name='tech.sourced.featurext.generated.GraphletOptions.docfreqThreshold', index=0, + number=1, type=5, cpp_type=1, label=1, + has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( - name='docfreqThreshold', full_name='tech.sourced.featurext.generated.Uast2seqRequest.docfreqThreshold', index=1, + name='weight', full_name='tech.sourced.featurext.generated.GraphletOptions.weight', index=1, number=2, type=5, cpp_type=1, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=380, + serialized_end=439, +) + + +_EXTRACTREQUEST = _descriptor.Descriptor( + name='ExtractRequest', + full_name='tech.sourced.featurext.generated.ExtractRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ _descriptor.FieldDescriptor( - name='weight', full_name='tech.sourced.featurext.generated.Uast2seqRequest.weight', index=2, - number=3, type=5, cpp_type=1, label=1, - has_default_value=False, default_value=0, + name='uast', full_name='tech.sourced.featurext.generated.ExtractRequest.uast', index=0, + number=1, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( - name='stride', full_name='tech.sourced.featurext.generated.Uast2seqRequest.stride', index=3, - number=4, type=5, cpp_type=1, label=1, - has_default_value=False, default_value=0, + name='identifiers', full_name='tech.sourced.featurext.generated.ExtractRequest.identifiers', index=1, + number=2, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( - name='seqLen', full_name='tech.sourced.featurext.generated.Uast2seqRequest.seqLen', index=4, - number=5, type=5, cpp_type=1, label=3, - has_default_value=False, default_value=[], + name='literals', full_name='tech.sourced.featurext.generated.ExtractRequest.literals', index=2, + number=3, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='uast2seq', full_name='tech.sourced.featurext.generated.ExtractRequest.uast2seq', index=3, + number=4, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='graphlet', full_name='tech.sourced.featurext.generated.ExtractRequest.graphlet', index=4, + number=5, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), @@ -180,36 +256,105 @@ extension_ranges=[], oneofs=[ ], - serialized_start=387, - serialized_end=527, + serialized_start=442, + serialized_end=789, ) -_GRAPHLETREQUEST = _descriptor.Descriptor( - name='GraphletRequest', - full_name='tech.sourced.featurext.generated.GraphletRequest', +_IDENTIFIERSREQUEST = _descriptor.Descriptor( + name='IdentifiersRequest', + full_name='tech.sourced.featurext.generated.IdentifiersRequest', filename=None, file=DESCRIPTOR, containing_type=None, fields=[ _descriptor.FieldDescriptor( - name='uast', full_name='tech.sourced.featurext.generated.GraphletRequest.uast', index=0, + name='uast', full_name='tech.sourced.featurext.generated.IdentifiersRequest.uast', index=0, number=1, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( - name='docfreqThreshold', full_name='tech.sourced.featurext.generated.GraphletRequest.docfreqThreshold', index=1, - number=2, type=5, cpp_type=1, label=1, - has_default_value=False, default_value=0, + name='options', full_name='tech.sourced.featurext.generated.IdentifiersRequest.options', index=1, + number=2, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=792, + serialized_end=932, +) + + +_LITERALSREQUEST = _descriptor.Descriptor( + name='LiteralsRequest', + full_name='tech.sourced.featurext.generated.LiteralsRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='uast', full_name='tech.sourced.featurext.generated.LiteralsRequest.uast', index=0, + number=1, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( - name='weight', full_name='tech.sourced.featurext.generated.GraphletRequest.weight', index=2, - number=3, type=5, cpp_type=1, label=1, - has_default_value=False, default_value=0, + name='options', full_name='tech.sourced.featurext.generated.LiteralsRequest.options', index=1, + number=2, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=935, + serialized_end=1069, +) + + +_UAST2SEQREQUEST = _descriptor.Descriptor( + name='Uast2seqRequest', + full_name='tech.sourced.featurext.generated.Uast2seqRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='uast', full_name='tech.sourced.featurext.generated.Uast2seqRequest.uast', index=0, + number=1, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='options', full_name='tech.sourced.featurext.generated.Uast2seqRequest.options', index=1, + number=2, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None, file=DESCRIPTOR), @@ -225,8 +370,46 @@ extension_ranges=[], oneofs=[ ], - serialized_start=529, - serialized_end=637, + serialized_start=1072, + serialized_end=1206, +) + + +_GRAPHLETREQUEST = _descriptor.Descriptor( + name='GraphletRequest', + full_name='tech.sourced.featurext.generated.GraphletRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='uast', full_name='tech.sourced.featurext.generated.GraphletRequest.uast', index=0, + number=1, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='options', full_name='tech.sourced.featurext.generated.GraphletRequest.options', index=1, + number=2, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=1209, + serialized_end=1343, ) @@ -263,8 +446,8 @@ extension_ranges=[], oneofs=[ ], - serialized_start=639, - serialized_end=678, + serialized_start=1345, + serialized_end=1384, ) @@ -294,15 +477,29 @@ extension_ranges=[], oneofs=[ ], - serialized_start=680, - serialized_end=756, + serialized_start=1386, + serialized_end=1462, ) +_EXTRACTREQUEST.fields_by_name['uast'].message_type = gopkg_dot_in_dot_bblfsh_dot_sdk_dot_v1_dot_uast_dot_generated__pb2._NODE +_EXTRACTREQUEST.fields_by_name['identifiers'].message_type = _IDENTIFIERSOPTIONS +_EXTRACTREQUEST.fields_by_name['literals'].message_type = _LITERALSOPTIONS +_EXTRACTREQUEST.fields_by_name['uast2seq'].message_type = _UAST2SEQOPTIONS +_EXTRACTREQUEST.fields_by_name['graphlet'].message_type = _GRAPHLETOPTIONS _IDENTIFIERSREQUEST.fields_by_name['uast'].message_type = gopkg_dot_in_dot_bblfsh_dot_sdk_dot_v1_dot_uast_dot_generated__pb2._NODE +_IDENTIFIERSREQUEST.fields_by_name['options'].message_type = _IDENTIFIERSOPTIONS _LITERALSREQUEST.fields_by_name['uast'].message_type = gopkg_dot_in_dot_bblfsh_dot_sdk_dot_v1_dot_uast_dot_generated__pb2._NODE +_LITERALSREQUEST.fields_by_name['options'].message_type = _LITERALSOPTIONS _UAST2SEQREQUEST.fields_by_name['uast'].message_type = gopkg_dot_in_dot_bblfsh_dot_sdk_dot_v1_dot_uast_dot_generated__pb2._NODE +_UAST2SEQREQUEST.fields_by_name['options'].message_type = _UAST2SEQOPTIONS _GRAPHLETREQUEST.fields_by_name['uast'].message_type = gopkg_dot_in_dot_bblfsh_dot_sdk_dot_v1_dot_uast_dot_generated__pb2._NODE +_GRAPHLETREQUEST.fields_by_name['options'].message_type = _GRAPHLETOPTIONS _FEATURESREPLY.fields_by_name['features'].message_type = _FEATURE +DESCRIPTOR.message_types_by_name['IdentifiersOptions'] = _IDENTIFIERSOPTIONS +DESCRIPTOR.message_types_by_name['LiteralsOptions'] = _LITERALSOPTIONS +DESCRIPTOR.message_types_by_name['Uast2seqOptions'] = _UAST2SEQOPTIONS +DESCRIPTOR.message_types_by_name['GraphletOptions'] = _GRAPHLETOPTIONS +DESCRIPTOR.message_types_by_name['ExtractRequest'] = _EXTRACTREQUEST DESCRIPTOR.message_types_by_name['IdentifiersRequest'] = _IDENTIFIERSREQUEST DESCRIPTOR.message_types_by_name['LiteralsRequest'] = _LITERALSREQUEST DESCRIPTOR.message_types_by_name['Uast2seqRequest'] = _UAST2SEQREQUEST @@ -311,6 +508,41 @@ DESCRIPTOR.message_types_by_name['FeaturesReply'] = _FEATURESREPLY _sym_db.RegisterFileDescriptor(DESCRIPTOR) +IdentifiersOptions = _reflection.GeneratedProtocolMessageType('IdentifiersOptions', (_message.Message,), dict( + DESCRIPTOR = _IDENTIFIERSOPTIONS, + __module__ = 'service_pb2' + # @@protoc_insertion_point(class_scope:tech.sourced.featurext.generated.IdentifiersOptions) + )) +_sym_db.RegisterMessage(IdentifiersOptions) + +LiteralsOptions = _reflection.GeneratedProtocolMessageType('LiteralsOptions', (_message.Message,), dict( + DESCRIPTOR = _LITERALSOPTIONS, + __module__ = 'service_pb2' + # @@protoc_insertion_point(class_scope:tech.sourced.featurext.generated.LiteralsOptions) + )) +_sym_db.RegisterMessage(LiteralsOptions) + +Uast2seqOptions = _reflection.GeneratedProtocolMessageType('Uast2seqOptions', (_message.Message,), dict( + DESCRIPTOR = _UAST2SEQOPTIONS, + __module__ = 'service_pb2' + # @@protoc_insertion_point(class_scope:tech.sourced.featurext.generated.Uast2seqOptions) + )) +_sym_db.RegisterMessage(Uast2seqOptions) + +GraphletOptions = _reflection.GeneratedProtocolMessageType('GraphletOptions', (_message.Message,), dict( + DESCRIPTOR = _GRAPHLETOPTIONS, + __module__ = 'service_pb2' + # @@protoc_insertion_point(class_scope:tech.sourced.featurext.generated.GraphletOptions) + )) +_sym_db.RegisterMessage(GraphletOptions) + +ExtractRequest = _reflection.GeneratedProtocolMessageType('ExtractRequest', (_message.Message,), dict( + DESCRIPTOR = _EXTRACTREQUEST, + __module__ = 'service_pb2' + # @@protoc_insertion_point(class_scope:tech.sourced.featurext.generated.ExtractRequest) + )) +_sym_db.RegisterMessage(ExtractRequest) + IdentifiersRequest = _reflection.GeneratedProtocolMessageType('IdentifiersRequest', (_message.Message,), dict( DESCRIPTOR = _IDENTIFIERSREQUEST, __module__ = 'service_pb2' @@ -361,13 +593,22 @@ file=DESCRIPTOR, index=0, options=None, - serialized_start=759, - serialized_end=1239, + serialized_start=1465, + serialized_end=2057, methods=[ + _descriptor.MethodDescriptor( + name='Extract', + full_name='tech.sourced.featurext.generated.FeatureExtractor.Extract', + index=0, + containing_service=None, + input_type=_EXTRACTREQUEST, + output_type=_FEATURESREPLY, + options=None, + ), _descriptor.MethodDescriptor( name='Identifiers', full_name='tech.sourced.featurext.generated.FeatureExtractor.Identifiers', - index=0, + index=1, containing_service=None, input_type=_IDENTIFIERSREQUEST, output_type=_FEATURESREPLY, @@ -376,7 +617,7 @@ _descriptor.MethodDescriptor( name='Literals', full_name='tech.sourced.featurext.generated.FeatureExtractor.Literals', - index=1, + index=2, containing_service=None, input_type=_LITERALSREQUEST, output_type=_FEATURESREPLY, @@ -385,7 +626,7 @@ _descriptor.MethodDescriptor( name='Uast2seq', full_name='tech.sourced.featurext.generated.FeatureExtractor.Uast2seq', - index=2, + index=3, containing_service=None, input_type=_UAST2SEQREQUEST, output_type=_FEATURESREPLY, @@ -394,7 +635,7 @@ _descriptor.MethodDescriptor( name='Graphlet', full_name='tech.sourced.featurext.generated.FeatureExtractor.Graphlet', - index=3, + index=4, containing_service=None, input_type=_GRAPHLETREQUEST, output_type=_FEATURESREPLY, diff --git a/src/main/python/feature-extractor/pb/service_pb2_grpc.py b/src/main/python/feature-extractor/pb/service_pb2_grpc.py index 8f902a4d..454f128d 100644 --- a/src/main/python/feature-extractor/pb/service_pb2_grpc.py +++ b/src/main/python/feature-extractor/pb/service_pb2_grpc.py @@ -14,6 +14,11 @@ def __init__(self, channel): Args: channel: A grpc.Channel. """ + self.Extract = channel.unary_unary( + '/tech.sourced.featurext.generated.FeatureExtractor/Extract', + request_serializer=service__pb2.ExtractRequest.SerializeToString, + response_deserializer=service__pb2.FeaturesReply.FromString, + ) self.Identifiers = channel.unary_unary( '/tech.sourced.featurext.generated.FeatureExtractor/Identifiers', request_serializer=service__pb2.IdentifiersRequest.SerializeToString, @@ -40,6 +45,13 @@ class FeatureExtractorServicer(object): """Feature Extractor Service """ + def Extract(self, request, context): + """Extract allows to run multiple extractors on the same uast + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + def Identifiers(self, request, context): """Extract identifiers weighted set """ @@ -71,6 +83,11 @@ def Graphlet(self, request, context): def add_FeatureExtractorServicer_to_server(servicer, server): rpc_method_handlers = { + 'Extract': grpc.unary_unary_rpc_method_handler( + servicer.Extract, + request_deserializer=service__pb2.ExtractRequest.FromString, + response_serializer=service__pb2.FeaturesReply.SerializeToString, + ), 'Identifiers': grpc.unary_unary_rpc_method_handler( servicer.Identifiers, request_deserializer=service__pb2.IdentifiersRequest.FromString, diff --git a/src/main/python/feature-extractor/server.py b/src/main/python/feature-extractor/server.py index 074f2694..f407bb9b 100644 --- a/src/main/python/feature-extractor/server.py +++ b/src/main/python/feature-extractor/server.py @@ -9,7 +9,8 @@ import time import grpc -from sourced.ml.extractors import IdentifiersBagExtractor, LiteralsBagExtractor, UastSeqBagExtractor, GraphletBagExtractor +from sourced.ml.extractors import IdentifiersBagExtractor, LiteralsBagExtractor, \ + UastSeqBagExtractor, GraphletBagExtractor import pb.service_pb2 as service_pb2 import pb.service_pb2_grpc as service_pb2_grpc @@ -20,53 +21,80 @@ class Service(service_pb2_grpc.FeatureExtractorServicer): """Feature Extractor Service""" + extractors_names = ["identifiers", "literals", "uast2seq", "graphlet"] + + def Extract(self, request, context): + """ Extract features using multiple extrators """ + + extractors = [] + + for name in self.extractors_names: + if request.HasField(name): + options = getattr(request, name, None) + if options is None: + continue + constructor = getattr(self, "_%s_extractor" % name) + extractors.append(constructor(options)) + + features = [] + + for ex in extractors: + features.extend(_features_iter_to_list(ex.extract(request.uast))) + + return service_pb2.FeaturesReply(features=features) + def Identifiers(self, request, context): """Extract identifiers weighted set""" - extractor = IdentifiersBagExtractor( - docfreq_threshold=request.docfreqThreshold, - split_stem=request.splitStem, - weight=request.weight or 1) - - return self._create_response(extractor.extract(request.uast)) + it = self._identifiers_extractor(request.options).extract(request.uast) + return service_pb2.FeaturesReply(features=_features_iter_to_list(it)) def Literals(self, request, context): """Extract literals weighted set""" - extractor = LiteralsBagExtractor( - docfreq_threshold=request.docfreqThreshold, - weight=request.weight or 1) - - return self._create_response(extractor.extract(request.uast)) + it = self._literals_extractor(request.options).extract(request.uast) + return service_pb2.FeaturesReply(features=_features_iter_to_list(it)) def Uast2seq(self, request, context): """Extract uast2seq weighted set""" - seq_len = list(request.seqLen) if request.seqLen else None - - extractor = UastSeqBagExtractor( - docfreq_threshold=request.docfreqThreshold, - weight=request.weight or 1, - stride=request.stride or 1, - seq_len=seq_len or 5) - - return self._create_response(extractor.extract(request.uast)) + it = self._uast2seq_extractor(request.options).extract(request.uast) + return service_pb2.FeaturesReply(features=_features_iter_to_list(it)) def Graphlet(self, request, context): """Extract graphlet weighted set""" - extractor = GraphletBagExtractor( - docfreq_threshold=request.docfreqThreshold, - weight=request.weight or 1) + it = self._graphlet_extractor(request.options).extract(request.uast) + return service_pb2.FeaturesReply(features=_features_iter_to_list(it)) - return self._create_response(extractor.extract(request.uast)) + def _identifiers_extractor(self, options): + return IdentifiersBagExtractor( + docfreq_threshold=options.docfreqThreshold, + split_stem=options.splitStem, + weight=options.weight or 1) - def _create_response(self, f_iter): - features = [ - service_pb2.Feature(name=f[0], weight=f[1]) for f in f_iter - ] + def _literals_extractor(self, options): + return LiteralsBagExtractor( + docfreq_threshold=options.docfreqThreshold, + weight=options.weight or 1) - return service_pb2.FeaturesReply(features=features) + def _uast2seq_extractor(self, options): + seq_len = list(options.seqLen) if options.seqLen else None + + return UastSeqBagExtractor( + docfreq_threshold=options.docfreqThreshold, + weight=options.weight or 1, + stride=options.stride or 1, + seq_len=seq_len or 5) + + def _graphlet_extractor(self, options): + return GraphletBagExtractor( + docfreq_threshold=options.docfreqThreshold, + weight=options.weight or 1) + + +def _features_iter_to_list(f_iter): + return [service_pb2.Feature(name=f[0], weight=f[1]) for f in f_iter] def serve(port, workers): diff --git a/src/main/python/feature-extractor/test_server.py b/src/main/python/feature-extractor/test_server.py index 36f7091e..da37ae38 100644 --- a/src/main/python/feature-extractor/test_server.py +++ b/src/main/python/feature-extractor/test_server.py @@ -34,10 +34,26 @@ def setUp(self): def tearDown(self): self.server.stop(0) + def test_Extract(self): + response = self.stub.Extract( + service_pb2.ExtractRequest( + uast=self.uast, + identifiers=service_pb2.IdentifiersOptions( + docfreqThreshold=5, splitStem=False), + literals=service_pb2.LiteralsOptions(docfreqThreshold=5), + )) + + self.assertEqual(len(response.features), 49 + 16) + self.assertEqual(response.features[0].name, 'i.sys') + self.assertEqual(response.features[0].weight, 1) + self.assertEqual(response.features[49].name, 'l.3b286224b098296c') + def test_Identifiers(self): response = self.stub.Identifiers( service_pb2.IdentifiersRequest( - docfreqThreshold=5, splitStem=False, uast=self.uast)) + uast=self.uast, + options=service_pb2.IdentifiersOptions( + docfreqThreshold=5, splitStem=False))) self.assertEqual(len(response.features), 49) self.assertEqual(response.features[0].name, 'i.sys') @@ -45,7 +61,9 @@ def test_Identifiers(self): def test_Literals(self): response = self.stub.Literals( - service_pb2.LiteralsRequest(docfreqThreshold=5, uast=self.uast)) + service_pb2.LiteralsRequest( + uast=self.uast, + options=service_pb2.LiteralsOptions(docfreqThreshold=5))) self.assertEqual(len(response.features), 16) self.assertEqual(response.features[0].name, 'l.3b286224b098296c') @@ -53,7 +71,9 @@ def test_Literals(self): def test_Uast2seq(self): response = self.stub.Uast2seq( - service_pb2.Uast2seqRequest(docfreqThreshold=5, uast=self.uast)) + service_pb2.Uast2seqRequest( + uast=self.uast, + options=service_pb2.Uast2seqOptions(docfreqThreshold=5))) self.assertEqual(len(response.features), 207) self.assertEqual(response.features[0].name, @@ -62,7 +82,9 @@ def test_Uast2seq(self): def test_Graphlet(self): response = self.stub.Graphlet( - service_pb2.GraphletRequest(docfreqThreshold=5, uast=self.uast)) + service_pb2.GraphletRequest( + uast=self.uast, + options=service_pb2.GraphletOptions(docfreqThreshold=5))) self.assertEqual(len(response.features), 106) self.assertEqual(response.features[1].name, @@ -72,29 +94,33 @@ def test_Graphlet(self): def test_with_weight(self): response = self.stub.Identifiers( service_pb2.IdentifiersRequest( - docfreqThreshold=5, splitStem=False, uast=self.uast, weight=2)) + uast=self.uast, + options=service_pb2.IdentifiersOptions( + docfreqThreshold=5, splitStem=False, weight=2))) self.assertEqual(response.features[0].weight, 2) response = self.stub.Literals( service_pb2.LiteralsRequest( - docfreqThreshold=5, uast=self.uast, weight=2)) + uast=self.uast, + options=service_pb2.LiteralsOptions( + docfreqThreshold=5, weight=2))) self.assertEqual(response.features[0].weight, 2) response = self.stub.Uast2seq( service_pb2.Uast2seqRequest( - docfreqThreshold=5, uast=self.uast, - weight=2, - stride=2, - seqLen=[1])) + options=service_pb2.Uast2seqOptions( + docfreqThreshold=5, weight=2, stride=2, seqLen=[1]))) self.assertEqual(response.features[0].weight, 6) response = self.stub.Graphlet( service_pb2.GraphletRequest( - docfreqThreshold=5, uast=self.uast, weight=2)) + uast=self.uast, + options=service_pb2.GraphletOptions( + docfreqThreshold=5, weight=2))) self.assertEqual(response.features[0].weight, 2) diff --git a/src/main/scala/tech/sourced/featurext/Client.scala b/src/main/scala/tech/sourced/featurext/Client.scala index c7b696c4..6c9b0ad5 100644 --- a/src/main/scala/tech/sourced/featurext/Client.scala +++ b/src/main/scala/tech/sourced/featurext/Client.scala @@ -25,21 +25,30 @@ sealed abstract class Extractor { case class IdentifiersExt(weight: Int, split: Boolean) extends Extractor { override def extract(client: FeatureExtractor, uast: Node): Future[FeaturesReply] = { - val req = IdentifiersRequest(uast = Some(uast), docfreqThreshold = Threshold, weight = weight, splitStem = split) + val req = IdentifiersRequest( + uast = Some(uast), + options = Some(IdentifiersOptions(docfreqThreshold = Threshold, weight = weight, splitStem = split)) + ) client.identifiers(req) } } case class GraphletExt(weight: Int) extends Extractor { override def extract(client: FeatureExtractor, uast: Node): Future[FeaturesReply] = { - val req = GraphletRequest(uast = Some(uast), docfreqThreshold = Threshold, weight = weight) + val req = GraphletRequest( + uast = Some(uast), + options = Some(GraphletOptions(docfreqThreshold = Threshold, weight = weight)) + ) client.graphlet(req) } } case class LiteralsExt(weight: Int) extends Extractor { override def extract(client: FeatureExtractor, uast: Node): Future[FeaturesReply] = { - val req = LiteralsRequest(uast = Some(uast), docfreqThreshold = Threshold, weight = weight) + val req = LiteralsRequest( + uast = Some(uast), + options = Some(LiteralsOptions(docfreqThreshold = Threshold, weight = weight)) + ) client.literals(req) } } @@ -47,21 +56,48 @@ case class LiteralsExt(weight: Int) extends Extractor { case class Uast2seqExt(weight: Int, seqLen: Seq[Int], stride: Int) extends Extractor { override def extract(client: FeatureExtractor, uast: Node): Future[FeaturesReply] = { val req = Uast2seqRequest( - uast = Some(uast), docfreqThreshold = Threshold, weight = weight, stride = stride, seqLen = seqLen + uast = Some(uast), + options = Some(Uast2seqOptions(docfreqThreshold = Threshold, weight = weight, stride = stride, seqLen = seqLen)) ) client.uast2Seq(req) } } +case class BatchExt(identifiers: Option[IdentifiersOptions], + literals: Option[LiteralsOptions], + uast2Seq: Option[Uast2seqOptions], + graphlet: Option[GraphletOptions]) extends Extractor { + override def extract(client: FeatureExtractor, uast: Node): Future[FeaturesReply] = { + val req = ExtractRequest( + uast = Some(uast), + identifiers = identifiers, + literals = literals, + uast2Seq = uast2Seq, + graphlet = graphlet + ) + client.extract(req) + } +} + object FEClient { + val defaultThreshold = 5 + val fileLevelExtractors = Seq( - IdentifiersExt(weight = 194, split = true), GraphletExt(weight = 548), LiteralsExt(weight = 264) + BatchExt( + identifiers = Some(IdentifiersOptions(docfreqThreshold = defaultThreshold, weight = 194, splitStem = true)), + graphlet = Some(GraphletOptions(docfreqThreshold = defaultThreshold, weight = 548)), + uast2Seq = None, + literals = Some(LiteralsOptions(docfreqThreshold = defaultThreshold, weight = 264)) + ) ) val funcLevelExtractors = Seq( - IdentifiersExt(weight = 535, true), - GraphletExt(weight = 5707), - Uast2seqExt(weight = 369, seqLen = Seq(3), stride = 1) + BatchExt( + identifiers = Some(IdentifiersOptions(docfreqThreshold = defaultThreshold, weight = 535, splitStem = true)), + graphlet = Some(GraphletOptions(docfreqThreshold = defaultThreshold, weight = 5707)), + uast2Seq = Some(Uast2seqOptions(docfreqThreshold = defaultThreshold, weight = 369, seqLen = Seq(3), stride = 1)), + literals = None + ) ) def extract( diff --git a/src/main/scala/tech/sourced/featurext/generated/service/ExtractRequest.scala b/src/main/scala/tech/sourced/featurext/generated/service/ExtractRequest.scala new file mode 100644 index 00000000..3879377b --- /dev/null +++ b/src/main/scala/tech/sourced/featurext/generated/service/ExtractRequest.scala @@ -0,0 +1,191 @@ +// Generated by the Scala Plugin for the Protocol Buffer Compiler. +// Do not edit! +// +// Protofile syntax: PROTO3 + +package tech.sourced.featurext.generated.service + +@SerialVersionUID(0L) +final case class ExtractRequest( + uast: scala.Option[gopkg.in.bblfsh.sdk.v1.uast.generated.Node] = None, + identifiers: scala.Option[tech.sourced.featurext.generated.service.IdentifiersOptions] = None, + literals: scala.Option[tech.sourced.featurext.generated.service.LiteralsOptions] = None, + uast2Seq: scala.Option[tech.sourced.featurext.generated.service.Uast2seqOptions] = None, + graphlet: scala.Option[tech.sourced.featurext.generated.service.GraphletOptions] = None + ) extends scalapb.GeneratedMessage with scalapb.Message[ExtractRequest] with scalapb.lenses.Updatable[ExtractRequest] { + @transient + private[this] var __serializedSizeCachedValue: _root_.scala.Int = 0 + private[this] def __computeSerializedValue(): _root_.scala.Int = { + var __size = 0 + if (uast.isDefined) { __size += 1 + _root_.com.google.protobuf.CodedOutputStream.computeUInt32SizeNoTag(uast.get.serializedSize) + uast.get.serializedSize } + if (identifiers.isDefined) { __size += 1 + _root_.com.google.protobuf.CodedOutputStream.computeUInt32SizeNoTag(identifiers.get.serializedSize) + identifiers.get.serializedSize } + if (literals.isDefined) { __size += 1 + _root_.com.google.protobuf.CodedOutputStream.computeUInt32SizeNoTag(literals.get.serializedSize) + literals.get.serializedSize } + if (uast2Seq.isDefined) { __size += 1 + _root_.com.google.protobuf.CodedOutputStream.computeUInt32SizeNoTag(uast2Seq.get.serializedSize) + uast2Seq.get.serializedSize } + if (graphlet.isDefined) { __size += 1 + _root_.com.google.protobuf.CodedOutputStream.computeUInt32SizeNoTag(graphlet.get.serializedSize) + graphlet.get.serializedSize } + __size + } + final override def serializedSize: _root_.scala.Int = { + var read = __serializedSizeCachedValue + if (read == 0) { + read = __computeSerializedValue() + __serializedSizeCachedValue = read + } + read + } + def writeTo(`_output__`: _root_.com.google.protobuf.CodedOutputStream): Unit = { + uast.foreach { __v => + _output__.writeTag(1, 2) + _output__.writeUInt32NoTag(__v.serializedSize) + __v.writeTo(_output__) + }; + identifiers.foreach { __v => + _output__.writeTag(2, 2) + _output__.writeUInt32NoTag(__v.serializedSize) + __v.writeTo(_output__) + }; + literals.foreach { __v => + _output__.writeTag(3, 2) + _output__.writeUInt32NoTag(__v.serializedSize) + __v.writeTo(_output__) + }; + uast2Seq.foreach { __v => + _output__.writeTag(4, 2) + _output__.writeUInt32NoTag(__v.serializedSize) + __v.writeTo(_output__) + }; + graphlet.foreach { __v => + _output__.writeTag(5, 2) + _output__.writeUInt32NoTag(__v.serializedSize) + __v.writeTo(_output__) + }; + } + def mergeFrom(`_input__`: _root_.com.google.protobuf.CodedInputStream): tech.sourced.featurext.generated.service.ExtractRequest = { + var __uast = this.uast + var __identifiers = this.identifiers + var __literals = this.literals + var __uast2Seq = this.uast2Seq + var __graphlet = this.graphlet + var _done__ = false + while (!_done__) { + val _tag__ = _input__.readTag() + _tag__ match { + case 0 => _done__ = true + case 10 => + __uast = Option(_root_.scalapb.LiteParser.readMessage(_input__, __uast.getOrElse(gopkg.in.bblfsh.sdk.v1.uast.generated.Node.defaultInstance))) + case 18 => + __identifiers = Option(_root_.scalapb.LiteParser.readMessage(_input__, __identifiers.getOrElse(tech.sourced.featurext.generated.service.IdentifiersOptions.defaultInstance))) + case 26 => + __literals = Option(_root_.scalapb.LiteParser.readMessage(_input__, __literals.getOrElse(tech.sourced.featurext.generated.service.LiteralsOptions.defaultInstance))) + case 34 => + __uast2Seq = Option(_root_.scalapb.LiteParser.readMessage(_input__, __uast2Seq.getOrElse(tech.sourced.featurext.generated.service.Uast2seqOptions.defaultInstance))) + case 42 => + __graphlet = Option(_root_.scalapb.LiteParser.readMessage(_input__, __graphlet.getOrElse(tech.sourced.featurext.generated.service.GraphletOptions.defaultInstance))) + case tag => _input__.skipField(tag) + } + } + tech.sourced.featurext.generated.service.ExtractRequest( + uast = __uast, + identifiers = __identifiers, + literals = __literals, + uast2Seq = __uast2Seq, + graphlet = __graphlet + ) + } + def getUast: gopkg.in.bblfsh.sdk.v1.uast.generated.Node = uast.getOrElse(gopkg.in.bblfsh.sdk.v1.uast.generated.Node.defaultInstance) + def clearUast: ExtractRequest = copy(uast = None) + def withUast(__v: gopkg.in.bblfsh.sdk.v1.uast.generated.Node): ExtractRequest = copy(uast = Option(__v)) + def getIdentifiers: tech.sourced.featurext.generated.service.IdentifiersOptions = identifiers.getOrElse(tech.sourced.featurext.generated.service.IdentifiersOptions.defaultInstance) + def clearIdentifiers: ExtractRequest = copy(identifiers = None) + def withIdentifiers(__v: tech.sourced.featurext.generated.service.IdentifiersOptions): ExtractRequest = copy(identifiers = Option(__v)) + def getLiterals: tech.sourced.featurext.generated.service.LiteralsOptions = literals.getOrElse(tech.sourced.featurext.generated.service.LiteralsOptions.defaultInstance) + def clearLiterals: ExtractRequest = copy(literals = None) + def withLiterals(__v: tech.sourced.featurext.generated.service.LiteralsOptions): ExtractRequest = copy(literals = Option(__v)) + def getUast2Seq: tech.sourced.featurext.generated.service.Uast2seqOptions = uast2Seq.getOrElse(tech.sourced.featurext.generated.service.Uast2seqOptions.defaultInstance) + def clearUast2Seq: ExtractRequest = copy(uast2Seq = None) + def withUast2Seq(__v: tech.sourced.featurext.generated.service.Uast2seqOptions): ExtractRequest = copy(uast2Seq = Option(__v)) + def getGraphlet: tech.sourced.featurext.generated.service.GraphletOptions = graphlet.getOrElse(tech.sourced.featurext.generated.service.GraphletOptions.defaultInstance) + def clearGraphlet: ExtractRequest = copy(graphlet = None) + def withGraphlet(__v: tech.sourced.featurext.generated.service.GraphletOptions): ExtractRequest = copy(graphlet = Option(__v)) + def getFieldByNumber(__fieldNumber: _root_.scala.Int): scala.Any = { + (__fieldNumber: @_root_.scala.unchecked) match { + case 1 => uast.orNull + case 2 => identifiers.orNull + case 3 => literals.orNull + case 4 => uast2Seq.orNull + case 5 => graphlet.orNull + } + } + def getField(__field: _root_.scalapb.descriptors.FieldDescriptor): _root_.scalapb.descriptors.PValue = { + require(__field.containingMessage eq companion.scalaDescriptor) + (__field.number: @_root_.scala.unchecked) match { + case 1 => uast.map(_.toPMessage).getOrElse(_root_.scalapb.descriptors.PEmpty) + case 2 => identifiers.map(_.toPMessage).getOrElse(_root_.scalapb.descriptors.PEmpty) + case 3 => literals.map(_.toPMessage).getOrElse(_root_.scalapb.descriptors.PEmpty) + case 4 => uast2Seq.map(_.toPMessage).getOrElse(_root_.scalapb.descriptors.PEmpty) + case 5 => graphlet.map(_.toPMessage).getOrElse(_root_.scalapb.descriptors.PEmpty) + } + } + def toProtoString: _root_.scala.Predef.String = _root_.scalapb.TextFormat.printToUnicodeString(this) + def companion = tech.sourced.featurext.generated.service.ExtractRequest +} + +object ExtractRequest extends scalapb.GeneratedMessageCompanion[tech.sourced.featurext.generated.service.ExtractRequest] { + implicit def messageCompanion: scalapb.GeneratedMessageCompanion[tech.sourced.featurext.generated.service.ExtractRequest] = this + def fromFieldsMap(__fieldsMap: scala.collection.immutable.Map[_root_.com.google.protobuf.Descriptors.FieldDescriptor, scala.Any]): tech.sourced.featurext.generated.service.ExtractRequest = { + require(__fieldsMap.keys.forall(_.getContainingType() == javaDescriptor), "FieldDescriptor does not match message type.") + val __fields = javaDescriptor.getFields + tech.sourced.featurext.generated.service.ExtractRequest( + __fieldsMap.get(__fields.get(0)).asInstanceOf[scala.Option[gopkg.in.bblfsh.sdk.v1.uast.generated.Node]], + __fieldsMap.get(__fields.get(1)).asInstanceOf[scala.Option[tech.sourced.featurext.generated.service.IdentifiersOptions]], + __fieldsMap.get(__fields.get(2)).asInstanceOf[scala.Option[tech.sourced.featurext.generated.service.LiteralsOptions]], + __fieldsMap.get(__fields.get(3)).asInstanceOf[scala.Option[tech.sourced.featurext.generated.service.Uast2seqOptions]], + __fieldsMap.get(__fields.get(4)).asInstanceOf[scala.Option[tech.sourced.featurext.generated.service.GraphletOptions]] + ) + } + implicit def messageReads: _root_.scalapb.descriptors.Reads[tech.sourced.featurext.generated.service.ExtractRequest] = _root_.scalapb.descriptors.Reads{ + case _root_.scalapb.descriptors.PMessage(__fieldsMap) => + require(__fieldsMap.keys.forall(_.containingMessage == scalaDescriptor), "FieldDescriptor does not match message type.") + tech.sourced.featurext.generated.service.ExtractRequest( + __fieldsMap.get(scalaDescriptor.findFieldByNumber(1).get).flatMap(_.as[scala.Option[gopkg.in.bblfsh.sdk.v1.uast.generated.Node]]), + __fieldsMap.get(scalaDescriptor.findFieldByNumber(2).get).flatMap(_.as[scala.Option[tech.sourced.featurext.generated.service.IdentifiersOptions]]), + __fieldsMap.get(scalaDescriptor.findFieldByNumber(3).get).flatMap(_.as[scala.Option[tech.sourced.featurext.generated.service.LiteralsOptions]]), + __fieldsMap.get(scalaDescriptor.findFieldByNumber(4).get).flatMap(_.as[scala.Option[tech.sourced.featurext.generated.service.Uast2seqOptions]]), + __fieldsMap.get(scalaDescriptor.findFieldByNumber(5).get).flatMap(_.as[scala.Option[tech.sourced.featurext.generated.service.GraphletOptions]]) + ) + case _ => throw new RuntimeException("Expected PMessage") + } + def javaDescriptor: _root_.com.google.protobuf.Descriptors.Descriptor = ServiceProto.javaDescriptor.getMessageTypes.get(4) + def scalaDescriptor: _root_.scalapb.descriptors.Descriptor = ServiceProto.scalaDescriptor.messages(4) + def messageCompanionForFieldNumber(__number: _root_.scala.Int): _root_.scalapb.GeneratedMessageCompanion[_] = { + var __out: _root_.scalapb.GeneratedMessageCompanion[_] = null + (__number: @_root_.scala.unchecked) match { + case 1 => __out = gopkg.in.bblfsh.sdk.v1.uast.generated.Node + case 2 => __out = tech.sourced.featurext.generated.service.IdentifiersOptions + case 3 => __out = tech.sourced.featurext.generated.service.LiteralsOptions + case 4 => __out = tech.sourced.featurext.generated.service.Uast2seqOptions + case 5 => __out = tech.sourced.featurext.generated.service.GraphletOptions + } + __out + } + lazy val nestedMessagesCompanions: Seq[_root_.scalapb.GeneratedMessageCompanion[_]] = Seq.empty + def enumCompanionForFieldNumber(__fieldNumber: _root_.scala.Int): _root_.scalapb.GeneratedEnumCompanion[_] = throw new MatchError(__fieldNumber) + lazy val defaultInstance = tech.sourced.featurext.generated.service.ExtractRequest( + ) + implicit class ExtractRequestLens[UpperPB](_l: _root_.scalapb.lenses.Lens[UpperPB, tech.sourced.featurext.generated.service.ExtractRequest]) extends _root_.scalapb.lenses.ObjectLens[UpperPB, tech.sourced.featurext.generated.service.ExtractRequest](_l) { + def uast: _root_.scalapb.lenses.Lens[UpperPB, gopkg.in.bblfsh.sdk.v1.uast.generated.Node] = field(_.getUast)((c_, f_) => c_.copy(uast = Option(f_))) + def optionalUast: _root_.scalapb.lenses.Lens[UpperPB, scala.Option[gopkg.in.bblfsh.sdk.v1.uast.generated.Node]] = field(_.uast)((c_, f_) => c_.copy(uast = f_)) + def identifiers: _root_.scalapb.lenses.Lens[UpperPB, tech.sourced.featurext.generated.service.IdentifiersOptions] = field(_.getIdentifiers)((c_, f_) => c_.copy(identifiers = Option(f_))) + def optionalIdentifiers: _root_.scalapb.lenses.Lens[UpperPB, scala.Option[tech.sourced.featurext.generated.service.IdentifiersOptions]] = field(_.identifiers)((c_, f_) => c_.copy(identifiers = f_)) + def literals: _root_.scalapb.lenses.Lens[UpperPB, tech.sourced.featurext.generated.service.LiteralsOptions] = field(_.getLiterals)((c_, f_) => c_.copy(literals = Option(f_))) + def optionalLiterals: _root_.scalapb.lenses.Lens[UpperPB, scala.Option[tech.sourced.featurext.generated.service.LiteralsOptions]] = field(_.literals)((c_, f_) => c_.copy(literals = f_)) + def uast2Seq: _root_.scalapb.lenses.Lens[UpperPB, tech.sourced.featurext.generated.service.Uast2seqOptions] = field(_.getUast2Seq)((c_, f_) => c_.copy(uast2Seq = Option(f_))) + def optionalUast2Seq: _root_.scalapb.lenses.Lens[UpperPB, scala.Option[tech.sourced.featurext.generated.service.Uast2seqOptions]] = field(_.uast2Seq)((c_, f_) => c_.copy(uast2Seq = f_)) + def graphlet: _root_.scalapb.lenses.Lens[UpperPB, tech.sourced.featurext.generated.service.GraphletOptions] = field(_.getGraphlet)((c_, f_) => c_.copy(graphlet = Option(f_))) + def optionalGraphlet: _root_.scalapb.lenses.Lens[UpperPB, scala.Option[tech.sourced.featurext.generated.service.GraphletOptions]] = field(_.graphlet)((c_, f_) => c_.copy(graphlet = f_)) + } + final val UAST_FIELD_NUMBER = 1 + final val IDENTIFIERS_FIELD_NUMBER = 2 + final val LITERALS_FIELD_NUMBER = 3 + final val UAST2SEQ_FIELD_NUMBER = 4 + final val GRAPHLET_FIELD_NUMBER = 5 +} diff --git a/src/main/scala/tech/sourced/featurext/generated/service/Feature.scala b/src/main/scala/tech/sourced/featurext/generated/service/Feature.scala index fa965510..569b767a 100644 --- a/src/main/scala/tech/sourced/featurext/generated/service/Feature.scala +++ b/src/main/scala/tech/sourced/featurext/generated/service/Feature.scala @@ -104,8 +104,8 @@ object Feature extends scalapb.GeneratedMessageCompanion[tech.sourced.featurext. ) case _ => throw new RuntimeException("Expected PMessage") } - def javaDescriptor: _root_.com.google.protobuf.Descriptors.Descriptor = ServiceProto.javaDescriptor.getMessageTypes.get(4) - def scalaDescriptor: _root_.scalapb.descriptors.Descriptor = ServiceProto.scalaDescriptor.messages(4) + def javaDescriptor: _root_.com.google.protobuf.Descriptors.Descriptor = ServiceProto.javaDescriptor.getMessageTypes.get(9) + def scalaDescriptor: _root_.scalapb.descriptors.Descriptor = ServiceProto.scalaDescriptor.messages(9) def messageCompanionForFieldNumber(__number: _root_.scala.Int): _root_.scalapb.GeneratedMessageCompanion[_] = throw new MatchError(__number) lazy val nestedMessagesCompanions: Seq[_root_.scalapb.GeneratedMessageCompanion[_]] = Seq.empty def enumCompanionForFieldNumber(__fieldNumber: _root_.scala.Int): _root_.scalapb.GeneratedEnumCompanion[_] = throw new MatchError(__fieldNumber) diff --git a/src/main/scala/tech/sourced/featurext/generated/service/FeatureExtractorGrpc.scala b/src/main/scala/tech/sourced/featurext/generated/service/FeatureExtractorGrpc.scala index f9388992..848f7c9d 100644 --- a/src/main/scala/tech/sourced/featurext/generated/service/FeatureExtractorGrpc.scala +++ b/src/main/scala/tech/sourced/featurext/generated/service/FeatureExtractorGrpc.scala @@ -1,6 +1,14 @@ package tech.sourced.featurext.generated.service object FeatureExtractorGrpc { + val METHOD_EXTRACT: _root_.io.grpc.MethodDescriptor[tech.sourced.featurext.generated.service.ExtractRequest, tech.sourced.featurext.generated.service.FeaturesReply] = + _root_.io.grpc.MethodDescriptor.newBuilder() + .setType(_root_.io.grpc.MethodDescriptor.MethodType.UNARY) + .setFullMethodName(_root_.io.grpc.MethodDescriptor.generateFullMethodName("tech.sourced.featurext.generated.FeatureExtractor", "Extract")) + .setRequestMarshaller(new scalapb.grpc.Marshaller(tech.sourced.featurext.generated.service.ExtractRequest)) + .setResponseMarshaller(new scalapb.grpc.Marshaller(tech.sourced.featurext.generated.service.FeaturesReply)) + .build() + val METHOD_IDENTIFIERS: _root_.io.grpc.MethodDescriptor[tech.sourced.featurext.generated.service.IdentifiersRequest, tech.sourced.featurext.generated.service.FeaturesReply] = _root_.io.grpc.MethodDescriptor.newBuilder() .setType(_root_.io.grpc.MethodDescriptor.MethodType.UNARY) @@ -36,6 +44,7 @@ object FeatureExtractorGrpc { val SERVICE: _root_.io.grpc.ServiceDescriptor = _root_.io.grpc.ServiceDescriptor.newBuilder("tech.sourced.featurext.generated.FeatureExtractor") .setSchemaDescriptor(new _root_.scalapb.grpc.ConcreteProtoFileDescriptorSupplier(tech.sourced.featurext.generated.service.ServiceProto.javaDescriptor)) + .addMethod(METHOD_EXTRACT) .addMethod(METHOD_IDENTIFIERS) .addMethod(METHOD_LITERALS) .addMethod(METHOD_UAST2SEQ) @@ -44,6 +53,7 @@ object FeatureExtractorGrpc { trait FeatureExtractor extends _root_.scalapb.grpc.AbstractService { override def serviceCompanion = FeatureExtractor + def extract(request: tech.sourced.featurext.generated.service.ExtractRequest): scala.concurrent.Future[tech.sourced.featurext.generated.service.FeaturesReply] def identifiers(request: tech.sourced.featurext.generated.service.IdentifiersRequest): scala.concurrent.Future[tech.sourced.featurext.generated.service.FeaturesReply] def literals(request: tech.sourced.featurext.generated.service.LiteralsRequest): scala.concurrent.Future[tech.sourced.featurext.generated.service.FeaturesReply] def uast2Seq(request: tech.sourced.featurext.generated.service.Uast2seqRequest): scala.concurrent.Future[tech.sourced.featurext.generated.service.FeaturesReply] @@ -57,6 +67,7 @@ object FeatureExtractorGrpc { trait FeatureExtractorBlockingClient { def serviceCompanion = FeatureExtractor + def extract(request: tech.sourced.featurext.generated.service.ExtractRequest): tech.sourced.featurext.generated.service.FeaturesReply def identifiers(request: tech.sourced.featurext.generated.service.IdentifiersRequest): tech.sourced.featurext.generated.service.FeaturesReply def literals(request: tech.sourced.featurext.generated.service.LiteralsRequest): tech.sourced.featurext.generated.service.FeaturesReply def uast2Seq(request: tech.sourced.featurext.generated.service.Uast2seqRequest): tech.sourced.featurext.generated.service.FeaturesReply @@ -64,6 +75,10 @@ object FeatureExtractorGrpc { } class FeatureExtractorBlockingStub(channel: _root_.io.grpc.Channel, options: _root_.io.grpc.CallOptions = _root_.io.grpc.CallOptions.DEFAULT) extends _root_.io.grpc.stub.AbstractStub[FeatureExtractorBlockingStub](channel, options) with FeatureExtractorBlockingClient { + override def extract(request: tech.sourced.featurext.generated.service.ExtractRequest): tech.sourced.featurext.generated.service.FeaturesReply = { + _root_.io.grpc.stub.ClientCalls.blockingUnaryCall(channel.newCall(METHOD_EXTRACT, options), request) + } + override def identifiers(request: tech.sourced.featurext.generated.service.IdentifiersRequest): tech.sourced.featurext.generated.service.FeaturesReply = { _root_.io.grpc.stub.ClientCalls.blockingUnaryCall(channel.newCall(METHOD_IDENTIFIERS, options), request) } @@ -84,6 +99,10 @@ object FeatureExtractorGrpc { } class FeatureExtractorStub(channel: _root_.io.grpc.Channel, options: _root_.io.grpc.CallOptions = _root_.io.grpc.CallOptions.DEFAULT) extends _root_.io.grpc.stub.AbstractStub[FeatureExtractorStub](channel, options) with FeatureExtractor { + override def extract(request: tech.sourced.featurext.generated.service.ExtractRequest): scala.concurrent.Future[tech.sourced.featurext.generated.service.FeaturesReply] = { + scalapb.grpc.Grpc.guavaFuture2ScalaFuture(_root_.io.grpc.stub.ClientCalls.futureUnaryCall(channel.newCall(METHOD_EXTRACT, options), request)) + } + override def identifiers(request: tech.sourced.featurext.generated.service.IdentifiersRequest): scala.concurrent.Future[tech.sourced.featurext.generated.service.FeaturesReply] = { scalapb.grpc.Grpc.guavaFuture2ScalaFuture(_root_.io.grpc.stub.ClientCalls.futureUnaryCall(channel.newCall(METHOD_IDENTIFIERS, options), request)) } @@ -105,6 +124,13 @@ object FeatureExtractorGrpc { def bindService(serviceImpl: FeatureExtractor, executionContext: scala.concurrent.ExecutionContext): _root_.io.grpc.ServerServiceDefinition = _root_.io.grpc.ServerServiceDefinition.builder(SERVICE) + .addMethod( + METHOD_EXTRACT, + _root_.io.grpc.stub.ServerCalls.asyncUnaryCall(new _root_.io.grpc.stub.ServerCalls.UnaryMethod[tech.sourced.featurext.generated.service.ExtractRequest, tech.sourced.featurext.generated.service.FeaturesReply] { + override def invoke(request: tech.sourced.featurext.generated.service.ExtractRequest, observer: _root_.io.grpc.stub.StreamObserver[tech.sourced.featurext.generated.service.FeaturesReply]): Unit = + serviceImpl.extract(request).onComplete(scalapb.grpc.Grpc.completeObserver(observer))( + executionContext) + })) .addMethod( METHOD_IDENTIFIERS, _root_.io.grpc.stub.ServerCalls.asyncUnaryCall(new _root_.io.grpc.stub.ServerCalls.UnaryMethod[tech.sourced.featurext.generated.service.IdentifiersRequest, tech.sourced.featurext.generated.service.FeaturesReply] { diff --git a/src/main/scala/tech/sourced/featurext/generated/service/FeaturesReply.scala b/src/main/scala/tech/sourced/featurext/generated/service/FeaturesReply.scala index 4cf1f252..68b153b0 100644 --- a/src/main/scala/tech/sourced/featurext/generated/service/FeaturesReply.scala +++ b/src/main/scala/tech/sourced/featurext/generated/service/FeaturesReply.scala @@ -85,8 +85,8 @@ object FeaturesReply extends scalapb.GeneratedMessageCompanion[tech.sourced.feat ) case _ => throw new RuntimeException("Expected PMessage") } - def javaDescriptor: _root_.com.google.protobuf.Descriptors.Descriptor = ServiceProto.javaDescriptor.getMessageTypes.get(5) - def scalaDescriptor: _root_.scalapb.descriptors.Descriptor = ServiceProto.scalaDescriptor.messages(5) + def javaDescriptor: _root_.com.google.protobuf.Descriptors.Descriptor = ServiceProto.javaDescriptor.getMessageTypes.get(10) + def scalaDescriptor: _root_.scalapb.descriptors.Descriptor = ServiceProto.scalaDescriptor.messages(10) def messageCompanionForFieldNumber(__number: _root_.scala.Int): _root_.scalapb.GeneratedMessageCompanion[_] = { var __out: _root_.scalapb.GeneratedMessageCompanion[_] = null (__number: @_root_.scala.unchecked) match { diff --git a/src/main/scala/tech/sourced/featurext/generated/service/GraphletOptions.scala b/src/main/scala/tech/sourced/featurext/generated/service/GraphletOptions.scala new file mode 100644 index 00000000..bbbb7d29 --- /dev/null +++ b/src/main/scala/tech/sourced/featurext/generated/service/GraphletOptions.scala @@ -0,0 +1,120 @@ +// Generated by the Scala Plugin for the Protocol Buffer Compiler. +// Do not edit! +// +// Protofile syntax: PROTO3 + +package tech.sourced.featurext.generated.service + +@SerialVersionUID(0L) +final case class GraphletOptions( + docfreqThreshold: _root_.scala.Int = 0, + weight: _root_.scala.Int = 0 + ) extends scalapb.GeneratedMessage with scalapb.Message[GraphletOptions] with scalapb.lenses.Updatable[GraphletOptions] { + @transient + private[this] var __serializedSizeCachedValue: _root_.scala.Int = 0 + private[this] def __computeSerializedValue(): _root_.scala.Int = { + var __size = 0 + if (docfreqThreshold != 0) { __size += _root_.com.google.protobuf.CodedOutputStream.computeInt32Size(1, docfreqThreshold) } + if (weight != 0) { __size += _root_.com.google.protobuf.CodedOutputStream.computeInt32Size(2, weight) } + __size + } + final override def serializedSize: _root_.scala.Int = { + var read = __serializedSizeCachedValue + if (read == 0) { + read = __computeSerializedValue() + __serializedSizeCachedValue = read + } + read + } + def writeTo(`_output__`: _root_.com.google.protobuf.CodedOutputStream): Unit = { + { + val __v = docfreqThreshold + if (__v != 0) { + _output__.writeInt32(1, __v) + } + }; + { + val __v = weight + if (__v != 0) { + _output__.writeInt32(2, __v) + } + }; + } + def mergeFrom(`_input__`: _root_.com.google.protobuf.CodedInputStream): tech.sourced.featurext.generated.service.GraphletOptions = { + var __docfreqThreshold = this.docfreqThreshold + var __weight = this.weight + var _done__ = false + while (!_done__) { + val _tag__ = _input__.readTag() + _tag__ match { + case 0 => _done__ = true + case 8 => + __docfreqThreshold = _input__.readInt32() + case 16 => + __weight = _input__.readInt32() + case tag => _input__.skipField(tag) + } + } + tech.sourced.featurext.generated.service.GraphletOptions( + docfreqThreshold = __docfreqThreshold, + weight = __weight + ) + } + def withDocfreqThreshold(__v: _root_.scala.Int): GraphletOptions = copy(docfreqThreshold = __v) + def withWeight(__v: _root_.scala.Int): GraphletOptions = copy(weight = __v) + def getFieldByNumber(__fieldNumber: _root_.scala.Int): scala.Any = { + (__fieldNumber: @_root_.scala.unchecked) match { + case 1 => { + val __t = docfreqThreshold + if (__t != 0) __t else null + } + case 2 => { + val __t = weight + if (__t != 0) __t else null + } + } + } + def getField(__field: _root_.scalapb.descriptors.FieldDescriptor): _root_.scalapb.descriptors.PValue = { + require(__field.containingMessage eq companion.scalaDescriptor) + (__field.number: @_root_.scala.unchecked) match { + case 1 => _root_.scalapb.descriptors.PInt(docfreqThreshold) + case 2 => _root_.scalapb.descriptors.PInt(weight) + } + } + def toProtoString: _root_.scala.Predef.String = _root_.scalapb.TextFormat.printToUnicodeString(this) + def companion = tech.sourced.featurext.generated.service.GraphletOptions +} + +object GraphletOptions extends scalapb.GeneratedMessageCompanion[tech.sourced.featurext.generated.service.GraphletOptions] { + implicit def messageCompanion: scalapb.GeneratedMessageCompanion[tech.sourced.featurext.generated.service.GraphletOptions] = this + def fromFieldsMap(__fieldsMap: scala.collection.immutable.Map[_root_.com.google.protobuf.Descriptors.FieldDescriptor, scala.Any]): tech.sourced.featurext.generated.service.GraphletOptions = { + require(__fieldsMap.keys.forall(_.getContainingType() == javaDescriptor), "FieldDescriptor does not match message type.") + val __fields = javaDescriptor.getFields + tech.sourced.featurext.generated.service.GraphletOptions( + __fieldsMap.getOrElse(__fields.get(0), 0).asInstanceOf[_root_.scala.Int], + __fieldsMap.getOrElse(__fields.get(1), 0).asInstanceOf[_root_.scala.Int] + ) + } + implicit def messageReads: _root_.scalapb.descriptors.Reads[tech.sourced.featurext.generated.service.GraphletOptions] = _root_.scalapb.descriptors.Reads{ + case _root_.scalapb.descriptors.PMessage(__fieldsMap) => + require(__fieldsMap.keys.forall(_.containingMessage == scalaDescriptor), "FieldDescriptor does not match message type.") + tech.sourced.featurext.generated.service.GraphletOptions( + __fieldsMap.get(scalaDescriptor.findFieldByNumber(1).get).map(_.as[_root_.scala.Int]).getOrElse(0), + __fieldsMap.get(scalaDescriptor.findFieldByNumber(2).get).map(_.as[_root_.scala.Int]).getOrElse(0) + ) + case _ => throw new RuntimeException("Expected PMessage") + } + def javaDescriptor: _root_.com.google.protobuf.Descriptors.Descriptor = ServiceProto.javaDescriptor.getMessageTypes.get(3) + def scalaDescriptor: _root_.scalapb.descriptors.Descriptor = ServiceProto.scalaDescriptor.messages(3) + def messageCompanionForFieldNumber(__number: _root_.scala.Int): _root_.scalapb.GeneratedMessageCompanion[_] = throw new MatchError(__number) + lazy val nestedMessagesCompanions: Seq[_root_.scalapb.GeneratedMessageCompanion[_]] = Seq.empty + def enumCompanionForFieldNumber(__fieldNumber: _root_.scala.Int): _root_.scalapb.GeneratedEnumCompanion[_] = throw new MatchError(__fieldNumber) + lazy val defaultInstance = tech.sourced.featurext.generated.service.GraphletOptions( + ) + implicit class GraphletOptionsLens[UpperPB](_l: _root_.scalapb.lenses.Lens[UpperPB, tech.sourced.featurext.generated.service.GraphletOptions]) extends _root_.scalapb.lenses.ObjectLens[UpperPB, tech.sourced.featurext.generated.service.GraphletOptions](_l) { + def docfreqThreshold: _root_.scalapb.lenses.Lens[UpperPB, _root_.scala.Int] = field(_.docfreqThreshold)((c_, f_) => c_.copy(docfreqThreshold = f_)) + def weight: _root_.scalapb.lenses.Lens[UpperPB, _root_.scala.Int] = field(_.weight)((c_, f_) => c_.copy(weight = f_)) + } + final val DOCFREQTHRESHOLD_FIELD_NUMBER = 1 + final val WEIGHT_FIELD_NUMBER = 2 +} diff --git a/src/main/scala/tech/sourced/featurext/generated/service/GraphletRequest.scala b/src/main/scala/tech/sourced/featurext/generated/service/GraphletRequest.scala index 7d7dbc48..cf28ea56 100644 --- a/src/main/scala/tech/sourced/featurext/generated/service/GraphletRequest.scala +++ b/src/main/scala/tech/sourced/featurext/generated/service/GraphletRequest.scala @@ -10,16 +10,14 @@ package tech.sourced.featurext.generated.service @SerialVersionUID(0L) final case class GraphletRequest( uast: scala.Option[gopkg.in.bblfsh.sdk.v1.uast.generated.Node] = None, - docfreqThreshold: _root_.scala.Int = 0, - weight: _root_.scala.Int = 0 + options: scala.Option[tech.sourced.featurext.generated.service.GraphletOptions] = None ) extends scalapb.GeneratedMessage with scalapb.Message[GraphletRequest] with scalapb.lenses.Updatable[GraphletRequest] { @transient private[this] var __serializedSizeCachedValue: _root_.scala.Int = 0 private[this] def __computeSerializedValue(): _root_.scala.Int = { var __size = 0 if (uast.isDefined) { __size += 1 + _root_.com.google.protobuf.CodedOutputStream.computeUInt32SizeNoTag(uast.get.serializedSize) + uast.get.serializedSize } - if (docfreqThreshold != 0) { __size += _root_.com.google.protobuf.CodedOutputStream.computeInt32Size(2, docfreqThreshold) } - if (weight != 0) { __size += _root_.com.google.protobuf.CodedOutputStream.computeInt32Size(3, weight) } + if (options.isDefined) { __size += 1 + _root_.com.google.protobuf.CodedOutputStream.computeUInt32SizeNoTag(options.get.serializedSize) + options.get.serializedSize } __size } final override def serializedSize: _root_.scala.Int = { @@ -36,23 +34,15 @@ final case class GraphletRequest( _output__.writeUInt32NoTag(__v.serializedSize) __v.writeTo(_output__) }; - { - val __v = docfreqThreshold - if (__v != 0) { - _output__.writeInt32(2, __v) - } - }; - { - val __v = weight - if (__v != 0) { - _output__.writeInt32(3, __v) - } + options.foreach { __v => + _output__.writeTag(2, 2) + _output__.writeUInt32NoTag(__v.serializedSize) + __v.writeTo(_output__) }; } def mergeFrom(`_input__`: _root_.com.google.protobuf.CodedInputStream): tech.sourced.featurext.generated.service.GraphletRequest = { var __uast = this.uast - var __docfreqThreshold = this.docfreqThreshold - var __weight = this.weight + var __options = this.options var _done__ = false while (!_done__) { val _tag__ = _input__.readTag() @@ -60,43 +50,33 @@ final case class GraphletRequest( case 0 => _done__ = true case 10 => __uast = Option(_root_.scalapb.LiteParser.readMessage(_input__, __uast.getOrElse(gopkg.in.bblfsh.sdk.v1.uast.generated.Node.defaultInstance))) - case 16 => - __docfreqThreshold = _input__.readInt32() - case 24 => - __weight = _input__.readInt32() + case 18 => + __options = Option(_root_.scalapb.LiteParser.readMessage(_input__, __options.getOrElse(tech.sourced.featurext.generated.service.GraphletOptions.defaultInstance))) case tag => _input__.skipField(tag) } } tech.sourced.featurext.generated.service.GraphletRequest( uast = __uast, - docfreqThreshold = __docfreqThreshold, - weight = __weight + options = __options ) } def getUast: gopkg.in.bblfsh.sdk.v1.uast.generated.Node = uast.getOrElse(gopkg.in.bblfsh.sdk.v1.uast.generated.Node.defaultInstance) def clearUast: GraphletRequest = copy(uast = None) def withUast(__v: gopkg.in.bblfsh.sdk.v1.uast.generated.Node): GraphletRequest = copy(uast = Option(__v)) - def withDocfreqThreshold(__v: _root_.scala.Int): GraphletRequest = copy(docfreqThreshold = __v) - def withWeight(__v: _root_.scala.Int): GraphletRequest = copy(weight = __v) + def getOptions: tech.sourced.featurext.generated.service.GraphletOptions = options.getOrElse(tech.sourced.featurext.generated.service.GraphletOptions.defaultInstance) + def clearOptions: GraphletRequest = copy(options = None) + def withOptions(__v: tech.sourced.featurext.generated.service.GraphletOptions): GraphletRequest = copy(options = Option(__v)) def getFieldByNumber(__fieldNumber: _root_.scala.Int): scala.Any = { (__fieldNumber: @_root_.scala.unchecked) match { case 1 => uast.orNull - case 2 => { - val __t = docfreqThreshold - if (__t != 0) __t else null - } - case 3 => { - val __t = weight - if (__t != 0) __t else null - } + case 2 => options.orNull } } def getField(__field: _root_.scalapb.descriptors.FieldDescriptor): _root_.scalapb.descriptors.PValue = { require(__field.containingMessage eq companion.scalaDescriptor) (__field.number: @_root_.scala.unchecked) match { case 1 => uast.map(_.toPMessage).getOrElse(_root_.scalapb.descriptors.PEmpty) - case 2 => _root_.scalapb.descriptors.PInt(docfreqThreshold) - case 3 => _root_.scalapb.descriptors.PInt(weight) + case 2 => options.map(_.toPMessage).getOrElse(_root_.scalapb.descriptors.PEmpty) } } def toProtoString: _root_.scala.Predef.String = _root_.scalapb.TextFormat.printToUnicodeString(this) @@ -110,8 +90,7 @@ object GraphletRequest extends scalapb.GeneratedMessageCompanion[tech.sourced.fe val __fields = javaDescriptor.getFields tech.sourced.featurext.generated.service.GraphletRequest( __fieldsMap.get(__fields.get(0)).asInstanceOf[scala.Option[gopkg.in.bblfsh.sdk.v1.uast.generated.Node]], - __fieldsMap.getOrElse(__fields.get(1), 0).asInstanceOf[_root_.scala.Int], - __fieldsMap.getOrElse(__fields.get(2), 0).asInstanceOf[_root_.scala.Int] + __fieldsMap.get(__fields.get(1)).asInstanceOf[scala.Option[tech.sourced.featurext.generated.service.GraphletOptions]] ) } implicit def messageReads: _root_.scalapb.descriptors.Reads[tech.sourced.featurext.generated.service.GraphletRequest] = _root_.scalapb.descriptors.Reads{ @@ -119,17 +98,17 @@ object GraphletRequest extends scalapb.GeneratedMessageCompanion[tech.sourced.fe require(__fieldsMap.keys.forall(_.containingMessage == scalaDescriptor), "FieldDescriptor does not match message type.") tech.sourced.featurext.generated.service.GraphletRequest( __fieldsMap.get(scalaDescriptor.findFieldByNumber(1).get).flatMap(_.as[scala.Option[gopkg.in.bblfsh.sdk.v1.uast.generated.Node]]), - __fieldsMap.get(scalaDescriptor.findFieldByNumber(2).get).map(_.as[_root_.scala.Int]).getOrElse(0), - __fieldsMap.get(scalaDescriptor.findFieldByNumber(3).get).map(_.as[_root_.scala.Int]).getOrElse(0) + __fieldsMap.get(scalaDescriptor.findFieldByNumber(2).get).flatMap(_.as[scala.Option[tech.sourced.featurext.generated.service.GraphletOptions]]) ) case _ => throw new RuntimeException("Expected PMessage") } - def javaDescriptor: _root_.com.google.protobuf.Descriptors.Descriptor = ServiceProto.javaDescriptor.getMessageTypes.get(3) - def scalaDescriptor: _root_.scalapb.descriptors.Descriptor = ServiceProto.scalaDescriptor.messages(3) + def javaDescriptor: _root_.com.google.protobuf.Descriptors.Descriptor = ServiceProto.javaDescriptor.getMessageTypes.get(8) + def scalaDescriptor: _root_.scalapb.descriptors.Descriptor = ServiceProto.scalaDescriptor.messages(8) def messageCompanionForFieldNumber(__number: _root_.scala.Int): _root_.scalapb.GeneratedMessageCompanion[_] = { var __out: _root_.scalapb.GeneratedMessageCompanion[_] = null (__number: @_root_.scala.unchecked) match { case 1 => __out = gopkg.in.bblfsh.sdk.v1.uast.generated.Node + case 2 => __out = tech.sourced.featurext.generated.service.GraphletOptions } __out } @@ -140,10 +119,9 @@ object GraphletRequest extends scalapb.GeneratedMessageCompanion[tech.sourced.fe implicit class GraphletRequestLens[UpperPB](_l: _root_.scalapb.lenses.Lens[UpperPB, tech.sourced.featurext.generated.service.GraphletRequest]) extends _root_.scalapb.lenses.ObjectLens[UpperPB, tech.sourced.featurext.generated.service.GraphletRequest](_l) { def uast: _root_.scalapb.lenses.Lens[UpperPB, gopkg.in.bblfsh.sdk.v1.uast.generated.Node] = field(_.getUast)((c_, f_) => c_.copy(uast = Option(f_))) def optionalUast: _root_.scalapb.lenses.Lens[UpperPB, scala.Option[gopkg.in.bblfsh.sdk.v1.uast.generated.Node]] = field(_.uast)((c_, f_) => c_.copy(uast = f_)) - def docfreqThreshold: _root_.scalapb.lenses.Lens[UpperPB, _root_.scala.Int] = field(_.docfreqThreshold)((c_, f_) => c_.copy(docfreqThreshold = f_)) - def weight: _root_.scalapb.lenses.Lens[UpperPB, _root_.scala.Int] = field(_.weight)((c_, f_) => c_.copy(weight = f_)) + def options: _root_.scalapb.lenses.Lens[UpperPB, tech.sourced.featurext.generated.service.GraphletOptions] = field(_.getOptions)((c_, f_) => c_.copy(options = Option(f_))) + def optionalOptions: _root_.scalapb.lenses.Lens[UpperPB, scala.Option[tech.sourced.featurext.generated.service.GraphletOptions]] = field(_.options)((c_, f_) => c_.copy(options = f_)) } final val UAST_FIELD_NUMBER = 1 - final val DOCFREQTHRESHOLD_FIELD_NUMBER = 2 - final val WEIGHT_FIELD_NUMBER = 3 + final val OPTIONS_FIELD_NUMBER = 2 } diff --git a/src/main/scala/tech/sourced/featurext/generated/service/IdentifiersOptions.scala b/src/main/scala/tech/sourced/featurext/generated/service/IdentifiersOptions.scala new file mode 100644 index 00000000..0f8cb1f4 --- /dev/null +++ b/src/main/scala/tech/sourced/featurext/generated/service/IdentifiersOptions.scala @@ -0,0 +1,142 @@ +// Generated by the Scala Plugin for the Protocol Buffer Compiler. +// Do not edit! +// +// Protofile syntax: PROTO3 + +package tech.sourced.featurext.generated.service + +@SerialVersionUID(0L) +final case class IdentifiersOptions( + docfreqThreshold: _root_.scala.Int = 0, + weight: _root_.scala.Int = 0, + splitStem: _root_.scala.Boolean = false + ) extends scalapb.GeneratedMessage with scalapb.Message[IdentifiersOptions] with scalapb.lenses.Updatable[IdentifiersOptions] { + @transient + private[this] var __serializedSizeCachedValue: _root_.scala.Int = 0 + private[this] def __computeSerializedValue(): _root_.scala.Int = { + var __size = 0 + if (docfreqThreshold != 0) { __size += _root_.com.google.protobuf.CodedOutputStream.computeInt32Size(1, docfreqThreshold) } + if (weight != 0) { __size += _root_.com.google.protobuf.CodedOutputStream.computeInt32Size(2, weight) } + if (splitStem != false) { __size += _root_.com.google.protobuf.CodedOutputStream.computeBoolSize(3, splitStem) } + __size + } + final override def serializedSize: _root_.scala.Int = { + var read = __serializedSizeCachedValue + if (read == 0) { + read = __computeSerializedValue() + __serializedSizeCachedValue = read + } + read + } + def writeTo(`_output__`: _root_.com.google.protobuf.CodedOutputStream): Unit = { + { + val __v = docfreqThreshold + if (__v != 0) { + _output__.writeInt32(1, __v) + } + }; + { + val __v = weight + if (__v != 0) { + _output__.writeInt32(2, __v) + } + }; + { + val __v = splitStem + if (__v != false) { + _output__.writeBool(3, __v) + } + }; + } + def mergeFrom(`_input__`: _root_.com.google.protobuf.CodedInputStream): tech.sourced.featurext.generated.service.IdentifiersOptions = { + var __docfreqThreshold = this.docfreqThreshold + var __weight = this.weight + var __splitStem = this.splitStem + var _done__ = false + while (!_done__) { + val _tag__ = _input__.readTag() + _tag__ match { + case 0 => _done__ = true + case 8 => + __docfreqThreshold = _input__.readInt32() + case 16 => + __weight = _input__.readInt32() + case 24 => + __splitStem = _input__.readBool() + case tag => _input__.skipField(tag) + } + } + tech.sourced.featurext.generated.service.IdentifiersOptions( + docfreqThreshold = __docfreqThreshold, + weight = __weight, + splitStem = __splitStem + ) + } + def withDocfreqThreshold(__v: _root_.scala.Int): IdentifiersOptions = copy(docfreqThreshold = __v) + def withWeight(__v: _root_.scala.Int): IdentifiersOptions = copy(weight = __v) + def withSplitStem(__v: _root_.scala.Boolean): IdentifiersOptions = copy(splitStem = __v) + def getFieldByNumber(__fieldNumber: _root_.scala.Int): scala.Any = { + (__fieldNumber: @_root_.scala.unchecked) match { + case 1 => { + val __t = docfreqThreshold + if (__t != 0) __t else null + } + case 2 => { + val __t = weight + if (__t != 0) __t else null + } + case 3 => { + val __t = splitStem + if (__t != false) __t else null + } + } + } + def getField(__field: _root_.scalapb.descriptors.FieldDescriptor): _root_.scalapb.descriptors.PValue = { + require(__field.containingMessage eq companion.scalaDescriptor) + (__field.number: @_root_.scala.unchecked) match { + case 1 => _root_.scalapb.descriptors.PInt(docfreqThreshold) + case 2 => _root_.scalapb.descriptors.PInt(weight) + case 3 => _root_.scalapb.descriptors.PBoolean(splitStem) + } + } + def toProtoString: _root_.scala.Predef.String = _root_.scalapb.TextFormat.printToUnicodeString(this) + def companion = tech.sourced.featurext.generated.service.IdentifiersOptions +} + +object IdentifiersOptions extends scalapb.GeneratedMessageCompanion[tech.sourced.featurext.generated.service.IdentifiersOptions] { + implicit def messageCompanion: scalapb.GeneratedMessageCompanion[tech.sourced.featurext.generated.service.IdentifiersOptions] = this + def fromFieldsMap(__fieldsMap: scala.collection.immutable.Map[_root_.com.google.protobuf.Descriptors.FieldDescriptor, scala.Any]): tech.sourced.featurext.generated.service.IdentifiersOptions = { + require(__fieldsMap.keys.forall(_.getContainingType() == javaDescriptor), "FieldDescriptor does not match message type.") + val __fields = javaDescriptor.getFields + tech.sourced.featurext.generated.service.IdentifiersOptions( + __fieldsMap.getOrElse(__fields.get(0), 0).asInstanceOf[_root_.scala.Int], + __fieldsMap.getOrElse(__fields.get(1), 0).asInstanceOf[_root_.scala.Int], + __fieldsMap.getOrElse(__fields.get(2), false).asInstanceOf[_root_.scala.Boolean] + ) + } + implicit def messageReads: _root_.scalapb.descriptors.Reads[tech.sourced.featurext.generated.service.IdentifiersOptions] = _root_.scalapb.descriptors.Reads{ + case _root_.scalapb.descriptors.PMessage(__fieldsMap) => + require(__fieldsMap.keys.forall(_.containingMessage == scalaDescriptor), "FieldDescriptor does not match message type.") + tech.sourced.featurext.generated.service.IdentifiersOptions( + __fieldsMap.get(scalaDescriptor.findFieldByNumber(1).get).map(_.as[_root_.scala.Int]).getOrElse(0), + __fieldsMap.get(scalaDescriptor.findFieldByNumber(2).get).map(_.as[_root_.scala.Int]).getOrElse(0), + __fieldsMap.get(scalaDescriptor.findFieldByNumber(3).get).map(_.as[_root_.scala.Boolean]).getOrElse(false) + ) + case _ => throw new RuntimeException("Expected PMessage") + } + def javaDescriptor: _root_.com.google.protobuf.Descriptors.Descriptor = ServiceProto.javaDescriptor.getMessageTypes.get(0) + def scalaDescriptor: _root_.scalapb.descriptors.Descriptor = ServiceProto.scalaDescriptor.messages(0) + def messageCompanionForFieldNumber(__number: _root_.scala.Int): _root_.scalapb.GeneratedMessageCompanion[_] = throw new MatchError(__number) + lazy val nestedMessagesCompanions: Seq[_root_.scalapb.GeneratedMessageCompanion[_]] = Seq.empty + def enumCompanionForFieldNumber(__fieldNumber: _root_.scala.Int): _root_.scalapb.GeneratedEnumCompanion[_] = throw new MatchError(__fieldNumber) + lazy val defaultInstance = tech.sourced.featurext.generated.service.IdentifiersOptions( + ) + implicit class IdentifiersOptionsLens[UpperPB](_l: _root_.scalapb.lenses.Lens[UpperPB, tech.sourced.featurext.generated.service.IdentifiersOptions]) extends _root_.scalapb.lenses.ObjectLens[UpperPB, tech.sourced.featurext.generated.service.IdentifiersOptions](_l) { + def docfreqThreshold: _root_.scalapb.lenses.Lens[UpperPB, _root_.scala.Int] = field(_.docfreqThreshold)((c_, f_) => c_.copy(docfreqThreshold = f_)) + def weight: _root_.scalapb.lenses.Lens[UpperPB, _root_.scala.Int] = field(_.weight)((c_, f_) => c_.copy(weight = f_)) + def splitStem: _root_.scalapb.lenses.Lens[UpperPB, _root_.scala.Boolean] = field(_.splitStem)((c_, f_) => c_.copy(splitStem = f_)) + } + final val DOCFREQTHRESHOLD_FIELD_NUMBER = 1 + final val WEIGHT_FIELD_NUMBER = 2 + final val SPLITSTEM_FIELD_NUMBER = 3 +} diff --git a/src/main/scala/tech/sourced/featurext/generated/service/IdentifiersRequest.scala b/src/main/scala/tech/sourced/featurext/generated/service/IdentifiersRequest.scala index 6ff844e8..13bb2030 100644 --- a/src/main/scala/tech/sourced/featurext/generated/service/IdentifiersRequest.scala +++ b/src/main/scala/tech/sourced/featurext/generated/service/IdentifiersRequest.scala @@ -10,18 +10,14 @@ package tech.sourced.featurext.generated.service @SerialVersionUID(0L) final case class IdentifiersRequest( uast: scala.Option[gopkg.in.bblfsh.sdk.v1.uast.generated.Node] = None, - docfreqThreshold: _root_.scala.Int = 0, - weight: _root_.scala.Int = 0, - splitStem: _root_.scala.Boolean = false + options: scala.Option[tech.sourced.featurext.generated.service.IdentifiersOptions] = None ) extends scalapb.GeneratedMessage with scalapb.Message[IdentifiersRequest] with scalapb.lenses.Updatable[IdentifiersRequest] { @transient private[this] var __serializedSizeCachedValue: _root_.scala.Int = 0 private[this] def __computeSerializedValue(): _root_.scala.Int = { var __size = 0 if (uast.isDefined) { __size += 1 + _root_.com.google.protobuf.CodedOutputStream.computeUInt32SizeNoTag(uast.get.serializedSize) + uast.get.serializedSize } - if (docfreqThreshold != 0) { __size += _root_.com.google.protobuf.CodedOutputStream.computeInt32Size(2, docfreqThreshold) } - if (weight != 0) { __size += _root_.com.google.protobuf.CodedOutputStream.computeInt32Size(3, weight) } - if (splitStem != false) { __size += _root_.com.google.protobuf.CodedOutputStream.computeBoolSize(4, splitStem) } + if (options.isDefined) { __size += 1 + _root_.com.google.protobuf.CodedOutputStream.computeUInt32SizeNoTag(options.get.serializedSize) + options.get.serializedSize } __size } final override def serializedSize: _root_.scala.Int = { @@ -38,30 +34,15 @@ final case class IdentifiersRequest( _output__.writeUInt32NoTag(__v.serializedSize) __v.writeTo(_output__) }; - { - val __v = docfreqThreshold - if (__v != 0) { - _output__.writeInt32(2, __v) - } - }; - { - val __v = weight - if (__v != 0) { - _output__.writeInt32(3, __v) - } - }; - { - val __v = splitStem - if (__v != false) { - _output__.writeBool(4, __v) - } + options.foreach { __v => + _output__.writeTag(2, 2) + _output__.writeUInt32NoTag(__v.serializedSize) + __v.writeTo(_output__) }; } def mergeFrom(`_input__`: _root_.com.google.protobuf.CodedInputStream): tech.sourced.featurext.generated.service.IdentifiersRequest = { var __uast = this.uast - var __docfreqThreshold = this.docfreqThreshold - var __weight = this.weight - var __splitStem = this.splitStem + var __options = this.options var _done__ = false while (!_done__) { val _tag__ = _input__.readTag() @@ -69,52 +50,33 @@ final case class IdentifiersRequest( case 0 => _done__ = true case 10 => __uast = Option(_root_.scalapb.LiteParser.readMessage(_input__, __uast.getOrElse(gopkg.in.bblfsh.sdk.v1.uast.generated.Node.defaultInstance))) - case 16 => - __docfreqThreshold = _input__.readInt32() - case 24 => - __weight = _input__.readInt32() - case 32 => - __splitStem = _input__.readBool() + case 18 => + __options = Option(_root_.scalapb.LiteParser.readMessage(_input__, __options.getOrElse(tech.sourced.featurext.generated.service.IdentifiersOptions.defaultInstance))) case tag => _input__.skipField(tag) } } tech.sourced.featurext.generated.service.IdentifiersRequest( uast = __uast, - docfreqThreshold = __docfreqThreshold, - weight = __weight, - splitStem = __splitStem + options = __options ) } def getUast: gopkg.in.bblfsh.sdk.v1.uast.generated.Node = uast.getOrElse(gopkg.in.bblfsh.sdk.v1.uast.generated.Node.defaultInstance) def clearUast: IdentifiersRequest = copy(uast = None) def withUast(__v: gopkg.in.bblfsh.sdk.v1.uast.generated.Node): IdentifiersRequest = copy(uast = Option(__v)) - def withDocfreqThreshold(__v: _root_.scala.Int): IdentifiersRequest = copy(docfreqThreshold = __v) - def withWeight(__v: _root_.scala.Int): IdentifiersRequest = copy(weight = __v) - def withSplitStem(__v: _root_.scala.Boolean): IdentifiersRequest = copy(splitStem = __v) + def getOptions: tech.sourced.featurext.generated.service.IdentifiersOptions = options.getOrElse(tech.sourced.featurext.generated.service.IdentifiersOptions.defaultInstance) + def clearOptions: IdentifiersRequest = copy(options = None) + def withOptions(__v: tech.sourced.featurext.generated.service.IdentifiersOptions): IdentifiersRequest = copy(options = Option(__v)) def getFieldByNumber(__fieldNumber: _root_.scala.Int): scala.Any = { (__fieldNumber: @_root_.scala.unchecked) match { case 1 => uast.orNull - case 2 => { - val __t = docfreqThreshold - if (__t != 0) __t else null - } - case 3 => { - val __t = weight - if (__t != 0) __t else null - } - case 4 => { - val __t = splitStem - if (__t != false) __t else null - } + case 2 => options.orNull } } def getField(__field: _root_.scalapb.descriptors.FieldDescriptor): _root_.scalapb.descriptors.PValue = { require(__field.containingMessage eq companion.scalaDescriptor) (__field.number: @_root_.scala.unchecked) match { case 1 => uast.map(_.toPMessage).getOrElse(_root_.scalapb.descriptors.PEmpty) - case 2 => _root_.scalapb.descriptors.PInt(docfreqThreshold) - case 3 => _root_.scalapb.descriptors.PInt(weight) - case 4 => _root_.scalapb.descriptors.PBoolean(splitStem) + case 2 => options.map(_.toPMessage).getOrElse(_root_.scalapb.descriptors.PEmpty) } } def toProtoString: _root_.scala.Predef.String = _root_.scalapb.TextFormat.printToUnicodeString(this) @@ -128,9 +90,7 @@ object IdentifiersRequest extends scalapb.GeneratedMessageCompanion[tech.sourced val __fields = javaDescriptor.getFields tech.sourced.featurext.generated.service.IdentifiersRequest( __fieldsMap.get(__fields.get(0)).asInstanceOf[scala.Option[gopkg.in.bblfsh.sdk.v1.uast.generated.Node]], - __fieldsMap.getOrElse(__fields.get(1), 0).asInstanceOf[_root_.scala.Int], - __fieldsMap.getOrElse(__fields.get(2), 0).asInstanceOf[_root_.scala.Int], - __fieldsMap.getOrElse(__fields.get(3), false).asInstanceOf[_root_.scala.Boolean] + __fieldsMap.get(__fields.get(1)).asInstanceOf[scala.Option[tech.sourced.featurext.generated.service.IdentifiersOptions]] ) } implicit def messageReads: _root_.scalapb.descriptors.Reads[tech.sourced.featurext.generated.service.IdentifiersRequest] = _root_.scalapb.descriptors.Reads{ @@ -138,18 +98,17 @@ object IdentifiersRequest extends scalapb.GeneratedMessageCompanion[tech.sourced require(__fieldsMap.keys.forall(_.containingMessage == scalaDescriptor), "FieldDescriptor does not match message type.") tech.sourced.featurext.generated.service.IdentifiersRequest( __fieldsMap.get(scalaDescriptor.findFieldByNumber(1).get).flatMap(_.as[scala.Option[gopkg.in.bblfsh.sdk.v1.uast.generated.Node]]), - __fieldsMap.get(scalaDescriptor.findFieldByNumber(2).get).map(_.as[_root_.scala.Int]).getOrElse(0), - __fieldsMap.get(scalaDescriptor.findFieldByNumber(3).get).map(_.as[_root_.scala.Int]).getOrElse(0), - __fieldsMap.get(scalaDescriptor.findFieldByNumber(4).get).map(_.as[_root_.scala.Boolean]).getOrElse(false) + __fieldsMap.get(scalaDescriptor.findFieldByNumber(2).get).flatMap(_.as[scala.Option[tech.sourced.featurext.generated.service.IdentifiersOptions]]) ) case _ => throw new RuntimeException("Expected PMessage") } - def javaDescriptor: _root_.com.google.protobuf.Descriptors.Descriptor = ServiceProto.javaDescriptor.getMessageTypes.get(0) - def scalaDescriptor: _root_.scalapb.descriptors.Descriptor = ServiceProto.scalaDescriptor.messages(0) + def javaDescriptor: _root_.com.google.protobuf.Descriptors.Descriptor = ServiceProto.javaDescriptor.getMessageTypes.get(5) + def scalaDescriptor: _root_.scalapb.descriptors.Descriptor = ServiceProto.scalaDescriptor.messages(5) def messageCompanionForFieldNumber(__number: _root_.scala.Int): _root_.scalapb.GeneratedMessageCompanion[_] = { var __out: _root_.scalapb.GeneratedMessageCompanion[_] = null (__number: @_root_.scala.unchecked) match { case 1 => __out = gopkg.in.bblfsh.sdk.v1.uast.generated.Node + case 2 => __out = tech.sourced.featurext.generated.service.IdentifiersOptions } __out } @@ -160,12 +119,9 @@ object IdentifiersRequest extends scalapb.GeneratedMessageCompanion[tech.sourced implicit class IdentifiersRequestLens[UpperPB](_l: _root_.scalapb.lenses.Lens[UpperPB, tech.sourced.featurext.generated.service.IdentifiersRequest]) extends _root_.scalapb.lenses.ObjectLens[UpperPB, tech.sourced.featurext.generated.service.IdentifiersRequest](_l) { def uast: _root_.scalapb.lenses.Lens[UpperPB, gopkg.in.bblfsh.sdk.v1.uast.generated.Node] = field(_.getUast)((c_, f_) => c_.copy(uast = Option(f_))) def optionalUast: _root_.scalapb.lenses.Lens[UpperPB, scala.Option[gopkg.in.bblfsh.sdk.v1.uast.generated.Node]] = field(_.uast)((c_, f_) => c_.copy(uast = f_)) - def docfreqThreshold: _root_.scalapb.lenses.Lens[UpperPB, _root_.scala.Int] = field(_.docfreqThreshold)((c_, f_) => c_.copy(docfreqThreshold = f_)) - def weight: _root_.scalapb.lenses.Lens[UpperPB, _root_.scala.Int] = field(_.weight)((c_, f_) => c_.copy(weight = f_)) - def splitStem: _root_.scalapb.lenses.Lens[UpperPB, _root_.scala.Boolean] = field(_.splitStem)((c_, f_) => c_.copy(splitStem = f_)) + def options: _root_.scalapb.lenses.Lens[UpperPB, tech.sourced.featurext.generated.service.IdentifiersOptions] = field(_.getOptions)((c_, f_) => c_.copy(options = Option(f_))) + def optionalOptions: _root_.scalapb.lenses.Lens[UpperPB, scala.Option[tech.sourced.featurext.generated.service.IdentifiersOptions]] = field(_.options)((c_, f_) => c_.copy(options = f_)) } final val UAST_FIELD_NUMBER = 1 - final val DOCFREQTHRESHOLD_FIELD_NUMBER = 2 - final val WEIGHT_FIELD_NUMBER = 3 - final val SPLITSTEM_FIELD_NUMBER = 4 + final val OPTIONS_FIELD_NUMBER = 2 } diff --git a/src/main/scala/tech/sourced/featurext/generated/service/LiteralsOptions.scala b/src/main/scala/tech/sourced/featurext/generated/service/LiteralsOptions.scala new file mode 100644 index 00000000..98771047 --- /dev/null +++ b/src/main/scala/tech/sourced/featurext/generated/service/LiteralsOptions.scala @@ -0,0 +1,120 @@ +// Generated by the Scala Plugin for the Protocol Buffer Compiler. +// Do not edit! +// +// Protofile syntax: PROTO3 + +package tech.sourced.featurext.generated.service + +@SerialVersionUID(0L) +final case class LiteralsOptions( + docfreqThreshold: _root_.scala.Int = 0, + weight: _root_.scala.Int = 0 + ) extends scalapb.GeneratedMessage with scalapb.Message[LiteralsOptions] with scalapb.lenses.Updatable[LiteralsOptions] { + @transient + private[this] var __serializedSizeCachedValue: _root_.scala.Int = 0 + private[this] def __computeSerializedValue(): _root_.scala.Int = { + var __size = 0 + if (docfreqThreshold != 0) { __size += _root_.com.google.protobuf.CodedOutputStream.computeInt32Size(1, docfreqThreshold) } + if (weight != 0) { __size += _root_.com.google.protobuf.CodedOutputStream.computeInt32Size(2, weight) } + __size + } + final override def serializedSize: _root_.scala.Int = { + var read = __serializedSizeCachedValue + if (read == 0) { + read = __computeSerializedValue() + __serializedSizeCachedValue = read + } + read + } + def writeTo(`_output__`: _root_.com.google.protobuf.CodedOutputStream): Unit = { + { + val __v = docfreqThreshold + if (__v != 0) { + _output__.writeInt32(1, __v) + } + }; + { + val __v = weight + if (__v != 0) { + _output__.writeInt32(2, __v) + } + }; + } + def mergeFrom(`_input__`: _root_.com.google.protobuf.CodedInputStream): tech.sourced.featurext.generated.service.LiteralsOptions = { + var __docfreqThreshold = this.docfreqThreshold + var __weight = this.weight + var _done__ = false + while (!_done__) { + val _tag__ = _input__.readTag() + _tag__ match { + case 0 => _done__ = true + case 8 => + __docfreqThreshold = _input__.readInt32() + case 16 => + __weight = _input__.readInt32() + case tag => _input__.skipField(tag) + } + } + tech.sourced.featurext.generated.service.LiteralsOptions( + docfreqThreshold = __docfreqThreshold, + weight = __weight + ) + } + def withDocfreqThreshold(__v: _root_.scala.Int): LiteralsOptions = copy(docfreqThreshold = __v) + def withWeight(__v: _root_.scala.Int): LiteralsOptions = copy(weight = __v) + def getFieldByNumber(__fieldNumber: _root_.scala.Int): scala.Any = { + (__fieldNumber: @_root_.scala.unchecked) match { + case 1 => { + val __t = docfreqThreshold + if (__t != 0) __t else null + } + case 2 => { + val __t = weight + if (__t != 0) __t else null + } + } + } + def getField(__field: _root_.scalapb.descriptors.FieldDescriptor): _root_.scalapb.descriptors.PValue = { + require(__field.containingMessage eq companion.scalaDescriptor) + (__field.number: @_root_.scala.unchecked) match { + case 1 => _root_.scalapb.descriptors.PInt(docfreqThreshold) + case 2 => _root_.scalapb.descriptors.PInt(weight) + } + } + def toProtoString: _root_.scala.Predef.String = _root_.scalapb.TextFormat.printToUnicodeString(this) + def companion = tech.sourced.featurext.generated.service.LiteralsOptions +} + +object LiteralsOptions extends scalapb.GeneratedMessageCompanion[tech.sourced.featurext.generated.service.LiteralsOptions] { + implicit def messageCompanion: scalapb.GeneratedMessageCompanion[tech.sourced.featurext.generated.service.LiteralsOptions] = this + def fromFieldsMap(__fieldsMap: scala.collection.immutable.Map[_root_.com.google.protobuf.Descriptors.FieldDescriptor, scala.Any]): tech.sourced.featurext.generated.service.LiteralsOptions = { + require(__fieldsMap.keys.forall(_.getContainingType() == javaDescriptor), "FieldDescriptor does not match message type.") + val __fields = javaDescriptor.getFields + tech.sourced.featurext.generated.service.LiteralsOptions( + __fieldsMap.getOrElse(__fields.get(0), 0).asInstanceOf[_root_.scala.Int], + __fieldsMap.getOrElse(__fields.get(1), 0).asInstanceOf[_root_.scala.Int] + ) + } + implicit def messageReads: _root_.scalapb.descriptors.Reads[tech.sourced.featurext.generated.service.LiteralsOptions] = _root_.scalapb.descriptors.Reads{ + case _root_.scalapb.descriptors.PMessage(__fieldsMap) => + require(__fieldsMap.keys.forall(_.containingMessage == scalaDescriptor), "FieldDescriptor does not match message type.") + tech.sourced.featurext.generated.service.LiteralsOptions( + __fieldsMap.get(scalaDescriptor.findFieldByNumber(1).get).map(_.as[_root_.scala.Int]).getOrElse(0), + __fieldsMap.get(scalaDescriptor.findFieldByNumber(2).get).map(_.as[_root_.scala.Int]).getOrElse(0) + ) + case _ => throw new RuntimeException("Expected PMessage") + } + def javaDescriptor: _root_.com.google.protobuf.Descriptors.Descriptor = ServiceProto.javaDescriptor.getMessageTypes.get(1) + def scalaDescriptor: _root_.scalapb.descriptors.Descriptor = ServiceProto.scalaDescriptor.messages(1) + def messageCompanionForFieldNumber(__number: _root_.scala.Int): _root_.scalapb.GeneratedMessageCompanion[_] = throw new MatchError(__number) + lazy val nestedMessagesCompanions: Seq[_root_.scalapb.GeneratedMessageCompanion[_]] = Seq.empty + def enumCompanionForFieldNumber(__fieldNumber: _root_.scala.Int): _root_.scalapb.GeneratedEnumCompanion[_] = throw new MatchError(__fieldNumber) + lazy val defaultInstance = tech.sourced.featurext.generated.service.LiteralsOptions( + ) + implicit class LiteralsOptionsLens[UpperPB](_l: _root_.scalapb.lenses.Lens[UpperPB, tech.sourced.featurext.generated.service.LiteralsOptions]) extends _root_.scalapb.lenses.ObjectLens[UpperPB, tech.sourced.featurext.generated.service.LiteralsOptions](_l) { + def docfreqThreshold: _root_.scalapb.lenses.Lens[UpperPB, _root_.scala.Int] = field(_.docfreqThreshold)((c_, f_) => c_.copy(docfreqThreshold = f_)) + def weight: _root_.scalapb.lenses.Lens[UpperPB, _root_.scala.Int] = field(_.weight)((c_, f_) => c_.copy(weight = f_)) + } + final val DOCFREQTHRESHOLD_FIELD_NUMBER = 1 + final val WEIGHT_FIELD_NUMBER = 2 +} diff --git a/src/main/scala/tech/sourced/featurext/generated/service/LiteralsRequest.scala b/src/main/scala/tech/sourced/featurext/generated/service/LiteralsRequest.scala index 9873f583..78b9cb71 100644 --- a/src/main/scala/tech/sourced/featurext/generated/service/LiteralsRequest.scala +++ b/src/main/scala/tech/sourced/featurext/generated/service/LiteralsRequest.scala @@ -10,16 +10,14 @@ package tech.sourced.featurext.generated.service @SerialVersionUID(0L) final case class LiteralsRequest( uast: scala.Option[gopkg.in.bblfsh.sdk.v1.uast.generated.Node] = None, - docfreqThreshold: _root_.scala.Int = 0, - weight: _root_.scala.Int = 0 + options: scala.Option[tech.sourced.featurext.generated.service.LiteralsOptions] = None ) extends scalapb.GeneratedMessage with scalapb.Message[LiteralsRequest] with scalapb.lenses.Updatable[LiteralsRequest] { @transient private[this] var __serializedSizeCachedValue: _root_.scala.Int = 0 private[this] def __computeSerializedValue(): _root_.scala.Int = { var __size = 0 if (uast.isDefined) { __size += 1 + _root_.com.google.protobuf.CodedOutputStream.computeUInt32SizeNoTag(uast.get.serializedSize) + uast.get.serializedSize } - if (docfreqThreshold != 0) { __size += _root_.com.google.protobuf.CodedOutputStream.computeInt32Size(2, docfreqThreshold) } - if (weight != 0) { __size += _root_.com.google.protobuf.CodedOutputStream.computeInt32Size(3, weight) } + if (options.isDefined) { __size += 1 + _root_.com.google.protobuf.CodedOutputStream.computeUInt32SizeNoTag(options.get.serializedSize) + options.get.serializedSize } __size } final override def serializedSize: _root_.scala.Int = { @@ -36,23 +34,15 @@ final case class LiteralsRequest( _output__.writeUInt32NoTag(__v.serializedSize) __v.writeTo(_output__) }; - { - val __v = docfreqThreshold - if (__v != 0) { - _output__.writeInt32(2, __v) - } - }; - { - val __v = weight - if (__v != 0) { - _output__.writeInt32(3, __v) - } + options.foreach { __v => + _output__.writeTag(2, 2) + _output__.writeUInt32NoTag(__v.serializedSize) + __v.writeTo(_output__) }; } def mergeFrom(`_input__`: _root_.com.google.protobuf.CodedInputStream): tech.sourced.featurext.generated.service.LiteralsRequest = { var __uast = this.uast - var __docfreqThreshold = this.docfreqThreshold - var __weight = this.weight + var __options = this.options var _done__ = false while (!_done__) { val _tag__ = _input__.readTag() @@ -60,43 +50,33 @@ final case class LiteralsRequest( case 0 => _done__ = true case 10 => __uast = Option(_root_.scalapb.LiteParser.readMessage(_input__, __uast.getOrElse(gopkg.in.bblfsh.sdk.v1.uast.generated.Node.defaultInstance))) - case 16 => - __docfreqThreshold = _input__.readInt32() - case 24 => - __weight = _input__.readInt32() + case 18 => + __options = Option(_root_.scalapb.LiteParser.readMessage(_input__, __options.getOrElse(tech.sourced.featurext.generated.service.LiteralsOptions.defaultInstance))) case tag => _input__.skipField(tag) } } tech.sourced.featurext.generated.service.LiteralsRequest( uast = __uast, - docfreqThreshold = __docfreqThreshold, - weight = __weight + options = __options ) } def getUast: gopkg.in.bblfsh.sdk.v1.uast.generated.Node = uast.getOrElse(gopkg.in.bblfsh.sdk.v1.uast.generated.Node.defaultInstance) def clearUast: LiteralsRequest = copy(uast = None) def withUast(__v: gopkg.in.bblfsh.sdk.v1.uast.generated.Node): LiteralsRequest = copy(uast = Option(__v)) - def withDocfreqThreshold(__v: _root_.scala.Int): LiteralsRequest = copy(docfreqThreshold = __v) - def withWeight(__v: _root_.scala.Int): LiteralsRequest = copy(weight = __v) + def getOptions: tech.sourced.featurext.generated.service.LiteralsOptions = options.getOrElse(tech.sourced.featurext.generated.service.LiteralsOptions.defaultInstance) + def clearOptions: LiteralsRequest = copy(options = None) + def withOptions(__v: tech.sourced.featurext.generated.service.LiteralsOptions): LiteralsRequest = copy(options = Option(__v)) def getFieldByNumber(__fieldNumber: _root_.scala.Int): scala.Any = { (__fieldNumber: @_root_.scala.unchecked) match { case 1 => uast.orNull - case 2 => { - val __t = docfreqThreshold - if (__t != 0) __t else null - } - case 3 => { - val __t = weight - if (__t != 0) __t else null - } + case 2 => options.orNull } } def getField(__field: _root_.scalapb.descriptors.FieldDescriptor): _root_.scalapb.descriptors.PValue = { require(__field.containingMessage eq companion.scalaDescriptor) (__field.number: @_root_.scala.unchecked) match { case 1 => uast.map(_.toPMessage).getOrElse(_root_.scalapb.descriptors.PEmpty) - case 2 => _root_.scalapb.descriptors.PInt(docfreqThreshold) - case 3 => _root_.scalapb.descriptors.PInt(weight) + case 2 => options.map(_.toPMessage).getOrElse(_root_.scalapb.descriptors.PEmpty) } } def toProtoString: _root_.scala.Predef.String = _root_.scalapb.TextFormat.printToUnicodeString(this) @@ -110,8 +90,7 @@ object LiteralsRequest extends scalapb.GeneratedMessageCompanion[tech.sourced.fe val __fields = javaDescriptor.getFields tech.sourced.featurext.generated.service.LiteralsRequest( __fieldsMap.get(__fields.get(0)).asInstanceOf[scala.Option[gopkg.in.bblfsh.sdk.v1.uast.generated.Node]], - __fieldsMap.getOrElse(__fields.get(1), 0).asInstanceOf[_root_.scala.Int], - __fieldsMap.getOrElse(__fields.get(2), 0).asInstanceOf[_root_.scala.Int] + __fieldsMap.get(__fields.get(1)).asInstanceOf[scala.Option[tech.sourced.featurext.generated.service.LiteralsOptions]] ) } implicit def messageReads: _root_.scalapb.descriptors.Reads[tech.sourced.featurext.generated.service.LiteralsRequest] = _root_.scalapb.descriptors.Reads{ @@ -119,17 +98,17 @@ object LiteralsRequest extends scalapb.GeneratedMessageCompanion[tech.sourced.fe require(__fieldsMap.keys.forall(_.containingMessage == scalaDescriptor), "FieldDescriptor does not match message type.") tech.sourced.featurext.generated.service.LiteralsRequest( __fieldsMap.get(scalaDescriptor.findFieldByNumber(1).get).flatMap(_.as[scala.Option[gopkg.in.bblfsh.sdk.v1.uast.generated.Node]]), - __fieldsMap.get(scalaDescriptor.findFieldByNumber(2).get).map(_.as[_root_.scala.Int]).getOrElse(0), - __fieldsMap.get(scalaDescriptor.findFieldByNumber(3).get).map(_.as[_root_.scala.Int]).getOrElse(0) + __fieldsMap.get(scalaDescriptor.findFieldByNumber(2).get).flatMap(_.as[scala.Option[tech.sourced.featurext.generated.service.LiteralsOptions]]) ) case _ => throw new RuntimeException("Expected PMessage") } - def javaDescriptor: _root_.com.google.protobuf.Descriptors.Descriptor = ServiceProto.javaDescriptor.getMessageTypes.get(1) - def scalaDescriptor: _root_.scalapb.descriptors.Descriptor = ServiceProto.scalaDescriptor.messages(1) + def javaDescriptor: _root_.com.google.protobuf.Descriptors.Descriptor = ServiceProto.javaDescriptor.getMessageTypes.get(6) + def scalaDescriptor: _root_.scalapb.descriptors.Descriptor = ServiceProto.scalaDescriptor.messages(6) def messageCompanionForFieldNumber(__number: _root_.scala.Int): _root_.scalapb.GeneratedMessageCompanion[_] = { var __out: _root_.scalapb.GeneratedMessageCompanion[_] = null (__number: @_root_.scala.unchecked) match { case 1 => __out = gopkg.in.bblfsh.sdk.v1.uast.generated.Node + case 2 => __out = tech.sourced.featurext.generated.service.LiteralsOptions } __out } @@ -140,10 +119,9 @@ object LiteralsRequest extends scalapb.GeneratedMessageCompanion[tech.sourced.fe implicit class LiteralsRequestLens[UpperPB](_l: _root_.scalapb.lenses.Lens[UpperPB, tech.sourced.featurext.generated.service.LiteralsRequest]) extends _root_.scalapb.lenses.ObjectLens[UpperPB, tech.sourced.featurext.generated.service.LiteralsRequest](_l) { def uast: _root_.scalapb.lenses.Lens[UpperPB, gopkg.in.bblfsh.sdk.v1.uast.generated.Node] = field(_.getUast)((c_, f_) => c_.copy(uast = Option(f_))) def optionalUast: _root_.scalapb.lenses.Lens[UpperPB, scala.Option[gopkg.in.bblfsh.sdk.v1.uast.generated.Node]] = field(_.uast)((c_, f_) => c_.copy(uast = f_)) - def docfreqThreshold: _root_.scalapb.lenses.Lens[UpperPB, _root_.scala.Int] = field(_.docfreqThreshold)((c_, f_) => c_.copy(docfreqThreshold = f_)) - def weight: _root_.scalapb.lenses.Lens[UpperPB, _root_.scala.Int] = field(_.weight)((c_, f_) => c_.copy(weight = f_)) + def options: _root_.scalapb.lenses.Lens[UpperPB, tech.sourced.featurext.generated.service.LiteralsOptions] = field(_.getOptions)((c_, f_) => c_.copy(options = Option(f_))) + def optionalOptions: _root_.scalapb.lenses.Lens[UpperPB, scala.Option[tech.sourced.featurext.generated.service.LiteralsOptions]] = field(_.options)((c_, f_) => c_.copy(options = f_)) } final val UAST_FIELD_NUMBER = 1 - final val DOCFREQTHRESHOLD_FIELD_NUMBER = 2 - final val WEIGHT_FIELD_NUMBER = 3 + final val OPTIONS_FIELD_NUMBER = 2 } diff --git a/src/main/scala/tech/sourced/featurext/generated/service/ServiceProto.scala b/src/main/scala/tech/sourced/featurext/generated/service/ServiceProto.scala index b2929170..f806b97b 100644 --- a/src/main/scala/tech/sourced/featurext/generated/service/ServiceProto.scala +++ b/src/main/scala/tech/sourced/featurext/generated/service/ServiceProto.scala @@ -11,6 +11,11 @@ object ServiceProto extends _root_.scalapb.GeneratedFileObject { gopkg.in.bblfsh.sdk.v1.uast.generated.GeneratedProto ) lazy val messagesCompanions: Seq[_root_.scalapb.GeneratedMessageCompanion[_]] = Seq( + tech.sourced.featurext.generated.service.IdentifiersOptions, + tech.sourced.featurext.generated.service.LiteralsOptions, + tech.sourced.featurext.generated.service.Uast2seqOptions, + tech.sourced.featurext.generated.service.GraphletOptions, + tech.sourced.featurext.generated.service.ExtractRequest, tech.sourced.featurext.generated.service.IdentifiersRequest, tech.sourced.featurext.generated.service.LiteralsRequest, tech.sourced.featurext.generated.service.Uast2seqRequest, @@ -21,25 +26,37 @@ object ServiceProto extends _root_.scalapb.GeneratedFileObject { private lazy val ProtoBytes: Array[Byte] = scalapb.Encoding.fromBase64(scala.collection.Seq( """Cg1zZXJ2aWNlLnByb3RvEiB0ZWNoLnNvdXJjZWQuZmVhdHVyZXh0LmdlbmVyYXRlZBotZ2l0aHViLmNvbS9nb2dvL3Byb3RvY - nVmL2dvZ29wcm90by9nb2dvLnByb3RvGitnb3BrZy5pbi9iYmxmc2gvc2RrLnYxL3Vhc3QvZ2VuZXJhdGVkLnByb3RvIq0BChJJZ - GVudGlmaWVyc1JlcXVlc3QSNQoEdWFzdBgBIAEoCzIhLmdvcGtnLmluLmJibGZzaC5zZGsudjEudWFzdC5Ob2RlUgR1YXN0EioKE - GRvY2ZyZXFUaHJlc2hvbGQYAiABKAVSEGRvY2ZyZXFUaHJlc2hvbGQSFgoGd2VpZ2h0GAMgASgFUgZ3ZWlnaHQSHAoJc3BsaXRTd - GVtGAQgASgIUglzcGxpdFN0ZW0ijAEKD0xpdGVyYWxzUmVxdWVzdBI1CgR1YXN0GAEgASgLMiEuZ29wa2cuaW4uYmJsZnNoLnNka - y52MS51YXN0Lk5vZGVSBHVhc3QSKgoQZG9jZnJlcVRocmVzaG9sZBgCIAEoBVIQZG9jZnJlcVRocmVzaG9sZBIWCgZ3ZWlnaHQYA - yABKAVSBndlaWdodCK8AQoPVWFzdDJzZXFSZXF1ZXN0EjUKBHVhc3QYASABKAsyIS5nb3BrZy5pbi5iYmxmc2guc2RrLnYxLnVhc - 3QuTm9kZVIEdWFzdBIqChBkb2NmcmVxVGhyZXNob2xkGAIgASgFUhBkb2NmcmVxVGhyZXNob2xkEhYKBndlaWdodBgDIAEoBVIGd - 2VpZ2h0EhYKBnN0cmlkZRgEIAEoBVIGc3RyaWRlEhYKBnNlcUxlbhgFIAMoBVIGc2VxTGVuIowBCg9HcmFwaGxldFJlcXVlc3QSN - QoEdWFzdBgBIAEoCzIhLmdvcGtnLmluLmJibGZzaC5zZGsudjEudWFzdC5Ob2RlUgR1YXN0EioKEGRvY2ZyZXFUaHJlc2hvbGQYA - iABKAVSEGRvY2ZyZXFUaHJlc2hvbGQSFgoGd2VpZ2h0GAMgASgFUgZ3ZWlnaHQiNQoHRmVhdHVyZRISCgRuYW1lGAEgASgJUgRuY - W1lEhYKBndlaWdodBgCIAEoAlIGd2VpZ2h0IlYKDUZlYXR1cmVzUmVwbHkSRQoIZmVhdHVyZXMYASADKAsyKS50ZWNoLnNvdXJjZ - WQuZmVhdHVyZXh0LmdlbmVyYXRlZC5GZWF0dXJlUghmZWF0dXJlczLgAwoQRmVhdHVyZUV4dHJhY3RvchJ2CgtJZGVudGlmaWVyc - xI0LnRlY2guc291cmNlZC5mZWF0dXJleHQuZ2VuZXJhdGVkLklkZW50aWZpZXJzUmVxdWVzdBovLnRlY2guc291cmNlZC5mZWF0d - XJleHQuZ2VuZXJhdGVkLkZlYXR1cmVzUmVwbHkiABJwCghMaXRlcmFscxIxLnRlY2guc291cmNlZC5mZWF0dXJleHQuZ2VuZXJhd - GVkLkxpdGVyYWxzUmVxdWVzdBovLnRlY2guc291cmNlZC5mZWF0dXJleHQuZ2VuZXJhdGVkLkZlYXR1cmVzUmVwbHkiABJwCghVY - XN0MnNlcRIxLnRlY2guc291cmNlZC5mZWF0dXJleHQuZ2VuZXJhdGVkLlVhc3Qyc2VxUmVxdWVzdBovLnRlY2guc291cmNlZC5mZ - WF0dXJleHQuZ2VuZXJhdGVkLkZlYXR1cmVzUmVwbHkiABJwCghHcmFwaGxldBIxLnRlY2guc291cmNlZC5mZWF0dXJleHQuZ2VuZ - XJhdGVkLkdyYXBobGV0UmVxdWVzdBovLnRlY2guc291cmNlZC5mZWF0dXJleHQuZ2VuZXJhdGVkLkZlYXR1cmVzUmVwbHkiAGIGc - HJvdG8z""" + nVmL2dvZ29wcm90by9nb2dvLnByb3RvGitnb3BrZy5pbi9iYmxmc2gvc2RrLnYxL3Vhc3QvZ2VuZXJhdGVkLnByb3RvInYKEklkZ + W50aWZpZXJzT3B0aW9ucxIqChBkb2NmcmVxVGhyZXNob2xkGAEgASgFUhBkb2NmcmVxVGhyZXNob2xkEhYKBndlaWdodBgCIAEoB + VIGd2VpZ2h0EhwKCXNwbGl0U3RlbRgDIAEoCFIJc3BsaXRTdGVtIlUKD0xpdGVyYWxzT3B0aW9ucxIqChBkb2NmcmVxVGhyZXNob + 2xkGAEgASgFUhBkb2NmcmVxVGhyZXNob2xkEhYKBndlaWdodBgCIAEoBVIGd2VpZ2h0IoUBCg9VYXN0MnNlcU9wdGlvbnMSKgoQZ + G9jZnJlcVRocmVzaG9sZBgBIAEoBVIQZG9jZnJlcVRocmVzaG9sZBIWCgZ3ZWlnaHQYAiABKAVSBndlaWdodBIWCgZzdHJpZGUYA + yABKAVSBnN0cmlkZRIWCgZzZXFMZW4YBCADKAVSBnNlcUxlbiJVCg9HcmFwaGxldE9wdGlvbnMSKgoQZG9jZnJlcVRocmVzaG9sZ + BgBIAEoBVIQZG9jZnJlcVRocmVzaG9sZBIWCgZ3ZWlnaHQYAiABKAVSBndlaWdodCKMAwoORXh0cmFjdFJlcXVlc3QSNQoEdWFzd + BgBIAEoCzIhLmdvcGtnLmluLmJibGZzaC5zZGsudjEudWFzdC5Ob2RlUgR1YXN0ElYKC2lkZW50aWZpZXJzGAIgASgLMjQudGVja + C5zb3VyY2VkLmZlYXR1cmV4dC5nZW5lcmF0ZWQuSWRlbnRpZmllcnNPcHRpb25zUgtpZGVudGlmaWVycxJNCghsaXRlcmFscxgDI + AEoCzIxLnRlY2guc291cmNlZC5mZWF0dXJleHQuZ2VuZXJhdGVkLkxpdGVyYWxzT3B0aW9uc1IIbGl0ZXJhbHMSTQoIdWFzdDJzZ + XEYBCABKAsyMS50ZWNoLnNvdXJjZWQuZmVhdHVyZXh0LmdlbmVyYXRlZC5VYXN0MnNlcU9wdGlvbnNSCHVhc3Qyc2VxEk0KCGdyY + XBobGV0GAUgASgLMjEudGVjaC5zb3VyY2VkLmZlYXR1cmV4dC5nZW5lcmF0ZWQuR3JhcGhsZXRPcHRpb25zUghncmFwaGxldCKbA + QoSSWRlbnRpZmllcnNSZXF1ZXN0EjUKBHVhc3QYASABKAsyIS5nb3BrZy5pbi5iYmxmc2guc2RrLnYxLnVhc3QuTm9kZVIEdWFzd + BJOCgdvcHRpb25zGAIgASgLMjQudGVjaC5zb3VyY2VkLmZlYXR1cmV4dC5nZW5lcmF0ZWQuSWRlbnRpZmllcnNPcHRpb25zUgdvc + HRpb25zIpUBCg9MaXRlcmFsc1JlcXVlc3QSNQoEdWFzdBgBIAEoCzIhLmdvcGtnLmluLmJibGZzaC5zZGsudjEudWFzdC5Ob2RlU + gR1YXN0EksKB29wdGlvbnMYAiABKAsyMS50ZWNoLnNvdXJjZWQuZmVhdHVyZXh0LmdlbmVyYXRlZC5MaXRlcmFsc09wdGlvbnNSB + 29wdGlvbnMilQEKD1Vhc3Qyc2VxUmVxdWVzdBI1CgR1YXN0GAEgASgLMiEuZ29wa2cuaW4uYmJsZnNoLnNkay52MS51YXN0Lk5vZ + GVSBHVhc3QSSwoHb3B0aW9ucxgCIAEoCzIxLnRlY2guc291cmNlZC5mZWF0dXJleHQuZ2VuZXJhdGVkLlVhc3Qyc2VxT3B0aW9uc + 1IHb3B0aW9ucyKVAQoPR3JhcGhsZXRSZXF1ZXN0EjUKBHVhc3QYASABKAsyIS5nb3BrZy5pbi5iYmxmc2guc2RrLnYxLnVhc3QuT + m9kZVIEdWFzdBJLCgdvcHRpb25zGAIgASgLMjEudGVjaC5zb3VyY2VkLmZlYXR1cmV4dC5nZW5lcmF0ZWQuR3JhcGhsZXRPcHRpb + 25zUgdvcHRpb25zIjUKB0ZlYXR1cmUSEgoEbmFtZRgBIAEoCVIEbmFtZRIWCgZ3ZWlnaHQYAiABKAJSBndlaWdodCJWCg1GZWF0d + XJlc1JlcGx5EkUKCGZlYXR1cmVzGAEgAygLMikudGVjaC5zb3VyY2VkLmZlYXR1cmV4dC5nZW5lcmF0ZWQuRmVhdHVyZVIIZmVhd + HVyZXMy0AQKEEZlYXR1cmVFeHRyYWN0b3ISbgoHRXh0cmFjdBIwLnRlY2guc291cmNlZC5mZWF0dXJleHQuZ2VuZXJhdGVkLkV4d + HJhY3RSZXF1ZXN0Gi8udGVjaC5zb3VyY2VkLmZlYXR1cmV4dC5nZW5lcmF0ZWQuRmVhdHVyZXNSZXBseSIAEnYKC0lkZW50aWZpZ + XJzEjQudGVjaC5zb3VyY2VkLmZlYXR1cmV4dC5nZW5lcmF0ZWQuSWRlbnRpZmllcnNSZXF1ZXN0Gi8udGVjaC5zb3VyY2VkLmZlY + XR1cmV4dC5nZW5lcmF0ZWQuRmVhdHVyZXNSZXBseSIAEnAKCExpdGVyYWxzEjEudGVjaC5zb3VyY2VkLmZlYXR1cmV4dC5nZW5lc + mF0ZWQuTGl0ZXJhbHNSZXF1ZXN0Gi8udGVjaC5zb3VyY2VkLmZlYXR1cmV4dC5nZW5lcmF0ZWQuRmVhdHVyZXNSZXBseSIAEnAKC + FVhc3Qyc2VxEjEudGVjaC5zb3VyY2VkLmZlYXR1cmV4dC5nZW5lcmF0ZWQuVWFzdDJzZXFSZXF1ZXN0Gi8udGVjaC5zb3VyY2VkL + mZlYXR1cmV4dC5nZW5lcmF0ZWQuRmVhdHVyZXNSZXBseSIAEnAKCEdyYXBobGV0EjEudGVjaC5zb3VyY2VkLmZlYXR1cmV4dC5nZ + W5lcmF0ZWQuR3JhcGhsZXRSZXF1ZXN0Gi8udGVjaC5zb3VyY2VkLmZlYXR1cmV4dC5nZW5lcmF0ZWQuRmVhdHVyZXNSZXBseSIAY + gZwcm90bzM=""" ).mkString) lazy val scalaDescriptor: _root_.scalapb.descriptors.FileDescriptor = { val scalaProto = com.google.protobuf.descriptor.FileDescriptorProto.parseFrom(ProtoBytes) diff --git a/src/main/scala/tech/sourced/featurext/generated/service/Uast2seqOptions.scala b/src/main/scala/tech/sourced/featurext/generated/service/Uast2seqOptions.scala new file mode 100644 index 00000000..7648ab62 --- /dev/null +++ b/src/main/scala/tech/sourced/featurext/generated/service/Uast2seqOptions.scala @@ -0,0 +1,183 @@ +// Generated by the Scala Plugin for the Protocol Buffer Compiler. +// Do not edit! +// +// Protofile syntax: PROTO3 + +package tech.sourced.featurext.generated.service + +@SerialVersionUID(0L) +final case class Uast2seqOptions( + docfreqThreshold: _root_.scala.Int = 0, + weight: _root_.scala.Int = 0, + stride: _root_.scala.Int = 0, + seqLen: _root_.scala.collection.Seq[_root_.scala.Int] = _root_.scala.collection.Seq.empty + ) extends scalapb.GeneratedMessage with scalapb.Message[Uast2seqOptions] with scalapb.lenses.Updatable[Uast2seqOptions] { + private[this] def seqLenSerializedSize = { + if (__seqLenSerializedSizeField == 0) __seqLenSerializedSizeField = { + var __s: _root_.scala.Int = 0 + seqLen.foreach(__i => __s += _root_.com.google.protobuf.CodedOutputStream.computeInt32SizeNoTag(__i)) + __s + } + __seqLenSerializedSizeField + } + @transient private[this] var __seqLenSerializedSizeField: _root_.scala.Int = 0 + @transient + private[this] var __serializedSizeCachedValue: _root_.scala.Int = 0 + private[this] def __computeSerializedValue(): _root_.scala.Int = { + var __size = 0 + if (docfreqThreshold != 0) { __size += _root_.com.google.protobuf.CodedOutputStream.computeInt32Size(1, docfreqThreshold) } + if (weight != 0) { __size += _root_.com.google.protobuf.CodedOutputStream.computeInt32Size(2, weight) } + if (stride != 0) { __size += _root_.com.google.protobuf.CodedOutputStream.computeInt32Size(3, stride) } + if(seqLen.nonEmpty) { + val __localsize = seqLenSerializedSize + __size += 1 + _root_.com.google.protobuf.CodedOutputStream.computeUInt32SizeNoTag(__localsize) + __localsize + } + __size + } + final override def serializedSize: _root_.scala.Int = { + var read = __serializedSizeCachedValue + if (read == 0) { + read = __computeSerializedValue() + __serializedSizeCachedValue = read + } + read + } + def writeTo(`_output__`: _root_.com.google.protobuf.CodedOutputStream): Unit = { + { + val __v = docfreqThreshold + if (__v != 0) { + _output__.writeInt32(1, __v) + } + }; + { + val __v = weight + if (__v != 0) { + _output__.writeInt32(2, __v) + } + }; + { + val __v = stride + if (__v != 0) { + _output__.writeInt32(3, __v) + } + }; + if (seqLen.nonEmpty) { + _output__.writeTag(4, 2) + _output__.writeUInt32NoTag(seqLenSerializedSize) + seqLen.foreach(_output__.writeInt32NoTag) + }; + } + def mergeFrom(`_input__`: _root_.com.google.protobuf.CodedInputStream): tech.sourced.featurext.generated.service.Uast2seqOptions = { + var __docfreqThreshold = this.docfreqThreshold + var __weight = this.weight + var __stride = this.stride + val __seqLen = (_root_.scala.collection.immutable.Vector.newBuilder[_root_.scala.Int] ++= this.seqLen) + var _done__ = false + while (!_done__) { + val _tag__ = _input__.readTag() + _tag__ match { + case 0 => _done__ = true + case 8 => + __docfreqThreshold = _input__.readInt32() + case 16 => + __weight = _input__.readInt32() + case 24 => + __stride = _input__.readInt32() + case 32 => + __seqLen += _input__.readInt32() + case 34 => { + val length = _input__.readRawVarint32() + val oldLimit = _input__.pushLimit(length) + while (_input__.getBytesUntilLimit > 0) { + __seqLen += _input__.readInt32 + } + _input__.popLimit(oldLimit) + } + case tag => _input__.skipField(tag) + } + } + tech.sourced.featurext.generated.service.Uast2seqOptions( + docfreqThreshold = __docfreqThreshold, + weight = __weight, + stride = __stride, + seqLen = __seqLen.result() + ) + } + def withDocfreqThreshold(__v: _root_.scala.Int): Uast2seqOptions = copy(docfreqThreshold = __v) + def withWeight(__v: _root_.scala.Int): Uast2seqOptions = copy(weight = __v) + def withStride(__v: _root_.scala.Int): Uast2seqOptions = copy(stride = __v) + def clearSeqLen = copy(seqLen = _root_.scala.collection.Seq.empty) + def addSeqLen(__vs: _root_.scala.Int*): Uast2seqOptions = addAllSeqLen(__vs) + def addAllSeqLen(__vs: TraversableOnce[_root_.scala.Int]): Uast2seqOptions = copy(seqLen = seqLen ++ __vs) + def withSeqLen(__v: _root_.scala.collection.Seq[_root_.scala.Int]): Uast2seqOptions = copy(seqLen = __v) + def getFieldByNumber(__fieldNumber: _root_.scala.Int): scala.Any = { + (__fieldNumber: @_root_.scala.unchecked) match { + case 1 => { + val __t = docfreqThreshold + if (__t != 0) __t else null + } + case 2 => { + val __t = weight + if (__t != 0) __t else null + } + case 3 => { + val __t = stride + if (__t != 0) __t else null + } + case 4 => seqLen + } + } + def getField(__field: _root_.scalapb.descriptors.FieldDescriptor): _root_.scalapb.descriptors.PValue = { + require(__field.containingMessage eq companion.scalaDescriptor) + (__field.number: @_root_.scala.unchecked) match { + case 1 => _root_.scalapb.descriptors.PInt(docfreqThreshold) + case 2 => _root_.scalapb.descriptors.PInt(weight) + case 3 => _root_.scalapb.descriptors.PInt(stride) + case 4 => _root_.scalapb.descriptors.PRepeated(seqLen.map(_root_.scalapb.descriptors.PInt)(_root_.scala.collection.breakOut)) + } + } + def toProtoString: _root_.scala.Predef.String = _root_.scalapb.TextFormat.printToUnicodeString(this) + def companion = tech.sourced.featurext.generated.service.Uast2seqOptions +} + +object Uast2seqOptions extends scalapb.GeneratedMessageCompanion[tech.sourced.featurext.generated.service.Uast2seqOptions] { + implicit def messageCompanion: scalapb.GeneratedMessageCompanion[tech.sourced.featurext.generated.service.Uast2seqOptions] = this + def fromFieldsMap(__fieldsMap: scala.collection.immutable.Map[_root_.com.google.protobuf.Descriptors.FieldDescriptor, scala.Any]): tech.sourced.featurext.generated.service.Uast2seqOptions = { + require(__fieldsMap.keys.forall(_.getContainingType() == javaDescriptor), "FieldDescriptor does not match message type.") + val __fields = javaDescriptor.getFields + tech.sourced.featurext.generated.service.Uast2seqOptions( + __fieldsMap.getOrElse(__fields.get(0), 0).asInstanceOf[_root_.scala.Int], + __fieldsMap.getOrElse(__fields.get(1), 0).asInstanceOf[_root_.scala.Int], + __fieldsMap.getOrElse(__fields.get(2), 0).asInstanceOf[_root_.scala.Int], + __fieldsMap.getOrElse(__fields.get(3), Nil).asInstanceOf[_root_.scala.collection.Seq[_root_.scala.Int]] + ) + } + implicit def messageReads: _root_.scalapb.descriptors.Reads[tech.sourced.featurext.generated.service.Uast2seqOptions] = _root_.scalapb.descriptors.Reads{ + case _root_.scalapb.descriptors.PMessage(__fieldsMap) => + require(__fieldsMap.keys.forall(_.containingMessage == scalaDescriptor), "FieldDescriptor does not match message type.") + tech.sourced.featurext.generated.service.Uast2seqOptions( + __fieldsMap.get(scalaDescriptor.findFieldByNumber(1).get).map(_.as[_root_.scala.Int]).getOrElse(0), + __fieldsMap.get(scalaDescriptor.findFieldByNumber(2).get).map(_.as[_root_.scala.Int]).getOrElse(0), + __fieldsMap.get(scalaDescriptor.findFieldByNumber(3).get).map(_.as[_root_.scala.Int]).getOrElse(0), + __fieldsMap.get(scalaDescriptor.findFieldByNumber(4).get).map(_.as[_root_.scala.collection.Seq[_root_.scala.Int]]).getOrElse(_root_.scala.collection.Seq.empty) + ) + case _ => throw new RuntimeException("Expected PMessage") + } + def javaDescriptor: _root_.com.google.protobuf.Descriptors.Descriptor = ServiceProto.javaDescriptor.getMessageTypes.get(2) + def scalaDescriptor: _root_.scalapb.descriptors.Descriptor = ServiceProto.scalaDescriptor.messages(2) + def messageCompanionForFieldNumber(__number: _root_.scala.Int): _root_.scalapb.GeneratedMessageCompanion[_] = throw new MatchError(__number) + lazy val nestedMessagesCompanions: Seq[_root_.scalapb.GeneratedMessageCompanion[_]] = Seq.empty + def enumCompanionForFieldNumber(__fieldNumber: _root_.scala.Int): _root_.scalapb.GeneratedEnumCompanion[_] = throw new MatchError(__fieldNumber) + lazy val defaultInstance = tech.sourced.featurext.generated.service.Uast2seqOptions( + ) + implicit class Uast2seqOptionsLens[UpperPB](_l: _root_.scalapb.lenses.Lens[UpperPB, tech.sourced.featurext.generated.service.Uast2seqOptions]) extends _root_.scalapb.lenses.ObjectLens[UpperPB, tech.sourced.featurext.generated.service.Uast2seqOptions](_l) { + def docfreqThreshold: _root_.scalapb.lenses.Lens[UpperPB, _root_.scala.Int] = field(_.docfreqThreshold)((c_, f_) => c_.copy(docfreqThreshold = f_)) + def weight: _root_.scalapb.lenses.Lens[UpperPB, _root_.scala.Int] = field(_.weight)((c_, f_) => c_.copy(weight = f_)) + def stride: _root_.scalapb.lenses.Lens[UpperPB, _root_.scala.Int] = field(_.stride)((c_, f_) => c_.copy(stride = f_)) + def seqLen: _root_.scalapb.lenses.Lens[UpperPB, _root_.scala.collection.Seq[_root_.scala.Int]] = field(_.seqLen)((c_, f_) => c_.copy(seqLen = f_)) + } + final val DOCFREQTHRESHOLD_FIELD_NUMBER = 1 + final val WEIGHT_FIELD_NUMBER = 2 + final val STRIDE_FIELD_NUMBER = 3 + final val SEQLEN_FIELD_NUMBER = 4 +} diff --git a/src/main/scala/tech/sourced/featurext/generated/service/Uast2seqRequest.scala b/src/main/scala/tech/sourced/featurext/generated/service/Uast2seqRequest.scala index 0e779059..fbc027bb 100644 --- a/src/main/scala/tech/sourced/featurext/generated/service/Uast2seqRequest.scala +++ b/src/main/scala/tech/sourced/featurext/generated/service/Uast2seqRequest.scala @@ -10,32 +10,14 @@ package tech.sourced.featurext.generated.service @SerialVersionUID(0L) final case class Uast2seqRequest( uast: scala.Option[gopkg.in.bblfsh.sdk.v1.uast.generated.Node] = None, - docfreqThreshold: _root_.scala.Int = 0, - weight: _root_.scala.Int = 0, - stride: _root_.scala.Int = 0, - seqLen: _root_.scala.collection.Seq[_root_.scala.Int] = _root_.scala.collection.Seq.empty + options: scala.Option[tech.sourced.featurext.generated.service.Uast2seqOptions] = None ) extends scalapb.GeneratedMessage with scalapb.Message[Uast2seqRequest] with scalapb.lenses.Updatable[Uast2seqRequest] { - private[this] def seqLenSerializedSize = { - if (__seqLenSerializedSizeField == 0) __seqLenSerializedSizeField = { - var __s: _root_.scala.Int = 0 - seqLen.foreach(__i => __s += _root_.com.google.protobuf.CodedOutputStream.computeInt32SizeNoTag(__i)) - __s - } - __seqLenSerializedSizeField - } - @transient private[this] var __seqLenSerializedSizeField: _root_.scala.Int = 0 @transient private[this] var __serializedSizeCachedValue: _root_.scala.Int = 0 private[this] def __computeSerializedValue(): _root_.scala.Int = { var __size = 0 if (uast.isDefined) { __size += 1 + _root_.com.google.protobuf.CodedOutputStream.computeUInt32SizeNoTag(uast.get.serializedSize) + uast.get.serializedSize } - if (docfreqThreshold != 0) { __size += _root_.com.google.protobuf.CodedOutputStream.computeInt32Size(2, docfreqThreshold) } - if (weight != 0) { __size += _root_.com.google.protobuf.CodedOutputStream.computeInt32Size(3, weight) } - if (stride != 0) { __size += _root_.com.google.protobuf.CodedOutputStream.computeInt32Size(4, stride) } - if(seqLen.nonEmpty) { - val __localsize = seqLenSerializedSize - __size += 1 + _root_.com.google.protobuf.CodedOutputStream.computeUInt32SizeNoTag(__localsize) + __localsize - } + if (options.isDefined) { __size += 1 + _root_.com.google.protobuf.CodedOutputStream.computeUInt32SizeNoTag(options.get.serializedSize) + options.get.serializedSize } __size } final override def serializedSize: _root_.scala.Int = { @@ -52,36 +34,15 @@ final case class Uast2seqRequest( _output__.writeUInt32NoTag(__v.serializedSize) __v.writeTo(_output__) }; - { - val __v = docfreqThreshold - if (__v != 0) { - _output__.writeInt32(2, __v) - } - }; - { - val __v = weight - if (__v != 0) { - _output__.writeInt32(3, __v) - } - }; - { - val __v = stride - if (__v != 0) { - _output__.writeInt32(4, __v) - } - }; - if (seqLen.nonEmpty) { - _output__.writeTag(5, 2) - _output__.writeUInt32NoTag(seqLenSerializedSize) - seqLen.foreach(_output__.writeInt32NoTag) + options.foreach { __v => + _output__.writeTag(2, 2) + _output__.writeUInt32NoTag(__v.serializedSize) + __v.writeTo(_output__) }; } def mergeFrom(`_input__`: _root_.com.google.protobuf.CodedInputStream): tech.sourced.featurext.generated.service.Uast2seqRequest = { var __uast = this.uast - var __docfreqThreshold = this.docfreqThreshold - var __weight = this.weight - var __stride = this.stride - val __seqLen = (_root_.scala.collection.immutable.Vector.newBuilder[_root_.scala.Int] ++= this.seqLen) + var __options = this.options var _done__ = false while (!_done__) { val _tag__ = _input__.readTag() @@ -89,69 +50,33 @@ final case class Uast2seqRequest( case 0 => _done__ = true case 10 => __uast = Option(_root_.scalapb.LiteParser.readMessage(_input__, __uast.getOrElse(gopkg.in.bblfsh.sdk.v1.uast.generated.Node.defaultInstance))) - case 16 => - __docfreqThreshold = _input__.readInt32() - case 24 => - __weight = _input__.readInt32() - case 32 => - __stride = _input__.readInt32() - case 40 => - __seqLen += _input__.readInt32() - case 42 => { - val length = _input__.readRawVarint32() - val oldLimit = _input__.pushLimit(length) - while (_input__.getBytesUntilLimit > 0) { - __seqLen += _input__.readInt32 - } - _input__.popLimit(oldLimit) - } + case 18 => + __options = Option(_root_.scalapb.LiteParser.readMessage(_input__, __options.getOrElse(tech.sourced.featurext.generated.service.Uast2seqOptions.defaultInstance))) case tag => _input__.skipField(tag) } } tech.sourced.featurext.generated.service.Uast2seqRequest( uast = __uast, - docfreqThreshold = __docfreqThreshold, - weight = __weight, - stride = __stride, - seqLen = __seqLen.result() + options = __options ) } def getUast: gopkg.in.bblfsh.sdk.v1.uast.generated.Node = uast.getOrElse(gopkg.in.bblfsh.sdk.v1.uast.generated.Node.defaultInstance) def clearUast: Uast2seqRequest = copy(uast = None) def withUast(__v: gopkg.in.bblfsh.sdk.v1.uast.generated.Node): Uast2seqRequest = copy(uast = Option(__v)) - def withDocfreqThreshold(__v: _root_.scala.Int): Uast2seqRequest = copy(docfreqThreshold = __v) - def withWeight(__v: _root_.scala.Int): Uast2seqRequest = copy(weight = __v) - def withStride(__v: _root_.scala.Int): Uast2seqRequest = copy(stride = __v) - def clearSeqLen = copy(seqLen = _root_.scala.collection.Seq.empty) - def addSeqLen(__vs: _root_.scala.Int*): Uast2seqRequest = addAllSeqLen(__vs) - def addAllSeqLen(__vs: TraversableOnce[_root_.scala.Int]): Uast2seqRequest = copy(seqLen = seqLen ++ __vs) - def withSeqLen(__v: _root_.scala.collection.Seq[_root_.scala.Int]): Uast2seqRequest = copy(seqLen = __v) + def getOptions: tech.sourced.featurext.generated.service.Uast2seqOptions = options.getOrElse(tech.sourced.featurext.generated.service.Uast2seqOptions.defaultInstance) + def clearOptions: Uast2seqRequest = copy(options = None) + def withOptions(__v: tech.sourced.featurext.generated.service.Uast2seqOptions): Uast2seqRequest = copy(options = Option(__v)) def getFieldByNumber(__fieldNumber: _root_.scala.Int): scala.Any = { (__fieldNumber: @_root_.scala.unchecked) match { case 1 => uast.orNull - case 2 => { - val __t = docfreqThreshold - if (__t != 0) __t else null - } - case 3 => { - val __t = weight - if (__t != 0) __t else null - } - case 4 => { - val __t = stride - if (__t != 0) __t else null - } - case 5 => seqLen + case 2 => options.orNull } } def getField(__field: _root_.scalapb.descriptors.FieldDescriptor): _root_.scalapb.descriptors.PValue = { require(__field.containingMessage eq companion.scalaDescriptor) (__field.number: @_root_.scala.unchecked) match { case 1 => uast.map(_.toPMessage).getOrElse(_root_.scalapb.descriptors.PEmpty) - case 2 => _root_.scalapb.descriptors.PInt(docfreqThreshold) - case 3 => _root_.scalapb.descriptors.PInt(weight) - case 4 => _root_.scalapb.descriptors.PInt(stride) - case 5 => _root_.scalapb.descriptors.PRepeated(seqLen.map(_root_.scalapb.descriptors.PInt)(_root_.scala.collection.breakOut)) + case 2 => options.map(_.toPMessage).getOrElse(_root_.scalapb.descriptors.PEmpty) } } def toProtoString: _root_.scala.Predef.String = _root_.scalapb.TextFormat.printToUnicodeString(this) @@ -165,10 +90,7 @@ object Uast2seqRequest extends scalapb.GeneratedMessageCompanion[tech.sourced.fe val __fields = javaDescriptor.getFields tech.sourced.featurext.generated.service.Uast2seqRequest( __fieldsMap.get(__fields.get(0)).asInstanceOf[scala.Option[gopkg.in.bblfsh.sdk.v1.uast.generated.Node]], - __fieldsMap.getOrElse(__fields.get(1), 0).asInstanceOf[_root_.scala.Int], - __fieldsMap.getOrElse(__fields.get(2), 0).asInstanceOf[_root_.scala.Int], - __fieldsMap.getOrElse(__fields.get(3), 0).asInstanceOf[_root_.scala.Int], - __fieldsMap.getOrElse(__fields.get(4), Nil).asInstanceOf[_root_.scala.collection.Seq[_root_.scala.Int]] + __fieldsMap.get(__fields.get(1)).asInstanceOf[scala.Option[tech.sourced.featurext.generated.service.Uast2seqOptions]] ) } implicit def messageReads: _root_.scalapb.descriptors.Reads[tech.sourced.featurext.generated.service.Uast2seqRequest] = _root_.scalapb.descriptors.Reads{ @@ -176,19 +98,17 @@ object Uast2seqRequest extends scalapb.GeneratedMessageCompanion[tech.sourced.fe require(__fieldsMap.keys.forall(_.containingMessage == scalaDescriptor), "FieldDescriptor does not match message type.") tech.sourced.featurext.generated.service.Uast2seqRequest( __fieldsMap.get(scalaDescriptor.findFieldByNumber(1).get).flatMap(_.as[scala.Option[gopkg.in.bblfsh.sdk.v1.uast.generated.Node]]), - __fieldsMap.get(scalaDescriptor.findFieldByNumber(2).get).map(_.as[_root_.scala.Int]).getOrElse(0), - __fieldsMap.get(scalaDescriptor.findFieldByNumber(3).get).map(_.as[_root_.scala.Int]).getOrElse(0), - __fieldsMap.get(scalaDescriptor.findFieldByNumber(4).get).map(_.as[_root_.scala.Int]).getOrElse(0), - __fieldsMap.get(scalaDescriptor.findFieldByNumber(5).get).map(_.as[_root_.scala.collection.Seq[_root_.scala.Int]]).getOrElse(_root_.scala.collection.Seq.empty) + __fieldsMap.get(scalaDescriptor.findFieldByNumber(2).get).flatMap(_.as[scala.Option[tech.sourced.featurext.generated.service.Uast2seqOptions]]) ) case _ => throw new RuntimeException("Expected PMessage") } - def javaDescriptor: _root_.com.google.protobuf.Descriptors.Descriptor = ServiceProto.javaDescriptor.getMessageTypes.get(2) - def scalaDescriptor: _root_.scalapb.descriptors.Descriptor = ServiceProto.scalaDescriptor.messages(2) + def javaDescriptor: _root_.com.google.protobuf.Descriptors.Descriptor = ServiceProto.javaDescriptor.getMessageTypes.get(7) + def scalaDescriptor: _root_.scalapb.descriptors.Descriptor = ServiceProto.scalaDescriptor.messages(7) def messageCompanionForFieldNumber(__number: _root_.scala.Int): _root_.scalapb.GeneratedMessageCompanion[_] = { var __out: _root_.scalapb.GeneratedMessageCompanion[_] = null (__number: @_root_.scala.unchecked) match { case 1 => __out = gopkg.in.bblfsh.sdk.v1.uast.generated.Node + case 2 => __out = tech.sourced.featurext.generated.service.Uast2seqOptions } __out } @@ -199,14 +119,9 @@ object Uast2seqRequest extends scalapb.GeneratedMessageCompanion[tech.sourced.fe implicit class Uast2seqRequestLens[UpperPB](_l: _root_.scalapb.lenses.Lens[UpperPB, tech.sourced.featurext.generated.service.Uast2seqRequest]) extends _root_.scalapb.lenses.ObjectLens[UpperPB, tech.sourced.featurext.generated.service.Uast2seqRequest](_l) { def uast: _root_.scalapb.lenses.Lens[UpperPB, gopkg.in.bblfsh.sdk.v1.uast.generated.Node] = field(_.getUast)((c_, f_) => c_.copy(uast = Option(f_))) def optionalUast: _root_.scalapb.lenses.Lens[UpperPB, scala.Option[gopkg.in.bblfsh.sdk.v1.uast.generated.Node]] = field(_.uast)((c_, f_) => c_.copy(uast = f_)) - def docfreqThreshold: _root_.scalapb.lenses.Lens[UpperPB, _root_.scala.Int] = field(_.docfreqThreshold)((c_, f_) => c_.copy(docfreqThreshold = f_)) - def weight: _root_.scalapb.lenses.Lens[UpperPB, _root_.scala.Int] = field(_.weight)((c_, f_) => c_.copy(weight = f_)) - def stride: _root_.scalapb.lenses.Lens[UpperPB, _root_.scala.Int] = field(_.stride)((c_, f_) => c_.copy(stride = f_)) - def seqLen: _root_.scalapb.lenses.Lens[UpperPB, _root_.scala.collection.Seq[_root_.scala.Int]] = field(_.seqLen)((c_, f_) => c_.copy(seqLen = f_)) + def options: _root_.scalapb.lenses.Lens[UpperPB, tech.sourced.featurext.generated.service.Uast2seqOptions] = field(_.getOptions)((c_, f_) => c_.copy(options = Option(f_))) + def optionalOptions: _root_.scalapb.lenses.Lens[UpperPB, scala.Option[tech.sourced.featurext.generated.service.Uast2seqOptions]] = field(_.options)((c_, f_) => c_.copy(options = f_)) } final val UAST_FIELD_NUMBER = 1 - final val DOCFREQTHRESHOLD_FIELD_NUMBER = 2 - final val WEIGHT_FIELD_NUMBER = 3 - final val STRIDE_FIELD_NUMBER = 4 - final val SEQLEN_FIELD_NUMBER = 5 + final val OPTIONS_FIELD_NUMBER = 2 } diff --git a/src/test/scala/tech/sourced/featurext/ClientSpec.scala b/src/test/scala/tech/sourced/featurext/ClientSpec.scala index d2bdb71f..809f7f23 100644 --- a/src/test/scala/tech/sourced/featurext/ClientSpec.scala +++ b/src/test/scala/tech/sourced/featurext/ClientSpec.scala @@ -34,7 +34,7 @@ class ClientSpec extends FlatSpec } "identifiers call" should "return correct response" in { - val request = IdentifiersRequest(docfreqThreshold=5, uast=Some(uast)) + val request = IdentifiersRequest(uast=Some(uast), options=Some(IdentifiersOptions(docfreqThreshold=5))) val reply = blockingStub.identifiers(request) var features = reply.features.sortBy(_.name) @@ -45,7 +45,7 @@ class ClientSpec extends FlatSpec } "literals call" should "return correct response" in { - val request = LiteralsRequest(docfreqThreshold=5, uast=Some(uast)) + val request = LiteralsRequest(uast=Some(uast), options=Some(LiteralsOptions(docfreqThreshold=5))) val reply = blockingStub.literals(request) var features = reply.features.sortBy(_.name) @@ -56,7 +56,7 @@ class ClientSpec extends FlatSpec } "uast2seq call" should "return correct response" in { - val request = Uast2seqRequest(docfreqThreshold=5, uast=Some(uast)) + val request = Uast2seqRequest(uast=Some(uast), options=Some(Uast2seqOptions(docfreqThreshold=5))) val reply = blockingStub.uast2Seq(request) var features = reply.features.sortBy(_.name) @@ -67,7 +67,7 @@ class ClientSpec extends FlatSpec } "graphlet call" should "return correct response" in { - val request = GraphletRequest(docfreqThreshold=5, uast=Some(uast)) + val request = GraphletRequest(uast=Some(uast), options=Some(GraphletOptions(docfreqThreshold=5))) val reply = blockingStub.graphlet(request) var features = reply.features.sortBy(_.name) diff --git a/src/test/scala/tech/sourced/gemini/FileQuerySpec.scala b/src/test/scala/tech/sourced/gemini/FileQuerySpec.scala index 3dffa608..5a024f3b 100644 --- a/src/test/scala/tech/sourced/gemini/FileQuerySpec.scala +++ b/src/test/scala/tech/sourced/gemini/FileQuerySpec.scala @@ -235,6 +235,10 @@ class FileQuerySpec extends FlatSpec def feMock(features: Seq[Feature]): FeatureExtractor = { class FEServerMock extends FeatureExtractor { + override def extract(request: ExtractRequest): Future[FeaturesReply] = { + Future.successful(FeaturesReply(features=features)) + } + override def identifiers(request: IdentifiersRequest): Future[FeaturesReply] = { Future.successful(FeaturesReply(features=features)) }