Class: RBI::Tree
- Inherits:
-
NodeWithComments
show all
- Defined in:
- lib/rbi/index.rb,
lib/rbi/model.rb,
lib/rbi/rewriters/annotate.rb,
lib/rbi/rewriters/deannotate.rb,
lib/rbi/rewriters/sort_nodes.rb,
lib/rbi/rewriters/group_nodes.rb,
lib/rbi/rewriters/merge_trees.rb,
lib/rbi/rewriters/attr_to_methods.rb,
lib/rbi/rewriters/filter_versions.rb,
lib/rbi/rewriters/add_sig_templates.rb,
lib/rbi/rewriters/translate_rbs_sigs.rb,
lib/rbi/rewriters/flatten_visibilities.rb,
lib/rbi/rewriters/nest_singleton_methods.rb,
lib/rbi/rewriters/nest_top_level_members.rb,
lib/rbi/rewriters/nest_non_public_members.rb,
lib/rbi/rewriters/flatten_singleton_methods.rb
Instance Attribute Summary collapse
#comments
Attributes inherited from Node
#loc, #parent_tree
Instance Method Summary
collapse
#annotations, #comments?, #merge_with, #version_requirements
Methods inherited from Node
#compatible_with?, #detach, #merge_with, #parent_conflict_tree, #parent_scope, #print, #rbs_print, #rbs_string, #replace, #satisfies_version?, #string
Constructor Details
#initialize(loc: nil, comments: nil, &block) ⇒ Tree
Returns a new instance of Tree.
125
126
127
128
129
|
# File 'lib/rbi/model.rb', line 125
def initialize(loc: nil, comments: nil, &block)
super(loc: loc, comments: )
@nodes = [] block&.call(self)
end
|
Instance Attribute Details
#nodes ⇒ Object
122
123
124
|
# File 'lib/rbi/model.rb', line 122
def nodes
@nodes
end
|
Instance Method Details
#<<(node) ⇒ Object
132
133
134
135
|
# File 'lib/rbi/model.rb', line 132
def <<(node)
node.parent_tree = self
@nodes << node
end
|
#add_sig_templates!(with_todo_comment: true) ⇒ Object
77
78
79
80
|
# File 'lib/rbi/rewriters/add_sig_templates.rb', line 77
def add_sig_templates!(with_todo_comment: true)
visitor = Rewriters::AddSigTemplates.new(with_todo_comment: )
visitor.visit(self)
end
|
#annotate!(annotation, annotate_scopes: false, annotate_properties: false) ⇒ Object
46
47
48
49
50
51
52
53
|
# File 'lib/rbi/rewriters/annotate.rb', line 46
def annotate!(annotation, annotate_scopes: false, annotate_properties: false)
visitor = Rewriters::Annotate.new(
annotation,
annotate_scopes: annotate_scopes,
annotate_properties: annotate_properties,
)
visitor.visit(self)
end
|
#deannotate!(annotation) ⇒ Object
38
39
40
41
|
# File 'lib/rbi/rewriters/deannotate.rb', line 38
def deannotate!(annotation)
visitor = Rewriters::Deannotate.new(annotation)
visitor.visit(self)
end
|
#empty? ⇒ Boolean
138
139
140
|
# File 'lib/rbi/model.rb', line 138
def empty?
nodes.empty?
end
|
#filter_versions!(version) ⇒ Object
113
114
115
116
|
# File 'lib/rbi/rewriters/filter_versions.rb', line 113
def filter_versions!(version)
visitor = Rewriters::FilterVersions.new(version)
visitor.visit(self)
end
|
#flatten_singleton_methods! ⇒ Object
58
59
60
61
|
# File 'lib/rbi/rewriters/flatten_singleton_methods.rb', line 58
def flatten_singleton_methods!
visitor = Rewriters::FlattenSingletonMethods.new
visitor.visit(self)
end
|
#flatten_visibilities! ⇒ Object
57
58
59
60
|
# File 'lib/rbi/rewriters/flatten_visibilities.rb', line 57
def flatten_visibilities!
visitor = Rewriters::FlattenVisibilities.new
visitor.visit(self)
end
|
#group_nodes! ⇒ Object
80
81
82
83
|
# File 'lib/rbi/rewriters/group_nodes.rb', line 80
def group_nodes!
visitor = Rewriters::GroupNodes.new
visitor.visit(self)
end
|
#index ⇒ Object
62
63
64
|
# File 'lib/rbi/index.rb', line 62
def index
Index.index(self)
end
|
#merge(other, left_name: "left", right_name: "right", keep: Rewriters::Merge::Keep::NONE) ⇒ Object
336
337
338
|
# File 'lib/rbi/rewriters/merge_trees.rb', line 336
def merge(other, left_name: "left", right_name: "right", keep: Rewriters::Merge::Keep::NONE)
Rewriters::Merge.merge_trees(self, other, left_name: left_name, right_name: right_name, keep: keep)
end
|
#nest_non_public_members! ⇒ Object
52
53
54
55
|
# File 'lib/rbi/rewriters/nest_non_public_members.rb', line 52
def nest_non_public_members!
visitor = Rewriters::NestNonPublicMembers.new
visitor.visit(self)
end
|
#nest_singleton_methods! ⇒ Object
41
42
43
44
|
# File 'lib/rbi/rewriters/nest_singleton_methods.rb', line 41
def nest_singleton_methods!
visitor = Rewriters::NestSingletonMethods.new
visitor.visit(self)
end
|
#nest_top_level_members! ⇒ Object
60
61
62
63
|
# File 'lib/rbi/rewriters/nest_top_level_members.rb', line 60
def nest_top_level_members!
visitor = Rewriters::NestTopLevelMembers.new
visitor.visit(self)
end
|
#replace_attributes_with_methods! ⇒ Object
50
51
52
53
|
# File 'lib/rbi/rewriters/attr_to_methods.rb', line 50
def replace_attributes_with_methods!
visitor = Rewriters::AttrToMethods.new
visitor.visit(self)
end
|
#sort_nodes! ⇒ Object
115
116
117
118
|
# File 'lib/rbi/rewriters/sort_nodes.rb', line 115
def sort_nodes!
visitor = Rewriters::SortNodes.new
visitor.visit(self)
end
|
#translate_rbs_sigs! ⇒ Object
88
89
90
91
|
# File 'lib/rbi/rewriters/translate_rbs_sigs.rb', line 88
def translate_rbs_sigs!
visitor = Rewriters::TranslateRBSSigs.new
visitor.visit(self)
end
|