rbs-inline 0.3.0 → 0.5.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +10 -7
- data/Rakefile +12 -0
- data/lib/rbs/inline/annotation_parser/tokenizer.rb +361 -0
- data/lib/rbs/inline/annotation_parser.rb +548 -326
- data/lib/rbs/inline/ast/annotations.rb +446 -136
- data/lib/rbs/inline/ast/comment_lines.rb +32 -18
- data/lib/rbs/inline/ast/declarations.rb +67 -28
- data/lib/rbs/inline/ast/members.rb +137 -140
- data/lib/rbs/inline/ast/tree.rb +104 -5
- data/lib/rbs/inline/cli.rb +12 -12
- data/lib/rbs/inline/node_utils.rb +4 -0
- data/lib/rbs/inline/parser.rb +140 -59
- data/lib/rbs/inline/version.rb +1 -1
- data/lib/rbs/inline/writer.rb +243 -94
- data/lib/rbs/inline.rb +4 -0
- data/rbs_collection.lock.yaml +3 -7
- data/rbs_collection.yaml +2 -0
- data/sig/generated/rbs/inline/annotation_parser/tokenizer.rbs +221 -0
- data/sig/generated/rbs/inline/annotation_parser.rbs +148 -92
- data/sig/generated/rbs/inline/ast/annotations.rbs +142 -36
- data/sig/generated/rbs/inline/ast/comment_lines.rbs +35 -0
- data/sig/generated/rbs/inline/ast/declarations.rbs +29 -10
- data/sig/generated/rbs/inline/ast/members.rbs +33 -24
- data/sig/generated/rbs/inline/ast/tree.rbs +132 -0
- data/sig/generated/rbs/inline/cli.rbs +3 -3
- data/sig/generated/rbs/inline/node_utils.rbs +11 -0
- data/sig/generated/rbs/inline/parser.rbs +38 -18
- data/sig/generated/rbs/inline/version.rbs +7 -0
- data/sig/generated/rbs/inline/writer.rbs +104 -0
- data/sig/generated/rbs/inline.rbs +7 -0
- metadata +14 -14
- data/sig/rbs/inline/annotation_parser.rbs +0 -0
- data/sig/rbs/inline/ast/comment_lines.rbs +0 -27
- data/sig/rbs/inline/ast/tree.rbs +0 -98
- data/sig/rbs/inline/node_utils.rbs +0 -7
- data/sig/rbs/inline/writer.rbs +0 -27
- data/sig/rbs/inline.rbs +0 -41
- data/yard-samples/hello.rb +0 -6
- data/yard-samples/sample1.rb +0 -26
@@ -5,11 +5,13 @@ use Prism::*
|
|
5
5
|
module RBS
|
6
6
|
module Inline
|
7
7
|
class Parser < Prism::Visitor
|
8
|
+
type with_members = AST::Declarations::ModuleDecl | AST::Declarations::ClassDecl | AST::Declarations::SingletonClassDecl | AST::Declarations::BlockDecl
|
9
|
+
|
8
10
|
# The top level declarations
|
9
11
|
attr_reader decls: Array[AST::Declarations::t]
|
10
12
|
|
11
13
|
# The surrounding declarations
|
12
|
-
attr_reader surrounding_decls: Array[
|
14
|
+
attr_reader surrounding_decls: Array[with_members]
|
13
15
|
|
14
16
|
# ParsingResult associated with the line number at the end
|
15
17
|
#
|
@@ -30,21 +32,30 @@ module RBS
|
|
30
32
|
|
31
33
|
def initialize: () -> void
|
32
34
|
|
35
|
+
# Parses the given Prism result to a three tuple
|
36
|
+
#
|
37
|
+
# Returns a three tuple of:
|
38
|
+
#
|
39
|
+
# 1. An array of `use` directives
|
40
|
+
# 2. An array of declarations
|
41
|
+
# 3. An array of RBS declarations given as `@rbs!` annotation at top-level
|
42
|
+
#
|
43
|
+
# Note that only RBS declarations are allowed in the top-level `@rbs!` annotations.
|
44
|
+
# RBS *members* are ignored in the array.
|
45
|
+
#
|
33
46
|
# @rbs result: ParseResult
|
34
47
|
# @rbs opt_in: bool -- `true` for *opt-out* mode, `false` for *opt-in* mode.
|
35
|
-
# @rbs
|
36
|
-
def self.parse: (ParseResult result, opt_in: bool) -> [ Array[AST::Annotations::Use], Array[AST::Declarations::t] ]?
|
48
|
+
# @rbs return: [Array[AST::Annotations::Use], Array[AST::Declarations::t], Array[RBS::AST::Declarations::t]]?
|
49
|
+
def self.parse: (ParseResult result, opt_in: bool) -> [ Array[AST::Annotations::Use], Array[AST::Declarations::t], Array[RBS::AST::Declarations::t] ]?
|
37
50
|
|
38
|
-
# @rbs
|
39
|
-
def current_class_module_decl: () ->
|
51
|
+
# @rbs return: with_members?
|
52
|
+
def current_class_module_decl: () -> with_members?
|
40
53
|
|
41
|
-
# @rbs
|
42
|
-
def current_class_module_decl!: () ->
|
54
|
+
# @rbs return: with_members
|
55
|
+
def current_class_module_decl!: () -> with_members
|
43
56
|
|
44
|
-
#
|
45
|
-
|
46
|
-
def push_class_module_decl: (AST::Declarations::ModuleDecl | AST::Declarations::ClassDecl) { () -> void } -> void
|
47
|
-
| (AST::Declarations::ConstantDecl) -> void
|
57
|
+
# : (with_members) { () -> void } -> void
|
58
|
+
def push_class_module_decl: (with_members) { () -> void } -> void
|
48
59
|
|
49
60
|
# Load inner declarations and delete them from `#comments` hash
|
50
61
|
#
|
@@ -60,6 +71,9 @@ module RBS
|
|
60
71
|
# @rbs override
|
61
72
|
def visit_class_node: ...
|
62
73
|
|
74
|
+
# @rbs override
|
75
|
+
def visit_singleton_class_node: ...
|
76
|
+
|
63
77
|
# @rbs override
|
64
78
|
def visit_module_node: ...
|
65
79
|
|
@@ -86,12 +100,15 @@ module RBS
|
|
86
100
|
def visit_call_node: ...
|
87
101
|
|
88
102
|
# @rbs new_visibility: RBS::AST::Members::visibility?
|
89
|
-
# @rbs block:
|
90
|
-
# @rbs
|
103
|
+
# @rbs &block: () -> void
|
104
|
+
# @rbs return: void
|
91
105
|
def push_visibility: (RBS::AST::Members::visibility? new_visibility) { () -> void } -> void
|
92
106
|
|
107
|
+
# @rbs [A] (Node) { () -> A } -> A?
|
108
|
+
def process_nesting_node: [A] (Node) { () -> A } -> A?
|
109
|
+
|
93
110
|
# @rbs node: Node
|
94
|
-
# @rbs
|
111
|
+
# @rbs return: bool
|
95
112
|
def ignored_node?: (Node node) -> bool
|
96
113
|
|
97
114
|
# Fetch Application annotation which is associated to `node`
|
@@ -99,19 +116,22 @@ module RBS
|
|
99
116
|
# The application annotation is removed from `comments`.
|
100
117
|
#
|
101
118
|
# @rbs node: Node
|
102
|
-
# @rbs
|
119
|
+
# @rbs return: AST::Annotations::Application?
|
103
120
|
def application_annotation: (Node node) -> AST::Annotations::Application?
|
104
121
|
|
105
|
-
# Fetch
|
122
|
+
# Fetch TypeAssertion annotation which is associated to `node`
|
106
123
|
#
|
107
124
|
# The assertion annotation is removed from `comments`.
|
108
125
|
#
|
109
126
|
# @rbs node: Node | Location
|
110
|
-
# @rbs
|
111
|
-
def assertion_annotation: (Node | Location node) -> AST::Annotations::
|
127
|
+
# @rbs return: AST::Annotations::TypeAssertion?
|
128
|
+
def assertion_annotation: (Node | Location node) -> AST::Annotations::TypeAssertion?
|
112
129
|
|
113
130
|
# @rbs override
|
114
131
|
def visit_constant_write_node: ...
|
132
|
+
|
133
|
+
# @rbs override
|
134
|
+
def visit_block_node: ...
|
115
135
|
end
|
116
136
|
end
|
117
137
|
end
|
@@ -0,0 +1,104 @@
|
|
1
|
+
# Generated from lib/rbs/inline/writer.rb with RBS::Inline
|
2
|
+
|
3
|
+
module RBS
|
4
|
+
module Inline
|
5
|
+
class Writer
|
6
|
+
interface _Content
|
7
|
+
def <<: (RBS::AST::Declarations::t | RBS::AST::Members::t) -> void
|
8
|
+
|
9
|
+
def concat: (Array[RBS::AST::Declarations::t | RBS::AST::Members::t]) -> void
|
10
|
+
end
|
11
|
+
|
12
|
+
attr_reader output: String
|
13
|
+
|
14
|
+
attr_reader writer: RBS::Writer
|
15
|
+
|
16
|
+
# @rbs buffer: String
|
17
|
+
def initialize: (?String buffer) -> void
|
18
|
+
|
19
|
+
# @rbs uses: Array[AST::Annotations::Use]
|
20
|
+
# @rbs decls: Array[AST::Declarations::t]
|
21
|
+
# @rbs rbs_decls: Array[RBS::AST::Declarations::t]
|
22
|
+
def self.write: (Array[AST::Annotations::Use] uses, Array[AST::Declarations::t] decls, Array[RBS::AST::Declarations::t] rbs_decls) -> void
|
23
|
+
|
24
|
+
# @rbs *lines: String
|
25
|
+
# @rbs return: void
|
26
|
+
def header: (*String lines) -> void
|
27
|
+
|
28
|
+
# @rbs uses: Array[AST::Annotations::Use]
|
29
|
+
# @rbs decls: Array[AST::Declarations::t]
|
30
|
+
# @rbs rbs_decls: Array[RBS::AST::Declarations::t] --
|
31
|
+
# Top level `rbs!` declarations
|
32
|
+
# @rbs return: void
|
33
|
+
def write: (Array[AST::Annotations::Use] uses, Array[AST::Declarations::t] decls, Array[RBS::AST::Declarations::t] rbs_decls) -> void
|
34
|
+
|
35
|
+
# @rbs decl: AST::Declarations::t
|
36
|
+
# @rbs rbs: _Content
|
37
|
+
# @rbs return: void
|
38
|
+
def translate_decl: (AST::Declarations::t decl, _Content rbs) -> void
|
39
|
+
|
40
|
+
# @rbs decl: AST::Declarations::ClassDecl
|
41
|
+
# @rbs rbs: _Content
|
42
|
+
# @rbs return: void
|
43
|
+
def translate_class_decl: (AST::Declarations::ClassDecl decl, _Content rbs) -> void
|
44
|
+
|
45
|
+
# @rbs members: Array[AST::Declarations::t | AST::Members::t]
|
46
|
+
# @rbs decl: AST::Declarations::SingletonClassDecl?
|
47
|
+
# @rbs rbs: _Content
|
48
|
+
# @rbs return: void
|
49
|
+
def translate_members: (Array[AST::Declarations::t | AST::Members::t] members, AST::Declarations::SingletonClassDecl? decl, _Content rbs) -> void
|
50
|
+
|
51
|
+
# @rbs decl: AST::Declarations::ModuleDecl
|
52
|
+
# @rbs rbs: _Content
|
53
|
+
# @rbs return: void
|
54
|
+
def translate_module_decl: (AST::Declarations::ModuleDecl decl, _Content rbs) -> void
|
55
|
+
|
56
|
+
# @rbs decl: AST::Declarations::ConstantDecl
|
57
|
+
# @rbs rbs: _Content
|
58
|
+
# @rbs return: void
|
59
|
+
def translate_constant_decl: (AST::Declarations::ConstantDecl decl, _Content rbs) -> void
|
60
|
+
|
61
|
+
# @rbs decl: AST::Declarations::SingletonClassDecl
|
62
|
+
# @rbs rbs: _Content
|
63
|
+
# @rbs return: void
|
64
|
+
def translate_singleton_decl: (AST::Declarations::SingletonClassDecl decl, _Content rbs) -> void
|
65
|
+
|
66
|
+
# @rbs member: AST::Members::t
|
67
|
+
# @rbs decl: AST::Declarations::SingletonClassDecl? --
|
68
|
+
# The surrouding singleton class definition
|
69
|
+
# @rbs rbs: _Content
|
70
|
+
# @rbs return void
|
71
|
+
def translate_member: (AST::Members::t member, AST::Declarations::SingletonClassDecl? decl, _Content rbs) -> void
|
72
|
+
|
73
|
+
private
|
74
|
+
|
75
|
+
# Returns the `kind` of the method definition
|
76
|
+
#
|
77
|
+
# ```rb
|
78
|
+
# def self.foo = () # :singleton
|
79
|
+
# class A
|
80
|
+
# class << self
|
81
|
+
# def bar = () # :singleton
|
82
|
+
# end
|
83
|
+
# end
|
84
|
+
#
|
85
|
+
# def object.foo = () # Not supported (returns :instance)
|
86
|
+
# ```
|
87
|
+
#
|
88
|
+
# @rbs member: AST::Members::RubyDef
|
89
|
+
# @rbs decl: AST::Declarations::SingletonClassDecl?
|
90
|
+
# @rbs return: RBS::AST::Members::MethodDefinition::kind
|
91
|
+
def method_kind: (AST::Members::RubyDef member, AST::Declarations::SingletonClassDecl? decl) -> RBS::AST::Members::MethodDefinition::kind
|
92
|
+
|
93
|
+
# @rbs block: AST::Declarations::BlockDecl
|
94
|
+
# @rbs rbs: _Content
|
95
|
+
# @rbs return: void
|
96
|
+
def translate_module_block_decl: (AST::Declarations::BlockDecl block, _Content rbs) -> void
|
97
|
+
|
98
|
+
# @rbs block: AST::Declarations::BlockDecl
|
99
|
+
# @rbs rbs: _Content
|
100
|
+
# @rbs return: void
|
101
|
+
def translate_class_block_decl: (AST::Declarations::BlockDecl block, _Content rbs) -> void
|
102
|
+
end
|
103
|
+
end
|
104
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rbs-inline
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.5.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Soutaro Matsumoto
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2024-
|
11
|
+
date: 2024-07-01 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: prism
|
@@ -19,7 +19,7 @@ dependencies:
|
|
19
19
|
version: '0.29'
|
20
20
|
- - "<"
|
21
21
|
- !ruby/object:Gem::Version
|
22
|
-
version: '0.
|
22
|
+
version: '0.31'
|
23
23
|
type: :runtime
|
24
24
|
prerelease: false
|
25
25
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -29,21 +29,21 @@ dependencies:
|
|
29
29
|
version: '0.29'
|
30
30
|
- - "<"
|
31
31
|
- !ruby/object:Gem::Version
|
32
|
-
version: '0.
|
32
|
+
version: '0.31'
|
33
33
|
- !ruby/object:Gem::Dependency
|
34
34
|
name: rbs
|
35
35
|
requirement: !ruby/object:Gem::Requirement
|
36
36
|
requirements:
|
37
37
|
- - "~>"
|
38
38
|
- !ruby/object:Gem::Version
|
39
|
-
version: 3.5.0
|
39
|
+
version: 3.5.0
|
40
40
|
type: :runtime
|
41
41
|
prerelease: false
|
42
42
|
version_requirements: !ruby/object:Gem::Requirement
|
43
43
|
requirements:
|
44
44
|
- - "~>"
|
45
45
|
- !ruby/object:Gem::Version
|
46
|
-
version: 3.5.0
|
46
|
+
version: 3.5.0
|
47
47
|
description: Inline RBS type declaration.
|
48
48
|
email:
|
49
49
|
- matsumoto@soutaro.com
|
@@ -61,6 +61,7 @@ files:
|
|
61
61
|
- exe/rbs-inline
|
62
62
|
- lib/rbs/inline.rb
|
63
63
|
- lib/rbs/inline/annotation_parser.rb
|
64
|
+
- lib/rbs/inline/annotation_parser/tokenizer.rb
|
64
65
|
- lib/rbs/inline/ast/annotations.rb
|
65
66
|
- lib/rbs/inline/ast/comment_lines.rb
|
66
67
|
- lib/rbs/inline/ast/declarations.rb
|
@@ -73,21 +74,20 @@ files:
|
|
73
74
|
- lib/rbs/inline/writer.rb
|
74
75
|
- rbs_collection.lock.yaml
|
75
76
|
- rbs_collection.yaml
|
77
|
+
- sig/generated/rbs/inline.rbs
|
76
78
|
- sig/generated/rbs/inline/annotation_parser.rbs
|
79
|
+
- sig/generated/rbs/inline/annotation_parser/tokenizer.rbs
|
77
80
|
- sig/generated/rbs/inline/ast/annotations.rbs
|
81
|
+
- sig/generated/rbs/inline/ast/comment_lines.rbs
|
78
82
|
- sig/generated/rbs/inline/ast/declarations.rbs
|
79
83
|
- sig/generated/rbs/inline/ast/members.rbs
|
84
|
+
- sig/generated/rbs/inline/ast/tree.rbs
|
80
85
|
- sig/generated/rbs/inline/cli.rbs
|
86
|
+
- sig/generated/rbs/inline/node_utils.rbs
|
81
87
|
- sig/generated/rbs/inline/parser.rbs
|
82
|
-
- sig/rbs/inline.rbs
|
83
|
-
- sig/rbs/inline/
|
84
|
-
- sig/rbs/inline/ast/comment_lines.rbs
|
88
|
+
- sig/generated/rbs/inline/version.rbs
|
89
|
+
- sig/generated/rbs/inline/writer.rbs
|
85
90
|
- sig/rbs/inline/ast/members.rbs
|
86
|
-
- sig/rbs/inline/ast/tree.rbs
|
87
|
-
- sig/rbs/inline/node_utils.rbs
|
88
|
-
- sig/rbs/inline/writer.rbs
|
89
|
-
- yard-samples/hello.rb
|
90
|
-
- yard-samples/sample1.rb
|
91
91
|
homepage: https://github.com/soutaro/rbs-inline
|
92
92
|
licenses:
|
93
93
|
- MIT
|
File without changes
|
@@ -1,27 +0,0 @@
|
|
1
|
-
module RBS
|
2
|
-
module Inline
|
3
|
-
module AST
|
4
|
-
# CommentLines represents consecutive comments
|
5
|
-
#
|
6
|
-
# The comments construct one String.
|
7
|
-
#
|
8
|
-
# ```ruby
|
9
|
-
# # Hello <-- Comment1
|
10
|
-
# # World <-- Comment2
|
11
|
-
# ```
|
12
|
-
#
|
13
|
-
# We want to get a String of comment1 and comment2, `"Hello\nWorld".
|
14
|
-
# And want to translate a location in the string into the location in comment1 and comment2.
|
15
|
-
#
|
16
|
-
class CommentLines
|
17
|
-
attr_reader comments: Array[[Prism::Comment, Integer]]
|
18
|
-
|
19
|
-
def initialize: (Array[Prism::Comment]) -> void
|
20
|
-
|
21
|
-
def string: () -> String
|
22
|
-
|
23
|
-
def comment_location: (Integer index) -> [Prism::Comment, Integer]?
|
24
|
-
end
|
25
|
-
end
|
26
|
-
end
|
27
|
-
end
|
data/sig/rbs/inline/ast/tree.rbs
DELETED
@@ -1,98 +0,0 @@
|
|
1
|
-
module RBS
|
2
|
-
module Inline
|
3
|
-
module AST
|
4
|
-
class Tree
|
5
|
-
type token = [Symbol, String]
|
6
|
-
|
7
|
-
type tree = token | Tree | Types::t | MethodType | nil
|
8
|
-
|
9
|
-
attr_reader trees: Array[tree]
|
10
|
-
|
11
|
-
# Children but without `tWHITESPACE` tokens
|
12
|
-
#
|
13
|
-
attr_reader non_trivia_trees: Array[tree]
|
14
|
-
|
15
|
-
attr_reader type: Symbol
|
16
|
-
|
17
|
-
def initialize: (Symbol type) -> void
|
18
|
-
|
19
|
-
def <<: (tree) -> self
|
20
|
-
|
21
|
-
# Returns n-th token from the children
|
22
|
-
#
|
23
|
-
# Raises if the value is not a token or nil.
|
24
|
-
#
|
25
|
-
def nth_token: (Integer) -> token?
|
26
|
-
|
27
|
-
# Returns n-th token from the children
|
28
|
-
#
|
29
|
-
# Returns `nil` if the value is not a token.
|
30
|
-
#
|
31
|
-
def nth_token?: (Integer) -> token?
|
32
|
-
|
33
|
-
# Returns n-th token from the children
|
34
|
-
#
|
35
|
-
# Raises if the value is not token.
|
36
|
-
#
|
37
|
-
def nth_token!: (Integer) -> token
|
38
|
-
|
39
|
-
# Returns n-th tree from the children
|
40
|
-
#
|
41
|
-
# Raises if the value is not a tree or nil.
|
42
|
-
#
|
43
|
-
def nth_tree: (Integer) -> Tree?
|
44
|
-
|
45
|
-
# Returns n-th tree from the children
|
46
|
-
#
|
47
|
-
# Returns `nil` if the value is not a tree or nil.
|
48
|
-
#
|
49
|
-
def nth_tree?: (Integer) -> Tree?
|
50
|
-
|
51
|
-
# Returns n-th tree from the children
|
52
|
-
#
|
53
|
-
# Raises if the value is not a tree.
|
54
|
-
#
|
55
|
-
def nth_tree!: (Integer) -> Tree
|
56
|
-
|
57
|
-
# Returns n-th type from the children
|
58
|
-
#
|
59
|
-
# Raises if the value is not a tree or nil.
|
60
|
-
#
|
61
|
-
def nth_type: (Integer) -> Types::t?
|
62
|
-
|
63
|
-
# Returns n-th type from the children
|
64
|
-
#
|
65
|
-
# Returns `nil` if the value is not a type.
|
66
|
-
#
|
67
|
-
def nth_type?: (Integer) -> Types::t?
|
68
|
-
|
69
|
-
# Returns n-th type from the children
|
70
|
-
#
|
71
|
-
# Raises if the value is not a type.
|
72
|
-
#
|
73
|
-
def nth_type!: (Integer) -> Types::t
|
74
|
-
|
75
|
-
# Returns n-th method type from the children
|
76
|
-
#
|
77
|
-
# Raises if the value is not a method type or `nil`.
|
78
|
-
#
|
79
|
-
def nth_method_type: (Integer) -> MethodType?
|
80
|
-
|
81
|
-
# Returns n-th method type from the children
|
82
|
-
#
|
83
|
-
# Returns `nil` if the value is not a method type.
|
84
|
-
#
|
85
|
-
def nth_method_type?: (Integer) -> MethodType?
|
86
|
-
|
87
|
-
# Returns n-th method tree from the children
|
88
|
-
#
|
89
|
-
# Raises if the value is not a method tree.
|
90
|
-
#
|
91
|
-
def nth_method_type!: (Integer) -> MethodType
|
92
|
-
|
93
|
-
# Returns the source code associated to the tree
|
94
|
-
def to_s: () -> String
|
95
|
-
end
|
96
|
-
end
|
97
|
-
end
|
98
|
-
end
|
data/sig/rbs/inline/writer.rbs
DELETED
@@ -1,27 +0,0 @@
|
|
1
|
-
module RBS
|
2
|
-
module Inline
|
3
|
-
class Writer
|
4
|
-
attr_reader output: String
|
5
|
-
|
6
|
-
attr_reader writer: RBS::Writer
|
7
|
-
|
8
|
-
def self.write: (Array[AST::Annotations::Use], Array[AST::Declarations::t]) -> String
|
9
|
-
|
10
|
-
def initialize: (?String) -> void
|
11
|
-
|
12
|
-
def write: (Array[AST::Annotations::Use], Array[AST::Declarations::t]) -> void
|
13
|
-
|
14
|
-
def header: (*String) -> void
|
15
|
-
|
16
|
-
def translate_decl: (AST::Declarations::t) -> RBS::AST::Declarations::t?
|
17
|
-
|
18
|
-
def translate_class_decl: (AST::Declarations::ClassDecl) -> RBS::AST::Declarations::Class?
|
19
|
-
|
20
|
-
def translate_module_decl: (AST::Declarations::ModuleDecl) -> RBS::AST::Declarations::Module?
|
21
|
-
|
22
|
-
def translate_constant_decl: (AST::Declarations::ConstantDecl) -> RBS::AST::Declarations::Constant?
|
23
|
-
|
24
|
-
def translate_member: (AST::Members::t) -> Array[RBS::AST::Members::t | RBS::AST::Declarations::t]?
|
25
|
-
end
|
26
|
-
end
|
27
|
-
end
|
data/sig/rbs/inline.rbs
DELETED
@@ -1,41 +0,0 @@
|
|
1
|
-
module RBS
|
2
|
-
module Inline
|
3
|
-
type token = [Symbol, String]
|
4
|
-
|
5
|
-
VERSION: String
|
6
|
-
|
7
|
-
module AST
|
8
|
-
module Declarations
|
9
|
-
end
|
10
|
-
|
11
|
-
module Annotations
|
12
|
-
type t = VarType
|
13
|
-
| ReturnType
|
14
|
-
| Use
|
15
|
-
| Inherits
|
16
|
-
| Generic
|
17
|
-
| ModuleSelf
|
18
|
-
| Skip
|
19
|
-
| Assertion
|
20
|
-
| Application
|
21
|
-
| RBSAnnotation
|
22
|
-
| Override
|
23
|
-
| IvarType
|
24
|
-
| Yields
|
25
|
-
| Embedded
|
26
|
-
# | Def
|
27
|
-
# | AttrReader | AttrWriter | AttrAccessor
|
28
|
-
# | Include | Extend | Prepend
|
29
|
-
# | Alias
|
30
|
-
end
|
31
|
-
|
32
|
-
module Members
|
33
|
-
type ruby = RubyDef | RubyAlias | RubyMixin | RubyAttr | RubyPublic | RubyPrivate
|
34
|
-
|
35
|
-
type rbs = RBSIvar | RBSEmbedded
|
36
|
-
|
37
|
-
type t = ruby | rbs
|
38
|
-
end
|
39
|
-
end
|
40
|
-
end
|
41
|
-
end
|
data/yard-samples/hello.rb
DELETED
data/yard-samples/sample1.rb
DELETED
@@ -1,26 +0,0 @@
|
|
1
|
-
module Foo
|
2
|
-
# This is `Foo#foo` method
|
3
|
-
#
|
4
|
-
# @param i [Integer] Size of something
|
5
|
-
# @param j [Symbol,Integer] Something doing meaningful
|
6
|
-
# @return [String?] Returns a string or nil
|
7
|
-
#
|
8
|
-
#
|
9
|
-
# @rbs.method (Integer, String) -> void
|
10
|
-
# | [A] () { () [self: String] -> A } -> A?
|
11
|
-
#
|
12
|
-
def foo(i, j)
|
13
|
-
|
14
|
-
end
|
15
|
-
|
16
|
-
# @rbs.inline
|
17
|
-
# attr_reader hoge: String
|
18
|
-
# attr_reader name: String?
|
19
|
-
def hoge
|
20
|
-
|
21
|
-
end
|
22
|
-
|
23
|
-
class Foo
|
24
|
-
# @rbs.inline include Foo[String]
|
25
|
-
end
|
26
|
-
end
|