Linux cesa-www-main 6.1.0-49-cloud-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.174-1 (2026-05-26) x86_64
Apache/2.4.68 (Debian)
Server IP : 10.218.0.2 & Your IP : 216.73.216.28
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.1.0 /
gems /
rbs-2.1.0 /
lib /
rbs /
Delete
Unzip
Name
Size
Permission
Date
Action
annotate
[ DIR ]
drwxr-xr-x
2025-06-05 11:22
ast
[ DIR ]
drwxr-xr-x
2025-06-05 11:22
collection
[ DIR ]
drwxr-xr-x
2025-06-05 11:22
definition_builder
[ DIR ]
drwxr-xr-x
2025-06-05 11:22
parser_compat
[ DIR ]
drwxr-xr-x
2025-06-05 11:22
prototype
[ DIR ]
drwxr-xr-x
2025-06-05 11:22
test
[ DIR ]
drwxr-xr-x
2025-06-05 11:22
ancestor_graph.rb
2.47
KB
-rw-r--r--
2022-04-12 11:11
annotate.rb
157
B
-rw-r--r--
2022-04-12 11:11
buffer.rb
1
KB
-rw-r--r--
2022-04-12 11:11
builtin_names.rb
1.59
KB
-rw-r--r--
2022-04-12 11:11
char_scanner.rb
292
B
-rw-r--r--
2022-04-12 11:11
cli.rb
27.19
KB
-rw-r--r--
2022-04-12 11:11
collection.rb
295
B
-rw-r--r--
2022-04-12 11:11
constant.rb
461
B
-rw-r--r--
2022-04-12 11:11
constant_table.rb
5.04
KB
-rw-r--r--
2022-04-12 11:11
definition.rb
9.47
KB
-rw-r--r--
2022-04-12 11:11
definition_builder.rb
32.63
KB
-rw-r--r--
2022-04-12 11:11
environment.rb
15.26
KB
-rw-r--r--
2022-04-12 11:11
environment_loader.rb
3.32
KB
-rw-r--r--
2022-04-12 11:11
environment_walker.rb
4.2
KB
-rw-r--r--
2022-04-12 11:11
errors.rb
11.68
KB
-rw-r--r--
2022-04-12 11:11
factory.rb
301
B
-rw-r--r--
2022-04-12 11:11
location_aux.rb
2.73
KB
-rw-r--r--
2022-04-12 11:11
locator.rb
5.39
KB
-rw-r--r--
2022-04-12 11:11
method_type.rb
2.65
KB
-rw-r--r--
2022-04-12 11:11
namespace.rb
2.12
KB
-rw-r--r--
2022-04-12 11:11
parser_aux.rb
1.3
KB
-rw-r--r--
2022-04-12 11:11
repository.rb
2.83
KB
-rw-r--r--
2022-04-12 11:11
substitution.rb
1.23
KB
-rw-r--r--
2022-04-12 11:11
test.rb
2.57
KB
-rw-r--r--
2022-04-12 11:11
type_alias_dependency.rb
2.82
KB
-rw-r--r--
2022-04-12 11:11
type_alias_regularity.rb
3.14
KB
-rw-r--r--
2022-04-12 11:11
type_name.rb
1.63
KB
-rw-r--r--
2022-04-12 11:11
type_name_resolver.rb
1.56
KB
-rw-r--r--
2022-04-12 11:11
types.rb
27.19
KB
-rw-r--r--
2022-04-12 11:11
validator.rb
4.6
KB
-rw-r--r--
2022-04-12 11:11
variance_calculator.rb
4.45
KB
-rw-r--r--
2022-04-12 11:11
vendorer.rb
2.03
KB
-rw-r--r--
2022-04-12 11:11
version.rb
35
B
-rw-r--r--
2022-04-12 11:11
writer.rb
7.91
KB
-rw-r--r--
2022-04-12 11:11
Save
Rename
module RBS class Validator attr_reader :env attr_reader :resolver attr_reader :definition_builder def initialize(env:, resolver:) @env = env @resolver = resolver @definition_builder = DefinitionBuilder.new(env: env) end def absolute_type(type, context:) type.map_type_name do |type_name, _, type| resolver.resolve(type_name, context: context) || yield(type) end end # Validates presence of the relative type, and application arity match. def validate_type(type, context:) case type when Types::ClassInstance, Types::Interface, Types::Alias # @type var type: Types::ClassInstance | Types::Interface | Types::Alias if type.name.namespace.relative? type = _ = absolute_type(type, context: context) do |_| NoTypeFoundError.check!(type.name.absolute!, env: env, location: type.location) end end definition_builder.validate_type_name(type.name, type.location) type_params = case type when Types::ClassInstance env.class_decls[type.name].type_params when Types::Interface env.interface_decls[type.name].decl.type_params when Types::Alias env.alias_decls[type.name].decl.type_params end InvalidTypeApplicationError.check!( type_name: type.name, args: type.args, params: type_params.each.map(&:name), location: type.location ) when Types::ClassSingleton definition_builder.validate_type_presence(type) end type.each_type do |type| validate_type(type, context: context) end end def validate_type_alias(entry:) type_name = entry.decl.name if type_alias_dependency.circular_definition?(type_name) location = entry.decl.location or raise raise RecursiveTypeAliasError.new(alias_names: [type_name], location: location) end if diagnostic = type_alias_regularity.nonregular?(type_name) location = entry.decl.location or raise raise NonregularTypeAliasError.new(diagnostic: diagnostic, location: location) end unless entry.decl.type_params.empty? calculator = VarianceCalculator.new(builder: definition_builder) result = calculator.in_type_alias(name: type_name) if set = result.incompatible?(entry.decl.type_params) set.each do |param_name| param = entry.decl.type_params.find {|param| param.name == param_name } or raise raise InvalidVarianceAnnotationError.new( type_name: type_name, param: param, location: entry.decl.type.location ) end end validate_type_params( entry.decl.type_params, type_name: type_name, location: entry.decl.location&.aref(:type_params) ) end end def validate_method_definition(method_def, type_name:) method_def.types.each do |method_type| unless method_type.type_params.empty? loc = method_type.location&.aref(:type_params) validate_type_params( method_type.type_params, type_name: type_name, method_name: method_def.name, location: loc ) end end end def validate_type_params(params, type_name: , method_name: nil, location:) # @type var each_node: TSort::_EachNode[Symbol] each_node = __skip__ = -> (&block) do params.each do |param| block[param.name] end end # @type var each_child: TSort::_EachChild[Symbol] each_child = __skip__ = -> (name, &block) do if param = params.find {|p| p.name == name } if b = param.upper_bound b.free_variables.each do |tv| block[tv] end end end end TSort.each_strongly_connected_component(each_node, each_child) do |names| if names.size > 1 params = names.map do |name| params.find {|param| param.name == name} or raise end raise CyclicTypeParameterBound.new( type_name: type_name, method_name: method_name, params: params, location: location ) end end end def type_alias_dependency @type_alias_dependency ||= TypeAliasDependency.new(env: env) end def type_alias_regularity @type_alias_regularity ||= TypeAliasRegularity.validate(env: env) end end end