Linux tsuru-no-tsurugi 5.15.0-186-generic #196-Ubuntu SMP Sat Jun 20 16:09:34 UTC 2026 x86_64
Apache/2.4.52 (Ubuntu)
Server IP : 192.168.0.18 & Your IP : 216.73.216.68
Domains :
Cant Read [ /etc/named.conf ]
User : www-data
Terminal
Auto Root
Create File
Create Folder
Localroot Suggester
Backdoor Destroyer
Readme
/
usr /
lib /
ruby /
gems /
3.0.0 /
gems /
rbs-1.0.4 /
lib /
rbs /
Delete
Unzip
Name
Size
Permission
Date
Action
ast
[ DIR ]
drwxr-xr-x
2026-07-06 06:50
definition_builder
[ DIR ]
drwxr-xr-x
2026-07-06 06:50
prototype
[ DIR ]
drwxr-xr-x
2026-07-06 06:50
test
[ DIR ]
drwxr-xr-x
2026-07-06 06:50
buffer.rb
890
B
-rw-r--r--
2021-07-07 19:08
builtin_names.rb
1.56
KB
-rw-r--r--
2021-07-07 19:08
cli.rb
21.91
KB
-rw-r--r--
2021-07-07 19:08
constant.rb
461
B
-rw-r--r--
2021-07-07 19:08
constant_table.rb
4.89
KB
-rw-r--r--
2021-07-07 19:08
definition.rb
9.17
KB
-rw-r--r--
2021-07-07 19:08
definition_builder.rb
29.39
KB
-rw-r--r--
2021-07-07 19:08
environment.rb
13.72
KB
-rw-r--r--
2021-07-07 19:08
environment_loader.rb
3.06
KB
-rw-r--r--
2021-07-07 19:08
environment_walker.rb
4.11
KB
-rw-r--r--
2021-07-07 19:08
errors.rb
8.66
KB
-rw-r--r--
2021-07-07 19:08
factory.rb
301
B
-rw-r--r--
2021-07-07 19:08
location.rb
2.31
KB
-rw-r--r--
2021-07-07 19:08
method_type.rb
2.15
KB
-rw-r--r--
2021-07-07 19:08
namespace.rb
2.12
KB
-rw-r--r--
2021-07-07 19:08
parser.rb
95.03
KB
-rw-r--r--
2021-07-07 19:08
parser.y
45.51
KB
-rw-r--r--
2021-07-07 19:08
repository.rb
2.64
KB
-rw-r--r--
2021-07-07 19:08
substitution.rb
1.23
KB
-rw-r--r--
2021-07-07 19:08
test.rb
2.57
KB
-rw-r--r--
2021-07-07 19:08
type_name.rb
1.61
KB
-rw-r--r--
2021-07-07 19:08
type_name_resolver.rb
1.56
KB
-rw-r--r--
2021-07-07 19:08
types.rb
25.19
KB
-rw-r--r--
2021-07-07 19:08
validator.rb
1.76
KB
-rw-r--r--
2021-07-07 19:08
variance_calculator.rb
3.89
KB
-rw-r--r--
2021-07-07 19:08
vendorer.rb
2.03
KB
-rw-r--r--
2021-07-07 19:08
version.rb
35
B
-rw-r--r--
2021-07-07 19:08
writer.rb
8.12
KB
-rw-r--r--
2021-07-07 19:08
Save
Rename
module RBS class EnvironmentWalker InstanceNode = Struct.new(:type_name, keyword_init: true) SingletonNode = Struct.new(:type_name, keyword_init: true) TypeNameNode = Struct.new(:type_name, keyword_init: true) attr_reader :env def initialize(env:) @env = env @only_ancestors = nil end def builder @builder ||= DefinitionBuilder.new(env: env) end def only_ancestors!(only = true) @only_ancestors = only self end def only_ancestors? @only_ancestors end include TSort def tsort_each_node(&block) env.class_decls.each_key do |type_name| yield InstanceNode.new(type_name: type_name) yield SingletonNode.new(type_name: type_name) end env.interface_decls.each_key do |type_name| yield TypeNameNode.new(type_name: type_name) end env.alias_decls.each_key do |type_name| yield TypeNameNode.new(type_name: type_name) end end def tsort_each_child(node, &block) name = node.type_name unless name.namespace.empty? yield SingletonNode.new(type_name: name.namespace.to_type_name) end case node when TypeNameNode case when name.interface? definition = builder.build_interface(name) unless only_ancestors? definition.each_type do |type| each_type_node type, &block end end when name.alias? each_type_node builder.expand_alias(name), &block else raise "Unexpected TypeNameNode with type_name=#{name}" end when InstanceNode, SingletonNode definition = if node.is_a?(InstanceNode) builder.build_instance(name) else builder.build_singleton(name) end if ancestors = definition.ancestors ancestors.ancestors.each do |ancestor| case ancestor when Definition::Ancestor::Instance yield InstanceNode.new(type_name: ancestor.name) unless only_ancestors? ancestor.args.each do |type| each_type_node type, &block end end when Definition::Ancestor::Singleton yield SingletonNode.new(type_name: ancestor.name) end end end unless only_ancestors? definition.each_type do |type| each_type_node type, &block end end end end def each_type_name(type, &block) each_type_node(type) do |node| yield node.type_name end end def each_type_node(type, &block) case type when RBS::Types::Bases::Any when RBS::Types::Bases::Class when RBS::Types::Bases::Instance when RBS::Types::Bases::Self when RBS::Types::Bases::Top when RBS::Types::Bases::Bottom when RBS::Types::Bases::Bool when RBS::Types::Bases::Void when RBS::Types::Bases::Nil when RBS::Types::Variable when RBS::Types::ClassSingleton yield SingletonNode.new(type_name: type.name) when RBS::Types::ClassInstance yield InstanceNode.new(type_name: type.name) type.args.each do |ty| each_type_node(ty, &block) end when RBS::Types::Interface yield TypeNameNode.new(type_name: type.name) type.args.each do |ty| each_type_node(ty, &block) end when RBS::Types::Alias yield TypeNameNode.new(type_name: type.name) when RBS::Types::Union, RBS::Types::Intersection, RBS::Types::Tuple type.types.each do |ty| each_type_node ty, &block end when RBS::Types::Optional each_type_node type.type, &block when RBS::Types::Literal # nop when RBS::Types::Record type.fields.each_value do |ty| each_type_node ty, &block end when RBS::Types::Proc type.each_type do |ty| each_type_node ty, &block end else raise "Unexpected type given: #{type}" end end end end