Submit
Path:
~
/
/
proc
/
thread-self
/
root
/
usr
/
lib
/
ruby
/
gems
/
3.0.0
/
gems
/
rbs-1.0.4
/
lib
/
rbs
/
ast
/
File Content:
members.rb
module RBS module AST module Members class Base end class MethodDefinition < Base attr_reader :name attr_reader :kind attr_reader :types attr_reader :annotations attr_reader :location attr_reader :comment attr_reader :overload def initialize(name:, kind:, types:, annotations:, location:, comment:, overload:) @name = name @kind = kind @types = types @annotations = annotations @location = location @comment = comment @overload = overload ? true : false end def ==(other) other.is_a?(MethodDefinition) && other.name == name && other.kind == kind && other.types == types && other.overload == overload end alias eql? == def hash self.class.hash ^ name.hash ^ kind.hash ^ types.hash ^ overload.hash end def instance? kind == :instance || kind == :singleton_instance end def singleton? kind == :singleton || kind == :singleton_instance end def overload? overload end def update(name: self.name, kind: self.kind, types: self.types, annotations: self.annotations, location: self.location, comment: self.comment, overload: self.overload) self.class.new( name: name, kind: kind, types: types, annotations: annotations, location: location, comment: comment, overload: overload ) end def to_json(*a) { member: :method_definition, kind: kind, types: types, annotations: annotations, location: location, comment: comment, overload: overload }.to_json(*a) end end module Var attr_reader :name attr_reader :type attr_reader :location attr_reader :comment def initialize(name:, type:, location:, comment:) @name = name @type = type @location = location @comment = comment end def ==(other) other.is_a?(self.class) && other.name == name && other.type == type end alias eql? == def hash self.class.hash ^ name.hash ^ type.hash end end class InstanceVariable < Base include Var def to_json(*a) { member: :instance_variable, name: name, type: type, location: location, comment: comment }.to_json(*a) end end class ClassInstanceVariable < Base include Var def to_json(*a) { member: :class_instance_variable, name: name, type: type, location: location, comment: comment }.to_json(*a) end end class ClassVariable < Base include Var def to_json(*a) { member: :class_variable, name: name, type: type, location: location, comment: comment }.to_json(*a) end end module Mixin attr_reader :name attr_reader :args attr_reader :annotations attr_reader :location attr_reader :comment def initialize(name:, args:, annotations:, location:, comment:) @name = name @args = args @annotations = annotations @location = location @comment = comment end def ==(other) other.is_a?(self.class) && other.name == name && other.args == args end def eql?(other) self == other end def hash self.class.hash ^ name.hash ^ args.hash end end class Include < Base include Mixin def to_json(*a) { member: :include, name: name, args: args, annotations: annotations, location: location, comment: comment }.to_json(*a) end end class Extend < Base include Mixin def to_json(*a) { member: :extend, name: name, args: args, annotations: annotations, location: location, comment: comment }.to_json(*a) end end class Prepend < Base include Mixin def to_json(*a) { member: :prepend, name: name, args: args, annotations: annotations, location: location, comment: comment }.to_json(*a) end end module Attribute attr_reader :name attr_reader :type attr_reader :kind attr_reader :ivar_name attr_reader :annotations attr_reader :location attr_reader :comment def initialize(name:, type:, ivar_name:, kind:, annotations:, location:, comment:) @name = name @type = type @ivar_name = ivar_name @annotations = annotations @location = location @comment = comment @kind = kind end def ==(other) other.is_a?(self.class) && other.name == name && other.type == type && other.ivar_name == ivar_name && other.kind == kind end alias eql? == def hash self.class.hash ^ name.hash ^ type.hash ^ ivar_name.hash ^ kind.hash end end class AttrReader < Base include Attribute def to_json(*a) { member: :attr_reader, name: name, type: type, ivar_name: ivar_name, kind: kind, annotations: annotations, location: location, comment: comment }.to_json(*a) end end class AttrAccessor < Base include Attribute def to_json(*a) { member: :attr_accessor, name: name, type: type, ivar_name: ivar_name, kind: kind, annotations: annotations, location: location, comment: comment }.to_json(*a) end end class AttrWriter < Base include Attribute def to_json(*a) { member: :attr_writer, name: name, type: type, ivar_name: ivar_name, kind: kind, annotations: annotations, location: location, comment: comment }.to_json(*a) end end module LocationOnly attr_reader :location def initialize(location:) @location = location end def ==(other) other.is_a?(self.class) end alias eql? == def hash self.class.hash end end class Public < Base include LocationOnly def to_json(*a) { member: :public, location: location }.to_json(*a) end end class Private < Base include LocationOnly def to_json(*a) { member: :private, location: location }.to_json(*a) end end class Alias < Base attr_reader :new_name attr_reader :old_name attr_reader :kind attr_reader :annotations attr_reader :location attr_reader :comment def initialize(new_name:, old_name:, kind:, annotations:, location:, comment:) @new_name = new_name @old_name = old_name @kind = kind @annotations = annotations @location = location @comment = comment end def ==(other) other.is_a?(self.class) && other.new_name == new_name && other.old_name == old_name && other.kind == kind end alias eql? == def hash self.class.hash ^ new_name.hash ^ old_name.hash ^ kind.hash end def to_json(*a) { member: :alias, new_name: new_name, old_name: old_name, kind: kind, annotations: annotations, location: location, comment: comment }.to_json(*a) end def instance? kind == :instance end def singleton? kind == :singleton end end end end end
Submit
FILE
FOLDER
INFO
Name
Size
Permission
Action
annotation.rb
489 bytes
0644
comment.rb
689 bytes
0644
declarations.rb
10812 bytes
0644
members.rb
8838 bytes
0644
N4ST4R_ID | Naxtarrr