orthoses 1.20.0 → 1.20.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/orthoses/outputable/resolve_type_names.rb +9 -18
- data/lib/orthoses/version.rb +1 -1
- data/sig/orthoses/outputable.rbs +12 -10
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4afc081ffb25e92f7bc87870c966ba41ed2d148ecf545f66630568d796383b5d
|
4
|
+
data.tar.gz: d374c8117a5b795ef7c60f8096e97b610b76ea61c108f5b1695be571020b973c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 0e7514a41e28c172c32bfe54859ed43ddc389bc345087ed1f18a963c1975fb595c3378ecc8ca614d1c4ee406b10a0072fab0f0a81a2e534541b614ada07cff11
|
7
|
+
data.tar.gz: 9f173a3a93eb3e38aeac71f456fe0c20cf2cf5f8bd8daa360f1e5df496162c1796d647de8c3ab2217bb55d2235813bf8aff453f1f7d2050252cc8fbc6d85e6cb
|
@@ -31,6 +31,7 @@ module Orthoses
|
|
31
31
|
writer = RBS::Writer.new(out: out)
|
32
32
|
type_name = RBS::TypeName.parse(content.name).absolute!
|
33
33
|
entry, members = entry_and_members(env, type_name)
|
34
|
+
raise "Cannot fetch entry for #{type_name}" unless entry && members
|
34
35
|
content.header = content_header(entry)
|
35
36
|
members.each do |member|
|
36
37
|
writer.write_member(member)
|
@@ -44,19 +45,11 @@ module Orthoses
|
|
44
45
|
|
45
46
|
def entry_and_members(env, type_name)
|
46
47
|
if type_name.class?
|
47
|
-
env.class_decls[type_name]
|
48
|
-
|
49
|
-
end
|
48
|
+
entry = env.class_decls[type_name] or return
|
49
|
+
[entry, entry.decls.flat_map { |decl| decl.decl.members }]
|
50
50
|
elsif type_name.interface?
|
51
|
-
env.interface_decls[type_name]
|
52
|
-
|
53
|
-
end
|
54
|
-
end.then do |entry, members|
|
55
|
-
unless entry
|
56
|
-
Orthoses.logger.warn "No entry for #{type_name}"
|
57
|
-
return
|
58
|
-
end
|
59
|
-
[entry, members]
|
51
|
+
entry = env.interface_decls[type_name] or return
|
52
|
+
[entry, entry.decl.members]
|
60
53
|
end
|
61
54
|
end
|
62
55
|
|
@@ -93,12 +86,10 @@ module Orthoses
|
|
93
86
|
|
94
87
|
module WriterCopy
|
95
88
|
def name_and_args(name, args)
|
96
|
-
if
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
"#{name}[#{args.join(", ")}]"
|
101
|
-
end
|
89
|
+
if args.empty?
|
90
|
+
"#{name}"
|
91
|
+
else
|
92
|
+
"#{name}[#{args.join(", ")}]"
|
102
93
|
end
|
103
94
|
end
|
104
95
|
|
data/lib/orthoses/version.rb
CHANGED
data/sig/orthoses/outputable.rbs
CHANGED
@@ -28,20 +28,22 @@ class Orthoses::Outputable::ConstantizableFilter
|
|
28
28
|
end
|
29
29
|
|
30
30
|
class Orthoses::Outputable::ResolveTypeNames
|
31
|
-
@loader:
|
32
|
-
def initialize: (
|
33
|
-
def call: () ->
|
34
|
-
private def entry_and_members: (
|
35
|
-
private def content_header: (
|
36
|
-
private def class_header: (
|
37
|
-
private def module_header: (
|
38
|
-
private def interface_header: (
|
31
|
+
@loader: Orthoses::_Call
|
32
|
+
def initialize: (Orthoses::_Call loader) -> void
|
33
|
+
def call: () -> Orthoses::store
|
34
|
+
private def entry_and_members: (RBS::Environment, RBS::TypeName) -> ([ RBS::Environment::ModuleEntry | RBS::Environment::ClassEntry, ::Array[::RBS::AST::Members::t | ::RBS::AST::Declarations::t] ] | [ RBS::Environment::InterfaceEntry, ::Array[::RBS::AST::Declarations::Interface::member] ] | nil)
|
35
|
+
private def content_header: (entry) -> String
|
36
|
+
private def class_header: (::RBS::AST::Declarations::Class) -> String
|
37
|
+
private def module_header: (::RBS::AST::Declarations::Module) -> String
|
38
|
+
private def interface_header: (::RBS::AST::Declarations::Interface) -> String
|
39
|
+
type entry = RBS::Environment::ModuleEntry | RBS::Environment::ClassEntry | RBS::Environment::InterfaceEntry
|
40
|
+
include WriterCopy
|
39
41
|
end
|
40
42
|
|
41
43
|
module Orthoses::Outputable::ResolveTypeNames::WriterCopy
|
42
|
-
def name_and_args: (
|
44
|
+
def name_and_args: (::RBS::TypeName, ::Array[::RBS::Types::t]) -> String
|
43
45
|
|
44
|
-
def name_and_params: (
|
46
|
+
def name_and_params: (::RBS::TypeName, ::Array[::RBS::AST::TypeParam]) -> String
|
45
47
|
end
|
46
48
|
|
47
49
|
# UniqContentBody is an internal middleware
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: orthoses
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.20.
|
4
|
+
version: 1.20.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- ksss
|
8
8
|
bindir: exe
|
9
9
|
cert_chain: []
|
10
|
-
date: 2025-04-
|
10
|
+
date: 2025-04-18 00:00:00.000000000 Z
|
11
11
|
dependencies:
|
12
12
|
- !ruby/object:Gem::Dependency
|
13
13
|
name: rbs
|