rbs 3.10.2 → 4.0.0.dev.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.github/workflows/comments.yml +2 -2
- data/.github/workflows/ruby.yml +24 -34
- data/.github/workflows/typecheck.yml +3 -1
- data/.github/workflows/windows.yml +2 -2
- data/.gitignore +0 -4
- data/CHANGELOG.md +0 -107
- data/README.md +1 -38
- data/Rakefile +20 -142
- data/Steepfile +1 -0
- data/config.yml +43 -1
- data/core/array.rbs +46 -96
- data/core/comparable.rbs +6 -13
- data/core/complex.rbs +25 -40
- data/core/dir.rbs +4 -4
- data/core/encoding.rbs +9 -6
- data/core/enumerable.rbs +3 -90
- data/core/enumerator.rbs +1 -43
- data/core/errno.rbs +0 -8
- data/core/errors.rbs +1 -28
- data/core/exception.rbs +2 -2
- data/core/fiber.rbs +20 -29
- data/core/file.rbs +19 -49
- data/core/file_test.rbs +1 -1
- data/core/float.rbs +33 -224
- data/core/gc.rbs +281 -417
- data/core/hash.rbs +727 -1023
- data/core/integer.rbs +63 -104
- data/core/io/buffer.rbs +10 -21
- data/core/io/wait.rbs +33 -11
- data/core/io.rbs +12 -14
- data/core/kernel.rbs +51 -61
- data/core/marshal.rbs +1 -1
- data/core/match_data.rbs +1 -1
- data/core/math.rbs +3 -42
- data/core/method.rbs +25 -63
- data/core/module.rbs +23 -101
- data/core/nil_class.rbs +3 -3
- data/core/numeric.rbs +17 -25
- data/core/object.rbs +3 -3
- data/core/object_space.rbs +15 -21
- data/core/proc.rbs +24 -30
- data/core/process.rbs +2 -2
- data/core/ractor.rbs +509 -361
- data/core/range.rbs +8 -7
- data/core/rational.rbs +34 -56
- data/core/rbs/unnamed/argf.rbs +2 -2
- data/core/rbs/unnamed/env_class.rbs +1 -1
- data/core/rbs/unnamed/random.rbs +2 -4
- data/core/regexp.rbs +20 -25
- data/core/ruby_vm.rbs +4 -6
- data/core/rubygems/errors.rbs +70 -3
- data/core/rubygems/rubygems.rbs +79 -11
- data/core/rubygems/version.rbs +3 -2
- data/core/set.rbs +359 -488
- data/core/signal.rbs +14 -24
- data/core/string.rbs +1236 -3165
- data/core/struct.rbs +1 -1
- data/core/symbol.rbs +11 -17
- data/core/thread.rbs +33 -95
- data/core/time.rbs +9 -35
- data/core/trace_point.rbs +4 -7
- data/core/unbound_method.rbs +6 -14
- data/docs/collection.md +2 -2
- data/docs/gem.md +1 -0
- data/docs/sigs.md +3 -3
- data/ext/rbs_extension/ast_translation.c +1077 -944
- data/ext/rbs_extension/ast_translation.h +0 -7
- data/ext/rbs_extension/class_constants.c +83 -71
- data/ext/rbs_extension/class_constants.h +7 -4
- data/ext/rbs_extension/extconf.rb +2 -24
- data/ext/rbs_extension/legacy_location.c +172 -173
- data/ext/rbs_extension/legacy_location.h +3 -8
- data/ext/rbs_extension/main.c +289 -239
- data/ext/rbs_extension/rbs_extension.h +0 -3
- data/ext/rbs_extension/rbs_string_bridging.h +0 -4
- data/include/rbs/ast.h +98 -37
- data/include/rbs/defines.h +12 -38
- data/include/rbs/lexer.h +114 -126
- data/include/rbs/location.h +14 -14
- data/include/rbs/parser.h +37 -21
- data/include/rbs/string.h +5 -3
- data/include/rbs/util/rbs_allocator.h +19 -40
- data/include/rbs/util/rbs_assert.h +1 -12
- data/include/rbs/util/rbs_constant_pool.h +3 -3
- data/include/rbs/util/rbs_encoding.h +1 -3
- data/include/rbs/util/rbs_unescape.h +1 -2
- data/lib/rbs/ast/ruby/annotations.rb +119 -0
- data/lib/rbs/ast/ruby/comment_block.rb +221 -0
- data/lib/rbs/ast/ruby/declarations.rb +86 -0
- data/lib/rbs/ast/ruby/helpers/constant_helper.rb +24 -0
- data/lib/rbs/ast/ruby/helpers/location_helper.rb +15 -0
- data/lib/rbs/ast/ruby/members.rb +213 -0
- data/lib/rbs/buffer.rb +104 -24
- data/lib/rbs/cli/validate.rb +40 -35
- data/lib/rbs/cli.rb +5 -6
- data/lib/rbs/collection/config/lockfile_generator.rb +0 -8
- data/lib/rbs/collection.rb +0 -1
- data/lib/rbs/definition.rb +6 -1
- data/lib/rbs/definition_builder/ancestor_builder.rb +65 -62
- data/lib/rbs/definition_builder/method_builder.rb +45 -30
- data/lib/rbs/definition_builder.rb +44 -9
- data/lib/rbs/environment/class_entry.rb +69 -0
- data/lib/rbs/environment/module_entry.rb +66 -0
- data/lib/rbs/environment.rb +244 -218
- data/lib/rbs/environment_loader.rb +8 -2
- data/lib/rbs/errors.rb +5 -4
- data/lib/rbs/inline_parser/comment_association.rb +117 -0
- data/lib/rbs/inline_parser.rb +206 -0
- data/lib/rbs/location_aux.rb +35 -3
- data/lib/rbs/parser_aux.rb +11 -6
- data/lib/rbs/prototype/runtime.rb +2 -2
- data/lib/rbs/resolver/constant_resolver.rb +2 -2
- data/lib/rbs/resolver/type_name_resolver.rb +38 -124
- data/lib/rbs/source.rb +99 -0
- data/lib/rbs/subtractor.rb +5 -6
- data/lib/rbs/test/type_check.rb +0 -14
- data/lib/rbs/types.rb +1 -3
- data/lib/rbs/version.rb +1 -1
- data/lib/rbs.rb +13 -1
- data/lib/rdoc/discover.rb +1 -1
- data/lib/rdoc_plugin/parser.rb +1 -1
- data/rbs.gemspec +1 -0
- data/sig/ancestor_builder.rbs +1 -1
- data/sig/ast/ruby/annotations.rbs +110 -0
- data/sig/ast/ruby/comment_block.rbs +119 -0
- data/sig/ast/ruby/declarations.rbs +60 -0
- data/sig/ast/ruby/helpers/constant_helper.rbs +11 -0
- data/sig/ast/ruby/helpers/location_helper.rbs +15 -0
- data/sig/ast/ruby/members.rbs +72 -0
- data/sig/buffer.rbs +63 -5
- data/sig/definition.rbs +1 -0
- data/sig/definition_builder.rbs +1 -1
- data/sig/environment/class_entry.rbs +50 -0
- data/sig/environment/module_entry.rbs +50 -0
- data/sig/environment.rbs +28 -133
- data/sig/errors.rbs +13 -6
- data/sig/inline_parser/comment_association.rbs +71 -0
- data/sig/inline_parser.rbs +87 -0
- data/sig/location.rbs +32 -7
- data/sig/manifest.yaml +1 -0
- data/sig/method_builder.rbs +7 -4
- data/sig/parser.rbs +16 -20
- data/sig/resolver/type_name_resolver.rbs +7 -38
- data/sig/source.rbs +48 -0
- data/sig/types.rbs +1 -4
- data/src/ast.c +290 -201
- data/src/lexer.c +2813 -2902
- data/src/lexer.re +4 -0
- data/src/lexstate.c +155 -169
- data/src/location.c +40 -40
- data/src/parser.c +2665 -2433
- data/src/string.c +48 -0
- data/src/util/rbs_allocator.c +76 -92
- data/src/util/rbs_assert.c +10 -10
- data/src/util/rbs_buffer.c +2 -2
- data/src/util/rbs_constant_pool.c +15 -13
- data/src/util/rbs_encoding.c +4062 -20097
- data/src/util/rbs_unescape.c +48 -85
- data/stdlib/bigdecimal/0/big_decimal.rbs +82 -100
- data/stdlib/bigdecimal-math/0/big_math.rbs +8 -169
- data/stdlib/cgi/0/core.rbs +393 -9
- data/stdlib/cgi/0/manifest.yaml +0 -1
- data/stdlib/coverage/0/coverage.rbs +1 -3
- data/stdlib/date/0/date.rbs +59 -67
- data/stdlib/date/0/date_time.rbs +1 -1
- data/stdlib/delegate/0/delegator.rbs +7 -10
- data/stdlib/erb/0/erb.rbs +347 -737
- data/stdlib/fileutils/0/fileutils.rbs +13 -18
- data/stdlib/forwardable/0/forwardable.rbs +0 -3
- data/stdlib/json/0/json.rbs +48 -68
- data/stdlib/net-http/0/net-http.rbs +0 -3
- data/stdlib/objspace/0/objspace.rbs +4 -9
- data/stdlib/open-uri/0/open-uri.rbs +0 -40
- data/stdlib/openssl/0/openssl.rbs +228 -331
- data/stdlib/optparse/0/optparse.rbs +3 -3
- data/stdlib/pathname/0/pathname.rbs +1380 -10
- data/stdlib/psych/0/psych.rbs +3 -3
- data/stdlib/rdoc/0/rdoc.rbs +1 -1
- data/stdlib/resolv/0/resolv.rbs +68 -25
- data/stdlib/ripper/0/ripper.rbs +2 -5
- data/stdlib/singleton/0/singleton.rbs +0 -3
- data/stdlib/socket/0/socket.rbs +1 -13
- data/stdlib/socket/0/tcp_socket.rbs +2 -10
- data/stdlib/stringio/0/stringio.rbs +85 -1176
- data/stdlib/strscan/0/string_scanner.rbs +31 -31
- data/stdlib/tempfile/0/tempfile.rbs +3 -3
- data/stdlib/time/0/time.rbs +1 -1
- data/stdlib/timeout/0/timeout.rbs +7 -63
- data/stdlib/tsort/0/cyclic.rbs +0 -3
- data/stdlib/uri/0/common.rbs +2 -11
- data/stdlib/uri/0/file.rbs +1 -1
- data/stdlib/uri/0/generic.rbs +16 -17
- data/stdlib/uri/0/rfc2396_parser.rbs +7 -6
- data/stdlib/zlib/0/zstream.rbs +0 -1
- metadata +39 -12
- data/.clang-format +0 -74
- data/.clangd +0 -2
- data/.github/workflows/c-check.yml +0 -54
- data/core/pathname.rbs +0 -1272
- data/core/ruby.rbs +0 -53
- data/docs/aliases.md +0 -79
- data/docs/encoding.md +0 -56
- data/ext/rbs_extension/compat.h +0 -10
- data/stdlib/cgi-escape/0/escape.rbs +0 -171
data/.clang-format
DELETED
|
@@ -1,74 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
Language: Cpp
|
|
3
|
-
|
|
4
|
-
# Indentation
|
|
5
|
-
UseTab: Never
|
|
6
|
-
IndentWidth: 4
|
|
7
|
-
BreakBeforeBraces: Attach
|
|
8
|
-
IndentCaseLabels: false
|
|
9
|
-
NamespaceIndentation: None
|
|
10
|
-
ContinuationIndentWidth: 4
|
|
11
|
-
IndentPPDirectives: None
|
|
12
|
-
IndentWrappedFunctionNames: false
|
|
13
|
-
AccessModifierOffset: -2
|
|
14
|
-
|
|
15
|
-
# Alignment
|
|
16
|
-
AlignAfterOpenBracket: BlockIndent
|
|
17
|
-
AlignConsecutiveAssignments: false
|
|
18
|
-
AlignConsecutiveDeclarations: false
|
|
19
|
-
AlignConsecutiveMacros: false
|
|
20
|
-
AlignEscapedNewlines: Left
|
|
21
|
-
AlignOperands: false
|
|
22
|
-
AlignTrailingComments: true
|
|
23
|
-
DerivePointerAlignment: false
|
|
24
|
-
PointerAlignment: Right
|
|
25
|
-
|
|
26
|
-
# Function calls formatting
|
|
27
|
-
BinPackArguments: false
|
|
28
|
-
BinPackParameters: false
|
|
29
|
-
AllowAllArgumentsOnNextLine: false
|
|
30
|
-
ExperimentalAutoDetectBinPacking: false
|
|
31
|
-
PenaltyBreakBeforeFirstCallParameter: 1
|
|
32
|
-
AlwaysBreakAfterDefinitionReturnType: None
|
|
33
|
-
|
|
34
|
-
# Wrapping and Breaking
|
|
35
|
-
ColumnLimit: 0
|
|
36
|
-
AllowShortBlocksOnASingleLine: Never
|
|
37
|
-
AllowShortCaseLabelsOnASingleLine: false
|
|
38
|
-
AllowShortFunctionsOnASingleLine: All
|
|
39
|
-
AllowShortIfStatementsOnASingleLine: Always
|
|
40
|
-
AllowShortLoopsOnASingleLine: false
|
|
41
|
-
AlwaysBreakAfterReturnType: None
|
|
42
|
-
AlwaysBreakBeforeMultilineStrings: false
|
|
43
|
-
AlwaysBreakTemplateDeclarations: No
|
|
44
|
-
BreakBeforeBinaryOperators: None
|
|
45
|
-
BreakBeforeTernaryOperators: false
|
|
46
|
-
BreakConstructorInitializers: BeforeColon
|
|
47
|
-
BreakInheritanceList: BeforeColon
|
|
48
|
-
BreakStringLiterals: false
|
|
49
|
-
CompactNamespaces: false
|
|
50
|
-
ConstructorInitializerAllOnOneLineOrOnePerLine: false
|
|
51
|
-
Cpp11BracedListStyle: false
|
|
52
|
-
ReflowComments: false
|
|
53
|
-
SortIncludes: Never
|
|
54
|
-
|
|
55
|
-
# Spaces
|
|
56
|
-
SpaceAfterCStyleCast: true
|
|
57
|
-
SpaceAfterLogicalNot: false
|
|
58
|
-
SpaceAfterTemplateKeyword: true
|
|
59
|
-
SpaceBeforeAssignmentOperators: true
|
|
60
|
-
SpaceBeforeCpp11BracedList: true
|
|
61
|
-
SpaceBeforeCtorInitializerColon: true
|
|
62
|
-
SpaceBeforeInheritanceColon: true
|
|
63
|
-
SpaceBeforeParens: ControlStatements
|
|
64
|
-
SpaceBeforeRangeBasedForLoopColon: true
|
|
65
|
-
SpaceBeforeSquareBrackets: false
|
|
66
|
-
SpaceInEmptyBlock: false
|
|
67
|
-
SpaceInEmptyParentheses: false
|
|
68
|
-
SpacesBeforeTrailingComments: 1
|
|
69
|
-
SpacesInAngles: false
|
|
70
|
-
SpacesInCStyleCastParentheses: false
|
|
71
|
-
SpacesInConditionalStatement: false
|
|
72
|
-
SpacesInContainerLiterals: true
|
|
73
|
-
SpacesInParentheses: false
|
|
74
|
-
SpacesInSquareBrackets: false
|
data/.clangd
DELETED
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
name: C Code Generation and Formatting Check
|
|
2
|
-
|
|
3
|
-
on:
|
|
4
|
-
push:
|
|
5
|
-
pull_request: {}
|
|
6
|
-
merge_group: {}
|
|
7
|
-
|
|
8
|
-
jobs:
|
|
9
|
-
format-check:
|
|
10
|
-
runs-on: ubuntu-latest
|
|
11
|
-
steps:
|
|
12
|
-
- uses: actions/checkout@v4
|
|
13
|
-
- uses: ruby/setup-ruby@v1
|
|
14
|
-
with:
|
|
15
|
-
ruby-version: "4.0"
|
|
16
|
-
bundler-cache: none
|
|
17
|
-
- name: Set working directory as safe
|
|
18
|
-
run: git config --global --add safe.directory $(pwd)
|
|
19
|
-
- name: Install dependencies
|
|
20
|
-
run: |
|
|
21
|
-
sudo apt-get update
|
|
22
|
-
sudo apt-get install -y libdb-dev curl autoconf automake m4 libtool
|
|
23
|
-
- name: Install clang-format from LLVM
|
|
24
|
-
run: |
|
|
25
|
-
wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | sudo apt-key add -
|
|
26
|
-
sudo apt-add-repository "deb http://apt.llvm.org/jammy/ llvm-toolchain-jammy-20 main"
|
|
27
|
-
sudo apt-get update
|
|
28
|
-
sudo apt-get install -y clang-format-20
|
|
29
|
-
sudo ln -sf /usr/bin/clang-format-20 /usr/local/bin/clang-format
|
|
30
|
-
clang-format --version
|
|
31
|
-
- name: Count processors
|
|
32
|
-
run: nproc
|
|
33
|
-
- name: Install Re2c
|
|
34
|
-
run: |
|
|
35
|
-
cd /tmp
|
|
36
|
-
curl -L https://github.com/skvadrik/re2c/archive/refs/tags/4.3.tar.gz > re2c-4.3.tar.gz
|
|
37
|
-
tar xf re2c-4.3.tar.gz
|
|
38
|
-
cd re2c-4.3
|
|
39
|
-
autoreconf -i -W all
|
|
40
|
-
./configure
|
|
41
|
-
make -j"$(nproc)" -l"$(nproc)"
|
|
42
|
-
sudo make install
|
|
43
|
-
- name: Update rubygems & bundler
|
|
44
|
-
run: |
|
|
45
|
-
ruby -v
|
|
46
|
-
gem update --system
|
|
47
|
-
- name: bin/setup
|
|
48
|
-
run: |
|
|
49
|
-
bin/setup
|
|
50
|
-
- name: Check C code generation and formatting
|
|
51
|
-
run: |
|
|
52
|
-
clang-format --version
|
|
53
|
-
bundle exec rake lexer templates compile confirm_lexer confirm_templates
|
|
54
|
-
bundle exec rake format:c_check
|