From d9213d320940392969de9fd7dc8dfca4d4ec509e Mon Sep 17 00:00:00 2001 From: Cody Schroeder Date: Wed, 15 Feb 2023 15:15:55 -0700 Subject: [PATCH] fix(proto_indexer): use extends relation for proto field extensions (#5521) --- kythe/cxx/indexer/proto/proto_graph_builder.cc | 4 ++-- kythe/cxx/indexer/proto/testdata/basic/extend.proto | 8 ++++---- .../indexer/proto/testdata/corner_cases/nopackage.proto | 2 +- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/kythe/cxx/indexer/proto/proto_graph_builder.cc b/kythe/cxx/indexer/proto/proto_graph_builder.cc index 26546c008e..da030ac2e2 100644 --- a/kythe/cxx/indexer/proto/proto_graph_builder.cc +++ b/kythe/cxx/indexer/proto/proto_graph_builder.cc @@ -176,8 +176,8 @@ void ProtoGraphBuilder::AddFieldToMessage(const VName* parent, AddEdge(field, *parent, EdgeKindID::kChildOf); } if (parent == nullptr || !VNameEquals(message, *parent)) { - // Extension; add a reference to the message being extended. - AddEdge(message, field, EdgeKindID::kCompletedby); + // Extension; add an edge to the message being extended. + AddEdge(field, message, EdgeKindID::kExtends); } if (oneof != nullptr) { AddEdge(field, *oneof, EdgeKindID::kChildOf); diff --git a/kythe/cxx/indexer/proto/testdata/basic/extend.proto b/kythe/cxx/indexer/proto/testdata/basic/extend.proto index 014c9f32d2..8e7e033b6c 100644 --- a/kythe/cxx/indexer/proto/testdata/basic/extend.proto +++ b/kythe/cxx/indexer/proto/testdata/basic/extend.proto @@ -17,7 +17,7 @@ extend Extendee { // extendee_ext comment. //- @extendee_ext defines/binding ExtField //- ExtField childof MainPackage - //- ExtendeeMessage completedby ExtField + //- ExtField extends ExtendeeMessage optional string extendee_ext = 1001; } @@ -26,7 +26,7 @@ extend itsapackage.Foo { //- @Bar ref BarMessage //- @other_package_ext defines/binding OtherExtField //- OtherExtField childof MainPackage - //- FooMessage completedby OtherExtField + //- OtherExtField extends FooMessage optional itsapackage.Bar other_package_ext = 1001; } @@ -37,7 +37,7 @@ message Nested { extend Extendee { //- @nested_extendee_ext defines/binding NestedExtField //- NestedExtField childof NestedMessage - //- ExtendeeMessage completedby NestedExtField + //- NestedExtField extends ExtendeeMessage optional string nested_extendee_ext = 1002; } @@ -46,7 +46,7 @@ message Nested { //- @Bar ref BarMessage //- @nested_other_package_ext defines/binding NestedOtherField //- NestedOtherField childof NestedMessage - //- FooMessage completedby NestedOtherField + //- NestedOtherField extends FooMessage optional itsapackage.Bar nested_other_package_ext = 1002; } } diff --git a/kythe/cxx/indexer/proto/testdata/corner_cases/nopackage.proto b/kythe/cxx/indexer/proto/testdata/corner_cases/nopackage.proto index 801ea2913c..0384147cf9 100644 --- a/kythe/cxx/indexer/proto/testdata/corner_cases/nopackage.proto +++ b/kythe/cxx/indexer/proto/testdata/corner_cases/nopackage.proto @@ -13,7 +13,7 @@ message Extendee { //- @Extendee ref RootExtendeeNode extend Extendee { //- @no_package_ext defines/binding RootExtField - //- RootExtendeeNode completedby RootExtField + //- RootExtField extends RootExtendeeNode //- !{ RootExtField childof _SomeMessage } optional string no_package_ext = 1000; }