Skip to content

Commit

Permalink
Delete ProtobufDescriptorPool (#3076)
Browse files Browse the repository at this point in the history
* Delete ProtobufDescriptorPool

This was always a hack. There's now a far better solution, which is to
use <https://github.com/coinbase/protoc-gen-rbi> to generate typed RBIs.

* wip: try suppressing an error kind for autogen

* Add test for changes to autogen
  • Loading branch information
jez committed May 28, 2020
1 parent d926e62 commit f20d4cc
Show file tree
Hide file tree
Showing 10 changed files with 169 additions and 169 deletions.
8 changes: 0 additions & 8 deletions core/tools/generate_names.cc
Original file line number Diff line number Diff line change
Expand Up @@ -253,14 +253,6 @@ NameDef names[] = {
{"Command", "Command", true},
{"Enum", "Enum", true},

{"Google", "Google", true},
{"Protobuf", "Protobuf", true},
{"DescriptorPool", "DescriptorPool", true},
{"generatedPool", "generated_pool"},
{"lookup"},
{"msgclass"},
{"enummodule"},

{"ActiveRecord", "ActiveRecord", true},
{"Migration", "Migration", true},
{"Compatibility", "Compatibility", true},
Expand Down
1 change: 1 addition & 0 deletions main/realmain.cc
Original file line number Diff line number Diff line change
Expand Up @@ -524,6 +524,7 @@ int realmain(int argc, char *argv[]) {
#else
gs->suppressErrorClass(core::errors::Namer::MethodNotFound.code);
gs->suppressErrorClass(core::errors::Namer::RedefinitionOfMethod.code);
gs->suppressErrorClass(core::errors::Namer::InvalidClassOwner.code);
gs->suppressErrorClass(core::errors::Namer::ModuleKindRedefinition.code);
gs->suppressErrorClass(core::errors::Resolver::StubConstant.code);

Expand Down
68 changes: 0 additions & 68 deletions rewriter/ProtobufDescriptorPool.cc

This file was deleted.

37 changes: 0 additions & 37 deletions rewriter/ProtobufDescriptorPool.h

This file was deleted.

7 changes: 0 additions & 7 deletions rewriter/rewriter.cc
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,6 @@
#include "rewriter/ModuleFunction.h"
#include "rewriter/Private.h"
#include "rewriter/Prop.h"
#include "rewriter/ProtobufDescriptorPool.h"
#include "rewriter/Rails.h"
#include "rewriter/Regexp.h"
#include "rewriter/SelfNew.h"
Expand Down Expand Up @@ -70,12 +69,6 @@ class Rewriterer {
return;
}

nodes = ProtobufDescriptorPool::run(ctx, assign);
if (!nodes.empty()) {
replaceNodes[stat.get()] = std::move(nodes);
return;
}

nodes = Regexp::run(ctx, assign);
if (!nodes.empty()) {
replaceNodes[stat.get()] = std::move(nodes);
Expand Down
143 changes: 143 additions & 0 deletions test/cli/autogen-ignore/autogen-ignore.out
Original file line number Diff line number Diff line change
@@ -0,0 +1,143 @@
# ParsedFile: test/cli/autogen-ignore/autogen-ignore.rb
requires: []
## defs:
[def id=0]
type=module
defines_behavior=0
is_empty=0
[def id=1]
type=module
defines_behavior=0
is_empty=0
defining_ref=[Opus]
[def id=2]
type=module
defines_behavior=0
is_empty=0
defining_ref=[Autogen]
[def id=3]
type=module
defines_behavior=0
is_empty=0
defining_ref=[Proto]
[def id=4]
type=module
defines_behavior=0
is_empty=0
defining_ref=[Com]
[def id=5]
type=module
defines_behavior=0
is_empty=0
defining_ref=[Stripe]
[def id=6]
type=module
defines_behavior=0
is_empty=0
defining_ref=[Payserver]
[def id=7]
type=module
defines_behavior=0
is_empty=0
defining_ref=[Events]
[def id=8]
type=module
defines_behavior=0
is_empty=0
defining_ref=[Privacy]
[def id=9]
type=casgn
defines_behavior=1
is_empty=0
defining_ref=[NewDeletionManifest]
[def id=10]
type=casgn
defines_behavior=1
is_empty=0
defining_ref=[NewDeletionManifest RootType]
## refs:
[ref id=0]
scope=[]
name=[Opus]
nesting=[]
resolved=[Opus]
loc=test/cli/autogen-ignore/autogen-ignore.rb:3
is_defining_ref=1
[ref id=1]
scope=[Opus]
name=[Autogen]
nesting=[[Opus]]
resolved=[Opus Autogen]
loc=test/cli/autogen-ignore/autogen-ignore.rb:4
is_defining_ref=1
[ref id=2]
scope=[Opus Autogen]
name=[Proto]
nesting=[[Opus Autogen] [Opus]]
resolved=[Opus Autogen Proto]
loc=test/cli/autogen-ignore/autogen-ignore.rb:5
is_defining_ref=1
[ref id=3]
scope=[Opus Autogen Proto]
name=[Com]
nesting=[[Opus Autogen Proto] [Opus Autogen] [Opus]]
resolved=[Opus Autogen Proto Com]
loc=test/cli/autogen-ignore/autogen-ignore.rb:6
is_defining_ref=1
[ref id=4]
scope=[Opus Autogen Proto Com]
name=[Stripe]
nesting=[[Opus Autogen Proto Com] [Opus Autogen Proto] [Opus Autogen] [Opus]]
resolved=[Opus Autogen Proto Com Stripe]
loc=test/cli/autogen-ignore/autogen-ignore.rb:7
is_defining_ref=1
[ref id=5]
scope=[Opus Autogen Proto Com Stripe]
name=[Payserver]
nesting=[[Opus Autogen Proto Com Stripe] [Opus Autogen Proto Com] [Opus Autogen Proto] [Opus Autogen] [Opus]]
resolved=[Opus Autogen Proto Com Stripe Payserver]
loc=test/cli/autogen-ignore/autogen-ignore.rb:8
is_defining_ref=1
[ref id=6]
scope=[Opus Autogen Proto Com Stripe Payserver]
name=[Events]
nesting=[[Opus Autogen Proto Com Stripe Payserver] [Opus Autogen Proto Com Stripe] [Opus Autogen Proto Com] [Opus Autogen Proto] [Opus Autogen] [Opus]]
resolved=[Opus Autogen Proto Com Stripe Payserver Events]
loc=test/cli/autogen-ignore/autogen-ignore.rb:9
is_defining_ref=1
[ref id=7]
scope=[Opus Autogen Proto Com Stripe Payserver Events]
name=[Privacy]
nesting=[[Opus Autogen Proto Com Stripe Payserver Events] [Opus Autogen Proto Com Stripe Payserver] [Opus Autogen Proto Com Stripe] [Opus Autogen Proto Com] [Opus Autogen Proto] [Opus Autogen] [Opus]]
resolved=[Opus Autogen Proto Com Stripe Payserver Events Privacy]
loc=test/cli/autogen-ignore/autogen-ignore.rb:10
is_defining_ref=1
[ref id=8]
scope=[Opus Autogen Proto Com Stripe Payserver Events Privacy]
name=[NewDeletionManifest]
nesting=[[Opus Autogen Proto Com Stripe Payserver Events Privacy] [Opus Autogen Proto Com Stripe Payserver Events] [Opus Autogen Proto Com Stripe Payserver] [Opus Autogen Proto Com Stripe] [Opus Autogen Proto Com] [Opus Autogen Proto] [Opus Autogen] [Opus]]
resolved=[Opus Autogen Proto Com Stripe Payserver Events Privacy NewDeletionManifest]
loc=test/cli/autogen-ignore/autogen-ignore.rb:11
is_defining_ref=1
[ref id=9]
scope=[]
name=[Google Protobuf DescriptorPool]
nesting=[]
resolved=[]
loc=test/cli/autogen-ignore/autogen-ignore.rb:11
is_defining_ref=0
[ref id=10]
scope=[Opus Autogen Proto Com Stripe Payserver Events Privacy]
name=[NewDeletionManifest RootType]
nesting=[[Opus Autogen Proto Com Stripe Payserver Events Privacy] [Opus Autogen Proto Com Stripe Payserver Events] [Opus Autogen Proto Com Stripe Payserver] [Opus Autogen Proto Com Stripe] [Opus Autogen Proto Com] [Opus Autogen Proto] [Opus Autogen] [Opus]]
resolved=[Opus Autogen Proto Com Stripe Payserver Events Privacy NewDeletionManifest RootTypeNo errors! Great job.
]
loc=test/cli/autogen-ignore/autogen-ignore.rb:12
is_defining_ref=1
[ref id=11]
scope=[]
name=[Google Protobuf DescriptorPool]
nesting=[]
resolved=[]
loc=test/cli/autogen-ignore/autogen-ignore.rb:12
is_defining_ref=0
20 changes: 20 additions & 0 deletions test/cli/autogen-ignore/autogen-ignore.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# typed: ignore

module Opus
module Autogen
module Proto
module Com
module Stripe
module Payserver
module Events
module Privacy
NewDeletionManifest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("com.stripe.payserver.events.privacy.NewDeletionManifest").msgclass
NewDeletionManifest::RootType = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("com.stripe.payserver.events.privacy.NewDeletionManifest.RootType").enummodule
end
end
end
end
end
end
end
end
5 changes: 5 additions & 0 deletions test/cli/autogen-ignore/autogen-ignore.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
#!/bin/bash

set -euo pipefail

main/sorbet --silence-dev-message --stop-after=namer -p autogen test/cli/autogen-ignore/autogen-ignore.rb 2>&1
14 changes: 0 additions & 14 deletions test/testdata/rewriter/protobuf_descriptor_pool.rb

This file was deleted.

This file was deleted.

0 comments on commit f20d4cc

Please sign in to comment.