Sha256: 59caf042f2d6a15b5b809ca5513423690832774c89c33bd2832e92f8233d0efd

Contents?: true

Size: 1.16 KB

Versions: 6

Compression:

Stored size: 1.16 KB

Contents

module Steep
  class AnnotationParser
    VAR_NAME: Regexp

    METHOD_NAME: Regexp

    CONST_NAME: Regexp

    DYNAMIC_NAME: Regexp

    IVAR_NAME: Regexp

    attr_reader factory: AST::Types::Factory

    def initialize: (factory: AST::Types::Factory) -> void

    class SyntaxError < StandardError
      attr_reader source: String

      attr_reader location: RBS::Location[untyped, untyped]

      def initialize: (source: String, location: RBS::Location[untyped, untyped], ?exn: Exception?) -> void
    end

    TYPE: Regexp

    COLON: Regexp

    PARAM: Regexp

    TYPE_PARAMS: Regexp

    def parse_type: (String) -> AST::Types::t

    # ```
    # @type ${keyword} ${name}: ${type}
    # ```
    #
    # Example:
    #
    # - `@type const Foo::Bar: String`
    # - `@type var xyzzy: Array[String]`
    #
    def keyword_subject_type: (String keyword, Regexp name) -> Regexp

    # ```
    # @type ${keyword}: ${type}
    # ```
    #
    # Example:
    #
    # - `@type break: String`
    # - `@type self: Foo`
    #
    def keyword_and_type: (String keyword) -> ::Regexp

    def parse: (String src, location: RBS::Location[untyped, untyped]) -> AST::Annotation::t?
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
steep-1.3.2 sig/steep/annotation_parser.rbs
steep-1.3.1 sig/steep/annotation_parser.rbs
steep-1.4.0.dev.1 sig/steep/annotation_parser.rbs
steep-1.3.0 sig/steep/annotation_parser.rbs
steep-1.3.0.pre.2 sig/steep/annotation_parser.rbs
steep-1.3.0.pre.1 sig/steep/annotation_parser.rbs