Conversation
These don't need to test that the text is exactly the same. It is sufficient to confirm that the two frames are for "foo" and the block.
These are not commonly-used syntax and not raising the correct error here does not impact typical usage.
Not sure why we included BSD in the "not work" category but it appears birthtime should be available on all BSDs including Darwin (and not including OpenBSD) and on Windows.
This appears to be short one item on MacOS and I'm not sure if that is a real problem or not. The logic we use seems the same as in CRuby, but CRuby passes this spec on MacOS.
All Class instances in the system are traversible by walking down from BasicObject, but natural Module instances (i.e. all `module` objects) do not descend from BasicObject. We partially restore the allModules set in order to track these objects for each_object when called with Module.
Singleton objects acquire their name and then break out to the final message composition. Previous code did not have a `break` because it was structured as if/else and could not early branch. This form mimics the C code more closely.
* Use Byte.toUnsignedByte rather than error-prone masking.
* Make singleCharString always produce a result for any byte +
encoding combination.
* This avoids the need for callers to check range and encoding.
* Note this preserves the original behavior of returning high-
order US-ASCII char strings as ASCII-8BIT.
The delegate library introduces a peculiar pattern for calling its __getobj__ method that passes a block. When this pattern is used to call an attr_reader, we error because the attr-binding logic did not drop the ignored block. The patch here uses SmartBinder to filter to only the self object (in the case of an attr_reader) and the given single argument (in the case of an attr_writer), dropping the block and any other unused arguments.
These quietly fail with null returns if the NativeCall as configured cannot be resolved. A boolean flag is also added to avoid trying to resolve a known unresolvable method. This also adds a way to request a cached, resolved MethodHandle from a NativeCall, quietly with caching as for getMethodQuiet.
Some native classes may have additional signatures not intended to be callable directly from Ruby (e.g. "common" logic the other arities dump into after doing initial argument processing). This alters the new exact-binding logic to avoid methods that are not directly declared on the target class and bound to Ruby with a JRubyMethod annotation. Failing either of these two checks it will fallback on the slower "generic" dispatch logic it did before.
When requesting low-byte single-char strings in ASCII-8BIT encoding the resulting string should be ASCII-8BIT, not US-ASCII.
645d68f to
24a6c33
Compare
Member
Author
|
Merged the big pieces here, I'll do the rest as topic PRs for each feature. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.