File Manager
module RBS
module AST
module Members
type t = MethodDefinition
| InstanceVariable | ClassInstanceVariable | ClassVariable
| Include | Extend | Prepend
| AttrReader | AttrWriter | AttrAccessor
| Public | Private
| Alias
# Base class for members.
class Base
end
class MethodDefinition < Base
type kind = :instance | :singleton | :singleton_instance
attr_reader name: Symbol
attr_reader kind: kind
attr_reader types: Array[MethodType]
attr_reader annotations: Array[Annotation]
attr_reader location: Location?
attr_reader comment: Comment?
attr_reader overload: bool
def initialize: (name: Symbol, kind: kind, types: Array[MethodType], annotations: Array[Annotation], location: Location?, comment: Comment?, overload: boolish) -> void
include _HashEqual
include _ToJson
def instance?: () -> bool
def singleton?: () -> bool
def overload?: () -> bool
def update: (?name: Symbol, ?kind: kind, ?types: Array[MethodType], ?annotations: Array[Annotation], ?location: Location?, ?comment: Comment?, ?overload: boolish) -> MethodDefinition
end
module Var
attr_reader name: Symbol
attr_reader type: Types::t
attr_reader location: Location?
attr_reader comment: Comment?
def initialize: (name: Symbol, type: Types::t, location: Location?, comment: Comment?) -> void
include _HashEqual
end
class InstanceVariable < Base
include Var
include _ToJson
end
class ClassInstanceVariable < Base
include Var
include _ToJson
end
class ClassVariable < Base
include Var
include _ToJson
end
module Mixin
attr_reader name: TypeName
attr_reader args: Array[Types::t]
attr_reader annotations: Array[Annotation]
attr_reader location: Location?
attr_reader comment: Comment?
def initialize: (name: TypeName, args: Array[Types::t], annotations: Array[Annotation], location: Location?, comment: Comment?) -> void
include _HashEqual
end
class Include < Base
include Mixin
include _ToJson
end
class Extend < Base
include Mixin
include _ToJson
end
class Prepend < Base
include Mixin
include _ToJson
end
module Attribute
type kind = :instance | :singleton
attr_reader name: Symbol
attr_reader type: Types::t
attr_reader kind: kind
attr_reader ivar_name: Symbol | false | nil
attr_reader annotations: Array[Annotation]
attr_reader location: Location?
attr_reader comment: Comment?
def initialize: (name: Symbol, type: Types::t, ivar_name: Symbol | false | nil, kind: kind, annotations: Array[Annotation], location: Location?, comment: Comment?) -> void
include _HashEqual
end
class AttrReader < Base
include Attribute
include _ToJson
end
class AttrAccessor < Base
include Attribute
include _ToJson
end
class AttrWriter < Base
include Attribute
include _ToJson
end
module LocationOnly
attr_reader location: Location?
def initialize: (location: Location?) -> void
include _HashEqual
end
class Public < Base
include LocationOnly
include _ToJson
end
class Private < Base
include LocationOnly
include _ToJson
end
class Alias < Base
type kind = :instance | :singleton
attr_reader new_name: Symbol
attr_reader old_name: Symbol
attr_reader kind: kind
attr_reader annotations: Array[Annotation]
attr_reader location: Location?
attr_reader comment: Comment?
def initialize: (new_name: Symbol, old_name: Symbol, kind: kind, annotations: Array[Annotation], location: Location?, comment: Comment?) -> void
include _HashEqual
include _ToJson
def instance?: () -> bool
def singleton?: () -> bool
end
end
end
end
File Manager Version 1.0, Coded By Lucas
Email: hehe@yahoo.com