module Prism
module Reflection
class Field
attr_reader name: Symbol
def initialize: (Symbol name) -> void
end
class NodeField < Field
end
class OptionalNodeField < Field
end
class NodeListField < Field
end
class ConstantField < Field
end
class OptionalConstantField < Field
end
class ConstantListField < Field
end
class StringField < Field
end
class LocationField < Field
end
class OptionalLocationField < Field
end
class IntegerField < Field
end
class FloatField < Field
end
class FlagsField < Field
attr_reader flags: Array[Symbol]
def initialize: (Symbol name, Array[Symbol] flags) -> void
end
def self.fields_for: (singleton(Node) node) -> Array[Field]
end
end