sorbet-schema 0.4.2 → 0.5.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (58) hide show
  1. checksums.yaml +4 -4
  2. data/.standard.yml +2 -1
  3. data/CHANGELOG.md +23 -0
  4. data/Gemfile +1 -0
  5. data/Gemfile.lock +50 -49
  6. data/README.md +230 -7
  7. data/lib/sorbet-schema/t/struct.rb +38 -0
  8. data/lib/sorbet-schema/version.rb +1 -1
  9. data/lib/sorbet-schema.rb +7 -1
  10. data/lib/typed/coercion/struct_coercer.rb +35 -1
  11. data/lib/typed/serializer.rb +1 -1
  12. data/sorbet/rbi/gems/ansi@1.5.0.rbi +1 -0
  13. data/sorbet/rbi/gems/ast@2.4.2.rbi +1 -0
  14. data/sorbet/rbi/gems/bigdecimal@3.1.8.rbi +9 -0
  15. data/sorbet/rbi/gems/{builder@3.2.4.rbi → builder@3.3.0.rbi} +23 -25
  16. data/sorbet/rbi/gems/{erubi@1.12.0.rbi → erubi@1.13.0.rbi} +20 -15
  17. data/sorbet/rbi/gems/io-console@0.7.2.rbi +1 -0
  18. data/sorbet/rbi/gems/{json@2.7.1.rbi → json@2.7.2.rbi} +77 -68
  19. data/sorbet/rbi/gems/language_server-protocol@3.17.0.3.rbi +1 -0
  20. data/sorbet/rbi/gems/lint_roller@1.1.0.rbi +1 -0
  21. data/sorbet/rbi/gems/minitest-focus@1.4.0.rbi +14 -13
  22. data/sorbet/rbi/gems/{minitest-reporters@1.6.1.rbi → minitest-reporters@1.7.1.rbi} +48 -40
  23. data/sorbet/rbi/gems/{minitest@5.22.3.rbi → minitest@5.24.0.rbi} +174 -147
  24. data/sorbet/rbi/gems/netrc@0.11.0.rbi +1 -0
  25. data/sorbet/rbi/gems/{parallel@1.24.0.rbi → parallel@1.25.1.rbi} +27 -20
  26. data/sorbet/rbi/gems/{parser@3.3.0.5.rbi → parser@3.3.3.0.rbi} +233 -186
  27. data/sorbet/rbi/gems/{prism@0.24.0.rbi → prism@0.30.0.rbi} +20933 -12761
  28. data/sorbet/rbi/gems/psych@5.1.2.rbi +1 -0
  29. data/sorbet/rbi/gems/{racc@1.7.3.rbi → racc@1.8.0.rbi} +38 -33
  30. data/sorbet/rbi/gems/rainbow@3.1.1.rbi +1 -0
  31. data/sorbet/rbi/gems/{rake@13.1.0.rbi → rake@13.2.1.rbi} +56 -55
  32. data/sorbet/rbi/gems/{rbi@0.1.9.rbi → rbi@0.1.13.rbi} +226 -154
  33. data/sorbet/rbi/gems/{regexp_parser@2.9.0.rbi → regexp_parser@2.9.2.rbi} +3 -2
  34. data/sorbet/rbi/gems/{reline@0.4.3.rbi → reline@0.5.9.rbi} +1 -0
  35. data/sorbet/rbi/gems/{rexml@3.2.6.rbi → rexml@3.3.0.rbi} +134 -114
  36. data/sorbet/rbi/gems/{rubocop-ast@1.31.2.rbi → rubocop-ast@1.31.3.rbi} +4 -6
  37. data/sorbet/rbi/gems/{rubocop-performance@1.20.2.rbi → rubocop-performance@1.21.1.rbi} +1 -0
  38. data/sorbet/rbi/gems/rubocop-sorbet@0.7.8.rbi +1 -0
  39. data/sorbet/rbi/gems/{rubocop@1.62.1.rbi → rubocop@1.64.1.rbi} +1149 -592
  40. data/sorbet/rbi/gems/ruby-progressbar@1.13.0.rbi +1 -0
  41. data/sorbet/rbi/gems/sorbet-result@1.1.0.rbi +83 -82
  42. data/sorbet/rbi/gems/sorbet-struct-comparable@1.3.0.rbi +1 -0
  43. data/sorbet/rbi/gems/{spoom@1.2.4.rbi → spoom@1.3.2.rbi} +1057 -413
  44. data/sorbet/rbi/gems/standard-custom@1.0.2.rbi +1 -0
  45. data/sorbet/rbi/gems/{standard-performance@1.3.1.rbi → standard-performance@1.4.0.rbi} +1 -0
  46. data/sorbet/rbi/gems/standard-sorbet@0.0.2.rbi +1 -0
  47. data/sorbet/rbi/gems/{standard@1.35.1.rbi → standard@1.39.0.rbi} +160 -90
  48. data/sorbet/rbi/gems/{stringio@3.1.0.rbi → stringio@3.1.1.rbi} +1 -0
  49. data/sorbet/rbi/gems/strscan@3.1.0.rbi +9 -0
  50. data/sorbet/rbi/gems/{tapioca@0.12.0.rbi → tapioca@0.14.4.rbi} +190 -142
  51. data/sorbet/rbi/gems/thor@1.3.1.rbi +1 -0
  52. data/sorbet/rbi/gems/unicode-display_width@2.5.0.rbi +1 -0
  53. data/sorbet/rbi/gems/yard-sorbet@0.8.1.rbi +2 -1
  54. data/sorbet/rbi/gems/yard@0.9.36.rbi +1 -0
  55. data/sorbet/rbi/gems/{zeitwerk@2.6.13.rbi → zeitwerk@2.6.16.rbi} +139 -91
  56. metadata +29 -28
  57. data/sorbet/rbi/gems/prettier_print@1.2.1.rbi +0 -951
  58. data/sorbet/rbi/gems/syntax_tree@6.2.0.rbi +0 -23133
@@ -4,6 +4,7 @@
4
4
  # This is an autogenerated file for types exported from the `regexp_parser` gem.
5
5
  # Please instead update this file by running `bin/tapioca gem regexp_parser`.
6
6
 
7
+
7
8
  # source://regexp_parser//lib/regexp_parser/expression/shared.rb#1
8
9
  module Regexp::Expression; end
9
10
 
@@ -1132,7 +1133,7 @@ end
1132
1133
  # source://regexp_parser//lib/regexp_parser/expression/classes/keep.rb#2
1133
1134
  module Regexp::Expression::Keep; end
1134
1135
 
1135
- # TOOD: in regexp_parser v3.0.0 this should possibly be a Subexpression
1136
+ # TODO: in regexp_parser v3.0.0 this should possibly be a Subexpression
1136
1137
  # that contains all expressions to its left.
1137
1138
  #
1138
1139
  # source://regexp_parser//lib/regexp_parser/expression/classes/keep.rb#5
@@ -2368,7 +2369,7 @@ class Regexp::Parser
2368
2369
  # source://regexp_parser//lib/regexp_parser/parser.rb#262
2369
2370
  def assign_effective_number(exp); end
2370
2371
 
2371
- # Assigns referenced expressions to refering expressions, e.g. if there is
2372
+ # Assigns referenced expressions to referring expressions, e.g. if there is
2372
2373
  # an instance of Backreference::Number, its #referenced_expression is set to
2373
2374
  # the instance of Group::Capture that it refers to via its number.
2374
2375
  #
@@ -4,5 +4,6 @@
4
4
  # This is an autogenerated file for types exported from the `reline` gem.
5
5
  # Please instead update this file by running `bin/tapioca gem reline`.
6
6
 
7
+
7
8
  # THIS IS AN EMPTY RBI FILE.
8
9
  # see https://github.com/Shopify/tapioca#manually-requiring-parts-of-a-gem
@@ -1,9 +1,10 @@
1
- # typed: true
1
+ # typed: false
2
2
 
3
3
  # DO NOT EDIT MANUALLY
4
4
  # This is an autogenerated file for types exported from the `rexml` gem.
5
5
  # Please instead update this file by running `bin/tapioca gem rexml`.
6
6
 
7
+
7
8
  # This class needs:
8
9
  # * Documentation
9
10
  # * Work! Not all types of attlists are intelligently parsed, so we just
@@ -3453,47 +3454,48 @@ end
3453
3454
  # A Source that wraps an IO. See the Source class for method
3454
3455
  # documentation
3455
3456
  #
3456
- # source://rexml//lib/rexml/source.rb#159
3457
+ # source://rexml//lib/rexml/source.rb#176
3457
3458
  class REXML::IOSource < ::REXML::Source
3458
3459
  # block_size has been deprecated
3459
3460
  #
3460
3461
  # @return [IOSource] a new instance of IOSource
3461
3462
  #
3462
- # source://rexml//lib/rexml/source.rb#163
3463
+ # source://rexml//lib/rexml/source.rb#180
3463
3464
  def initialize(arg, block_size = T.unsafe(nil), encoding = T.unsafe(nil)); end
3464
3465
 
3465
- # source://rexml//lib/rexml/source.rb#215
3466
- def consume(pattern); end
3467
-
3468
3466
  # @return the current line in the source
3469
3467
  #
3470
- # source://rexml//lib/rexml/source.rb#244
3468
+ # source://rexml//lib/rexml/source.rb#258
3471
3469
  def current_line; end
3472
3470
 
3473
3471
  # @return [Boolean]
3474
3472
  #
3475
- # source://rexml//lib/rexml/source.rb#235
3473
+ # source://rexml//lib/rexml/source.rb#253
3476
3474
  def empty?; end
3477
3475
 
3478
- # source://rexml//lib/rexml/source.rb#219
3479
- def match(pattern, cons = T.unsafe(nil)); end
3476
+ # source://rexml//lib/rexml/source.rb#230
3477
+ def ensure_buffer; end
3480
3478
 
3481
- # source://rexml//lib/rexml/source.rb#239
3482
- def position; end
3479
+ # Note: When specifying a string for 'pattern', it must not include '>' except in the following formats:
3480
+ # - ">"
3481
+ # - "XXX>" (X is any string excluding '>')
3482
+ #
3483
+ # source://rexml//lib/rexml/source.rb#237
3484
+ def match(pattern, cons = T.unsafe(nil)); end
3483
3485
 
3484
- # source://rexml//lib/rexml/source.rb#207
3485
- def read; end
3486
+ # source://rexml//lib/rexml/source.rb#201
3487
+ def read(term = T.unsafe(nil)); end
3486
3488
 
3487
- # source://rexml//lib/rexml/source.rb#184
3488
- def scan(pattern, cons = T.unsafe(nil)); end
3489
+ # source://rexml//lib/rexml/source.rb#212
3490
+ def read_until(term); end
3489
3491
 
3490
3492
  private
3491
3493
 
3492
- # source://rexml//lib/rexml/source.rb#286
3494
+ # source://rexml//lib/rexml/source.rb#300
3493
3495
  def encoding_updated; end
3494
3496
 
3495
- # source://rexml//lib/rexml/source.rb#266
3496
- def readline; end
3497
+ # source://rexml//lib/rexml/source.rb#280
3498
+ def readline(term = T.unsafe(nil)); end
3497
3499
  end
3498
3500
 
3499
3501
  # Represents an XML Instruction; IE, <? ... ?>
@@ -3816,7 +3818,7 @@ class REXML::ParseException < ::RuntimeError
3816
3818
  # source://rexml//lib/rexml/parseexception.rb#6
3817
3819
  def initialize(message, source = T.unsafe(nil), parser = T.unsafe(nil), exception = T.unsafe(nil)); end
3818
3820
 
3819
- # source://rexml//lib/rexml/parseexception.rb#48
3821
+ # source://rexml//lib/rexml/parseexception.rb#49
3820
3822
  def context; end
3821
3823
 
3822
3824
  # Returns the value of attribute continued_exception.
@@ -3831,7 +3833,7 @@ class REXML::ParseException < ::RuntimeError
3831
3833
  # source://rexml//lib/rexml/parseexception.rb#4
3832
3834
  def continued_exception=(_arg0); end
3833
3835
 
3834
- # source://rexml//lib/rexml/parseexception.rb#43
3836
+ # source://rexml//lib/rexml/parseexception.rb#44
3835
3837
  def line; end
3836
3838
 
3837
3839
  # Returns the value of attribute parser.
@@ -3846,7 +3848,7 @@ class REXML::ParseException < ::RuntimeError
3846
3848
  # source://rexml//lib/rexml/parseexception.rb#4
3847
3849
  def parser=(_arg0); end
3848
3850
 
3849
- # source://rexml//lib/rexml/parseexception.rb#38
3851
+ # source://rexml//lib/rexml/parseexception.rb#39
3850
3852
  def position; end
3851
3853
 
3852
3854
  # Returns the value of attribute source.
@@ -3885,36 +3887,38 @@ end
3885
3887
  #
3886
3888
  # Nat Price gave me some good ideas for the API.
3887
3889
  #
3888
- # source://rexml//lib/rexml/parsers/baseparser.rb#29
3890
+ # source://rexml//lib/rexml/parsers/baseparser.rb#40
3889
3891
  class REXML::Parsers::BaseParser
3892
+ include ::REXML::Parsers::BaseParser::Private
3893
+
3890
3894
  # @return [BaseParser] a new instance of BaseParser
3891
3895
  #
3892
- # source://rexml//lib/rexml/parsers/baseparser.rb#115
3896
+ # source://rexml//lib/rexml/parsers/baseparser.rb#139
3893
3897
  def initialize(source); end
3894
3898
 
3895
- # source://rexml//lib/rexml/parsers/baseparser.rb#120
3899
+ # source://rexml//lib/rexml/parsers/baseparser.rb#144
3896
3900
  def add_listener(listener); end
3897
3901
 
3898
3902
  # Returns true if there are no more events
3899
3903
  #
3900
3904
  # @return [Boolean]
3901
3905
  #
3902
- # source://rexml//lib/rexml/parsers/baseparser.rb#146
3906
+ # source://rexml//lib/rexml/parsers/baseparser.rb#170
3903
3907
  def empty?; end
3904
3908
 
3905
- # source://rexml//lib/rexml/parsers/baseparser.rb#438
3909
+ # source://rexml//lib/rexml/parsers/baseparser.rb#463
3906
3910
  def entity(reference, entities); end
3907
3911
 
3908
3912
  # Returns true if there are more events. Synonymous with !empty?
3909
3913
  #
3910
3914
  # @return [Boolean]
3911
3915
  #
3912
- # source://rexml//lib/rexml/parsers/baseparser.rb#151
3916
+ # source://rexml//lib/rexml/parsers/baseparser.rb#175
3913
3917
  def has_next?; end
3914
3918
 
3915
3919
  # Escapes all possible entities
3916
3920
  #
3917
- # source://rexml//lib/rexml/parsers/baseparser.rb#449
3921
+ # source://rexml//lib/rexml/parsers/baseparser.rb#474
3918
3922
  def normalize(input, entities = T.unsafe(nil), entity_filter = T.unsafe(nil)); end
3919
3923
 
3920
3924
  # Peek at the +depth+ event in the stack. The first element on the stack
@@ -3924,75 +3928,102 @@ class REXML::Parsers::BaseParser
3924
3928
  # event, so you can effectively pre-parse the entire document (pull the
3925
3929
  # entire thing into memory) using this method.
3926
3930
  #
3927
- # source://rexml//lib/rexml/parsers/baseparser.rb#167
3931
+ # source://rexml//lib/rexml/parsers/baseparser.rb#191
3928
3932
  def peek(depth = T.unsafe(nil)); end
3929
3933
 
3930
- # source://rexml//lib/rexml/parsers/baseparser.rb#136
3934
+ # source://rexml//lib/rexml/parsers/baseparser.rb#160
3931
3935
  def position; end
3932
3936
 
3933
3937
  # Returns the next event. This is a +PullEvent+ object.
3934
3938
  #
3935
- # source://rexml//lib/rexml/parsers/baseparser.rb#182
3939
+ # source://rexml//lib/rexml/parsers/baseparser.rb#206
3936
3940
  def pull; end
3937
3941
 
3938
3942
  # Returns the value of attribute source.
3939
3943
  #
3940
- # source://rexml//lib/rexml/parsers/baseparser.rb#124
3944
+ # source://rexml//lib/rexml/parsers/baseparser.rb#148
3941
3945
  def source; end
3942
3946
 
3943
- # source://rexml//lib/rexml/parsers/baseparser.rb#126
3947
+ # source://rexml//lib/rexml/parsers/baseparser.rb#150
3944
3948
  def stream=(source); end
3945
3949
 
3946
3950
  # Unescapes all possible entities
3947
3951
  #
3948
- # source://rexml//lib/rexml/parsers/baseparser.rb#465
3952
+ # source://rexml//lib/rexml/parsers/baseparser.rb#490
3949
3953
  def unnormalize(string, entities = T.unsafe(nil), filter = T.unsafe(nil)); end
3950
3954
 
3951
3955
  # Push an event back on the head of the stream. This method
3952
3956
  # has (theoretically) infinite depth.
3953
3957
  #
3954
- # source://rexml//lib/rexml/parsers/baseparser.rb#157
3958
+ # source://rexml//lib/rexml/parsers/baseparser.rb#181
3955
3959
  def unshift(token); end
3956
3960
 
3957
3961
  private
3958
3962
 
3959
3963
  # @return [Boolean]
3960
3964
  #
3961
- # source://rexml//lib/rexml/parsers/baseparser.rb#495
3965
+ # source://rexml//lib/rexml/parsers/baseparser.rb#519
3962
3966
  def need_source_encoding_update?(xml_declaration_encoding); end
3963
3967
 
3964
- # source://rexml//lib/rexml/parsers/baseparser.rb#589
3968
+ # source://rexml//lib/rexml/parsers/baseparser.rb#630
3965
3969
  def parse_attributes(prefixes, curr_ns); end
3966
3970
 
3967
- # source://rexml//lib/rexml/parsers/baseparser.rb#514
3971
+ # source://rexml//lib/rexml/parsers/baseparser.rb#538
3968
3972
  def parse_id(base_error_message, accept_external_id:, accept_public_id:); end
3969
3973
 
3970
- # source://rexml//lib/rexml/parsers/baseparser.rb#542
3974
+ # source://rexml//lib/rexml/parsers/baseparser.rb#566
3971
3975
  def parse_id_invalid_details(accept_external_id:, accept_public_id:); end
3972
3976
 
3973
- # source://rexml//lib/rexml/parsers/baseparser.rb#501
3977
+ # source://rexml//lib/rexml/parsers/baseparser.rb#525
3974
3978
  def parse_name(base_error_message); end
3975
3979
 
3976
- # source://rexml//lib/rexml/parsers/baseparser.rb#580
3977
- def process_instruction; end
3980
+ # source://rexml//lib/rexml/parsers/baseparser.rb#604
3981
+ def process_instruction(start_position); end
3978
3982
 
3979
- # source://rexml//lib/rexml/parsers/baseparser.rb#190
3983
+ # source://rexml//lib/rexml/parsers/baseparser.rb#214
3980
3984
  def pull_event; end
3981
3985
  end
3982
3986
 
3983
- # source://rexml//lib/rexml/parsers/baseparser.rb#102
3987
+ # source://rexml//lib/rexml/parsers/baseparser.rb#113
3984
3988
  REXML::Parsers::BaseParser::EXTERNAL_ID_PUBLIC = T.let(T.unsafe(nil), Regexp)
3985
3989
 
3986
- # source://rexml//lib/rexml/parsers/baseparser.rb#103
3990
+ # source://rexml//lib/rexml/parsers/baseparser.rb#114
3987
3991
  REXML::Parsers::BaseParser::EXTERNAL_ID_SYSTEM = T.let(T.unsafe(nil), Regexp)
3988
3992
 
3989
- # source://rexml//lib/rexml/parsers/baseparser.rb#104
3993
+ # source://rexml//lib/rexml/parsers/baseparser.rb#115
3990
3994
  REXML::Parsers::BaseParser::PUBLIC_ID = T.let(T.unsafe(nil), Regexp)
3991
3995
 
3992
- # source://rexml//lib/rexml/parsers/baseparser.rb#38
3996
+ # source://rexml//lib/rexml/parsers/baseparser.rb#126
3997
+ module REXML::Parsers::BaseParser::Private; end
3998
+
3999
+ # source://rexml//lib/rexml/parsers/baseparser.rb#130
4000
+ REXML::Parsers::BaseParser::Private::ATTLISTDECL_END = T.let(T.unsafe(nil), Regexp)
4001
+
4002
+ # source://rexml//lib/rexml/parsers/baseparser.rb#129
4003
+ REXML::Parsers::BaseParser::Private::CLOSE_PATTERN = T.let(T.unsafe(nil), Regexp)
4004
+
4005
+ # source://rexml//lib/rexml/parsers/baseparser.rb#134
4006
+ REXML::Parsers::BaseParser::Private::ENTITYDECL_PATTERN = T.let(T.unsafe(nil), Regexp)
4007
+
4008
+ # source://rexml//lib/rexml/parsers/baseparser.rb#132
4009
+ REXML::Parsers::BaseParser::Private::GEDECL_PATTERN = T.let(T.unsafe(nil), String)
4010
+
4011
+ # source://rexml//lib/rexml/parsers/baseparser.rb#127
4012
+ REXML::Parsers::BaseParser::Private::INSTRUCTION_END = T.let(T.unsafe(nil), Regexp)
4013
+
4014
+ # source://rexml//lib/rexml/parsers/baseparser.rb#131
4015
+ REXML::Parsers::BaseParser::Private::NAME_PATTERN = T.let(T.unsafe(nil), Regexp)
4016
+
4017
+ # source://rexml//lib/rexml/parsers/baseparser.rb#133
4018
+ REXML::Parsers::BaseParser::Private::PEDECL_PATTERN = T.let(T.unsafe(nil), String)
4019
+
4020
+ # source://rexml//lib/rexml/parsers/baseparser.rb#128
4021
+ REXML::Parsers::BaseParser::Private::TAG_PATTERN = T.let(T.unsafe(nil), Regexp)
4022
+
4023
+ # source://rexml//lib/rexml/parsers/baseparser.rb#49
3993
4024
  REXML::Parsers::BaseParser::QNAME = T.let(T.unsafe(nil), Regexp)
3994
4025
 
3995
- # source://rexml//lib/rexml/parsers/baseparser.rb#37
4026
+ # source://rexml//lib/rexml/parsers/baseparser.rb#48
3996
4027
  REXML::Parsers::BaseParser::QNAME_STR = T.let(T.unsafe(nil), String)
3997
4028
 
3998
4029
  # source://rexml//lib/rexml/parsers/streamparser.rb#6
@@ -4187,9 +4218,10 @@ end
4187
4218
  # A Source can be searched for patterns, and wraps buffers and other
4188
4219
  # objects and provides consumption of text
4189
4220
  #
4190
- # source://rexml//lib/rexml/source.rb#31
4221
+ # source://rexml//lib/rexml/source.rb#51
4191
4222
  class REXML::Source
4192
4223
  include ::REXML::Encoding
4224
+ include ::REXML::Source::Private
4193
4225
 
4194
4226
  # Constructor
4195
4227
  # value, overriding all encoding detection
@@ -4198,88 +4230,76 @@ class REXML::Source
4198
4230
  # @param encoding if non-null, sets the encoding of the source to this
4199
4231
  # @return [Source] a new instance of Source
4200
4232
  #
4201
- # source://rexml//lib/rexml/source.rb#43
4233
+ # source://rexml//lib/rexml/source.rb#71
4202
4234
  def initialize(arg, encoding = T.unsafe(nil)); end
4203
4235
 
4204
4236
  # The current buffer (what we're going to read next)
4205
4237
  #
4206
- # source://rexml//lib/rexml/source.rb#34
4238
+ # source://rexml//lib/rexml/source.rb#83
4207
4239
  def buffer; end
4208
4240
 
4209
4241
  # source://rexml//lib/rexml/source.rb#87
4210
- def consume(pattern); end
4242
+ def buffer_encoding=(encoding); end
4211
4243
 
4212
4244
  # @return the current line in the source
4213
4245
  #
4214
- # source://rexml//lib/rexml/source.rb#117
4246
+ # source://rexml//lib/rexml/source.rb#136
4215
4247
  def current_line; end
4216
4248
 
4217
4249
  # @return [Boolean] true if the Source is exhausted
4218
4250
  #
4219
- # source://rexml//lib/rexml/source.rb#108
4251
+ # source://rexml//lib/rexml/source.rb#131
4220
4252
  def empty?; end
4221
4253
 
4222
4254
  # Returns the value of attribute encoding.
4223
4255
  #
4224
- # source://rexml//lib/rexml/source.rb#37
4256
+ # source://rexml//lib/rexml/source.rb#55
4225
4257
  def encoding; end
4226
4258
 
4227
4259
  # Inherited from Encoding
4228
4260
  # Overridden to support optimized en/decoding
4229
4261
  #
4230
- # source://rexml//lib/rexml/source.rb#56
4262
+ # source://rexml//lib/rexml/source.rb#93
4231
4263
  def encoding=(enc); end
4232
4264
 
4265
+ # source://rexml//lib/rexml/source.rb#111
4266
+ def ensure_buffer; end
4267
+
4233
4268
  # The line number of the last consumed text
4234
4269
  #
4235
- # source://rexml//lib/rexml/source.rb#36
4270
+ # source://rexml//lib/rexml/source.rb#54
4236
4271
  def line; end
4237
4272
 
4238
- # source://rexml//lib/rexml/source.rb#101
4273
+ # source://rexml//lib/rexml/source.rb#114
4239
4274
  def match(pattern, cons = T.unsafe(nil)); end
4240
4275
 
4241
- # source://rexml//lib/rexml/source.rb#91
4242
- def match_to(char, pattern); end
4276
+ # source://rexml//lib/rexml/source.rb#122
4277
+ def position; end
4243
4278
 
4244
- # source://rexml//lib/rexml/source.rb#95
4245
- def match_to_consume(char, pattern); end
4279
+ # source://rexml//lib/rexml/source.rb#126
4280
+ def position=(pos); end
4246
4281
 
4247
- # source://rexml//lib/rexml/source.rb#112
4248
- def position; end
4282
+ # source://rexml//lib/rexml/source.rb#98
4283
+ def read(term = T.unsafe(nil)); end
4249
4284
 
4250
- # source://rexml//lib/rexml/source.rb#84
4251
- def read; end
4252
-
4253
- # Scans the source for a given pattern. Note, that this is not your
4254
- # usual scan() method. For one thing, the pattern argument has some
4255
- # requirements; for another, the source can be consumed. You can easily
4256
- # confuse this method. Originally, the patterns were easier
4257
- # to construct and this method more robust, because this method
4258
- # generated search regexps on the fly; however, this was
4259
- # computationally expensive and slowed down the entire REXML package
4260
- # considerably, since this is by far the most commonly called method.
4261
- # /^\s*(#{your pattern, with no groups})(.*)/. The first group
4262
- # will be returned; the second group is used if the consume flag is
4263
- # set.
4264
- # everything after it in the Source.
4265
- # pattern is not found.
4266
- #
4267
- # @param pattern must be a Regexp, and must be in the form of
4268
- # @param consume if true, the pattern returned will be consumed, leaving
4269
- # @return the pattern, if found, or nil if the Source is empty or the
4270
- #
4271
- # source://rexml//lib/rexml/source.rb#77
4272
- def scan(pattern, cons = T.unsafe(nil)); end
4285
+ # source://rexml//lib/rexml/source.rb#101
4286
+ def read_until(term); end
4273
4287
 
4274
4288
  private
4275
4289
 
4276
- # source://rexml//lib/rexml/source.rb#125
4290
+ # source://rexml//lib/rexml/source.rb#145
4277
4291
  def detect_encoding; end
4278
4292
 
4279
- # source://rexml//lib/rexml/source.rb#146
4293
+ # source://rexml//lib/rexml/source.rb#163
4280
4294
  def encoding_updated; end
4281
4295
  end
4282
4296
 
4297
+ # source://rexml//lib/rexml/source.rb#57
4298
+ module REXML::Source::Private; end
4299
+
4300
+ # source://rexml//lib/rexml/source.rb#58
4301
+ REXML::Source::Private::PRE_DEFINED_TERM_PATTERNS = T.let(T.unsafe(nil), Hash)
4302
+
4283
4303
  # Represents text nodes in an XML document
4284
4304
  #
4285
4305
  # source://rexml//lib/rexml/text.rb#11
@@ -4607,24 +4627,24 @@ end
4607
4627
 
4608
4628
  # @private
4609
4629
  #
4610
- # source://rexml//lib/rexml/xpath_parser.rb#959
4630
+ # source://rexml//lib/rexml/xpath_parser.rb#963
4611
4631
  class REXML::XPathNode
4612
4632
  # @return [XPathNode] a new instance of XPathNode
4613
4633
  #
4614
- # source://rexml//lib/rexml/xpath_parser.rb#961
4634
+ # source://rexml//lib/rexml/xpath_parser.rb#965
4615
4635
  def initialize(node, context = T.unsafe(nil)); end
4616
4636
 
4617
4637
  # Returns the value of attribute context.
4618
4638
  #
4619
- # source://rexml//lib/rexml/xpath_parser.rb#960
4639
+ # source://rexml//lib/rexml/xpath_parser.rb#964
4620
4640
  def context; end
4621
4641
 
4622
- # source://rexml//lib/rexml/xpath_parser.rb#970
4642
+ # source://rexml//lib/rexml/xpath_parser.rb#974
4623
4643
  def position; end
4624
4644
 
4625
4645
  # Returns the value of attribute raw_node.
4626
4646
  #
4627
- # source://rexml//lib/rexml/xpath_parser.rb#960
4647
+ # source://rexml//lib/rexml/xpath_parser.rb#964
4628
4648
  def raw_node; end
4629
4649
  end
4630
4650
 
@@ -4673,25 +4693,25 @@ class REXML::XPathParser
4673
4693
 
4674
4694
  private
4675
4695
 
4676
- # source://rexml//lib/rexml/xpath_parser.rb#775
4696
+ # source://rexml//lib/rexml/xpath_parser.rb#779
4677
4697
  def child(nodeset); end
4678
4698
 
4679
- # source://rexml//lib/rexml/xpath_parser.rb#916
4699
+ # source://rexml//lib/rexml/xpath_parser.rb#920
4680
4700
  def compare(a, operator, b); end
4681
4701
 
4682
- # source://rexml//lib/rexml/xpath_parser.rb#678
4702
+ # source://rexml//lib/rexml/xpath_parser.rb#682
4683
4703
  def descendant(nodeset, include_self); end
4684
4704
 
4685
- # source://rexml//lib/rexml/xpath_parser.rb#689
4705
+ # source://rexml//lib/rexml/xpath_parser.rb#693
4686
4706
  def descendant_recursive(raw_node, new_nodeset, new_nodes, include_self); end
4687
4707
 
4688
- # source://rexml//lib/rexml/xpath_parser.rb#938
4708
+ # source://rexml//lib/rexml/xpath_parser.rb#942
4689
4709
  def each_unnode(nodeset); end
4690
4710
 
4691
- # source://rexml//lib/rexml/xpath_parser.rb#637
4711
+ # source://rexml//lib/rexml/xpath_parser.rb#641
4692
4712
  def enter(tag, *args); end
4693
4713
 
4694
- # source://rexml//lib/rexml/xpath_parser.rb#815
4714
+ # source://rexml//lib/rexml/xpath_parser.rb#819
4695
4715
  def equality_relational_compare(set1, op, set2); end
4696
4716
 
4697
4717
  # source://rexml//lib/rexml/xpath_parser.rb#591
@@ -4706,10 +4726,10 @@ class REXML::XPathParser
4706
4726
  # source://rexml//lib/rexml/xpath_parser.rb#582
4707
4727
  def filter_nodeset(nodeset); end
4708
4728
 
4709
- # source://rexml//lib/rexml/xpath_parser.rb#745
4729
+ # source://rexml//lib/rexml/xpath_parser.rb#749
4710
4730
  def following(node); end
4711
4731
 
4712
- # source://rexml//lib/rexml/xpath_parser.rb#756
4732
+ # source://rexml//lib/rexml/xpath_parser.rb#760
4713
4733
  def following_node_of(node); end
4714
4734
 
4715
4735
  # Returns a String namespace for a node, given a prefix
@@ -4721,19 +4741,19 @@ class REXML::XPathParser
4721
4741
  # source://rexml//lib/rexml/xpath_parser.rb#163
4722
4742
  def get_namespace(node, prefix); end
4723
4743
 
4724
- # source://rexml//lib/rexml/xpath_parser.rb#642
4744
+ # source://rexml//lib/rexml/xpath_parser.rb#646
4725
4745
  def leave(tag, *args); end
4726
4746
 
4727
- # source://rexml//lib/rexml/xpath_parser.rb#763
4747
+ # source://rexml//lib/rexml/xpath_parser.rb#767
4728
4748
  def next_sibling_node(node); end
4729
4749
 
4730
4750
  # source://rexml//lib/rexml/xpath_parser.rb#477
4731
4751
  def node_test(path_stack, nodesets, any_type: T.unsafe(nil)); end
4732
4752
 
4733
- # source://rexml//lib/rexml/xpath_parser.rb#802
4753
+ # source://rexml//lib/rexml/xpath_parser.rb#806
4734
4754
  def norm(b); end
4735
4755
 
4736
- # source://rexml//lib/rexml/xpath_parser.rb#890
4756
+ # source://rexml//lib/rexml/xpath_parser.rb#894
4737
4757
  def normalize_compare_values(a, operator, b); end
4738
4758
 
4739
4759
  # Builds a nodeset of all of the preceding nodes of the supplied node,
@@ -4741,10 +4761,10 @@ class REXML::XPathParser
4741
4761
  # preceding:: includes every element in the document that precedes this node,
4742
4762
  # except for ancestors
4743
4763
  #
4744
- # source://rexml//lib/rexml/xpath_parser.rb#708
4764
+ # source://rexml//lib/rexml/xpath_parser.rb#712
4745
4765
  def preceding(node); end
4746
4766
 
4747
- # source://rexml//lib/rexml/xpath_parser.rb#730
4767
+ # source://rexml//lib/rexml/xpath_parser.rb#734
4748
4768
  def preceding_node_of(node); end
4749
4769
 
4750
4770
  # Reorders an array of nodes so that they are in document order
@@ -4756,7 +4776,7 @@ class REXML::XPathParser
4756
4776
  # I wouldn't have to do this. Maybe add a document IDX for each node?
4757
4777
  # Problems with mutable documents. Or, rewrite everything.
4758
4778
  #
4759
- # source://rexml//lib/rexml/xpath_parser.rb#655
4779
+ # source://rexml//lib/rexml/xpath_parser.rb#659
4760
4780
  def sort(array_of_nodes, order); end
4761
4781
 
4762
4782
  # source://rexml//lib/rexml/xpath_parser.rb#441
@@ -4767,13 +4787,13 @@ class REXML::XPathParser
4767
4787
  # source://rexml//lib/rexml/xpath_parser.rb#154
4768
4788
  def strict?; end
4769
4789
 
4770
- # source://rexml//lib/rexml/xpath_parser.rb#630
4790
+ # source://rexml//lib/rexml/xpath_parser.rb#634
4771
4791
  def trace(*args); end
4772
4792
 
4773
- # source://rexml//lib/rexml/xpath_parser.rb#950
4793
+ # source://rexml//lib/rexml/xpath_parser.rb#954
4774
4794
  def unnode(nodeset); end
4775
4795
 
4776
- # source://rexml//lib/rexml/xpath_parser.rb#877
4796
+ # source://rexml//lib/rexml/xpath_parser.rb#881
4777
4797
  def value_type(value); end
4778
4798
  end
4779
4799
 
@@ -4,6 +4,7 @@
4
4
  # This is an autogenerated file for types exported from the `rubocop-ast` gem.
5
5
  # Please instead update this file by running `bin/tapioca gem rubocop-ast`.
6
6
 
7
+
7
8
  class Parser::Source::Range
8
9
  include ::RuboCop::AST::Ext::Range
9
10
  end
@@ -5161,9 +5162,6 @@ RuboCop::AST::NodePattern::Sets::SET_CLONE_DUP_FREEZE = T.let(T.unsafe(nil), Set
5161
5162
  # source://rubocop-ast//lib/rubocop/ast/node_pattern/sets.rb#10
5162
5163
  RuboCop::AST::NodePattern::Sets::SET_COUNT_LENGTH_SIZE = T.let(T.unsafe(nil), Set)
5163
5164
 
5164
- # source://rubocop-ast//lib/rubocop/ast/node_pattern/sets.rb#10
5165
- RuboCop::AST::NodePattern::Sets::SET_DEFINE_METHOD = T.let(T.unsafe(nil), Set)
5166
-
5167
5165
  # source://rubocop-ast//lib/rubocop/ast/node_pattern/sets.rb#10
5168
5166
  RuboCop::AST::NodePattern::Sets::SET_DEFINE_METHOD_DEFINE_SINGLETON_METHOD = T.let(T.unsafe(nil), Set)
5169
5167
 
@@ -5173,9 +5171,6 @@ RuboCop::AST::NodePattern::Sets::SET_EACH_WITH_INDEX_WITH_INDEX = T.let(T.unsafe
5173
5171
  # source://rubocop-ast//lib/rubocop/ast/node_pattern/sets.rb#10
5174
5172
  RuboCop::AST::NodePattern::Sets::SET_EACH_WITH_OBJECT_WITH_OBJECT = T.let(T.unsafe(nil), Set)
5175
5173
 
5176
- # source://rubocop-ast//lib/rubocop/ast/node_pattern/sets.rb#10
5177
- RuboCop::AST::NodePattern::Sets::SET_ENV = T.let(T.unsafe(nil), Set)
5178
-
5179
5174
  # source://rubocop-ast//lib/rubocop/ast/node_pattern/sets.rb#10
5180
5175
  RuboCop::AST::NodePattern::Sets::SET_ESCAPE_ENCODE_UNESCAPE_DECODE = T.let(T.unsafe(nil), Set)
5181
5176
 
@@ -5344,6 +5339,9 @@ RuboCop::AST::NodePattern::Sets::SET__FETCH = T.let(T.unsafe(nil), Set)
5344
5339
  # source://rubocop-ast//lib/rubocop/ast/node_pattern/sets.rb#10
5345
5340
  RuboCop::AST::NodePattern::Sets::SET__GLOB = T.let(T.unsafe(nil), Set)
5346
5341
 
5342
+ # source://rubocop-ast//lib/rubocop/ast/node_pattern/sets.rb#10
5343
+ RuboCop::AST::NodePattern::Sets::SET__PUSH_APPEND = T.let(T.unsafe(nil), Set)
5344
+
5347
5345
  # source://rubocop-ast//lib/rubocop/ast/node_pattern/sets.rb#10
5348
5346
  RuboCop::AST::NodePattern::Sets::SET___ = T.let(T.unsafe(nil), Set)
5349
5347
 
@@ -4,5 +4,6 @@
4
4
  # This is an autogenerated file for types exported from the `rubocop-performance` gem.
5
5
  # Please instead update this file by running `bin/tapioca gem rubocop-performance`.
6
6
 
7
+
7
8
  # THIS IS AN EMPTY RBI FILE.
8
9
  # see https://github.com/Shopify/tapioca#manually-requiring-parts-of-a-gem
@@ -4,5 +4,6 @@
4
4
  # This is an autogenerated file for types exported from the `rubocop-sorbet` gem.
5
5
  # Please instead update this file by running `bin/tapioca gem rubocop-sorbet`.
6
6
 
7
+
7
8
  # THIS IS AN EMPTY RBI FILE.
8
9
  # see https://github.com/Shopify/tapioca#manually-requiring-parts-of-a-gem