-
-
Notifications
You must be signed in to change notification settings - Fork 925
Permalink
Choose a base ref
{{ refName }}
default
Choose a head ref
{{ refName }}
default
Comparing changes
Choose two branches to see what’s changed or to start a new pull request.
If you need to, you can also or
learn more about diff comparisons.
Open a pull request
Create a new pull request by comparing changes across two branches. If you need to, you can also .
Learn more about diff comparisons here.
base repository: jruby/jruby
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: d6e2e8178e93
Could not load branches
Nothing to show
Loading
Could not load tags
Nothing to show
{{ refName }}
default
Loading
...
head repository: jruby/jruby
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: 4173d5c3c25d
Could not load branches
Nothing to show
Loading
Could not load tags
Nothing to show
{{ refName }}
default
Loading
- 3 commits
- 16 files changed
- 1 contributor
Commits on Aug 22, 2016
-
Fix many kwargs issues in methods and procs. This is still a stop-gap
fix as our instrs for processing kwargs should be made explicit. As it stands we cannot know which argument is or is not a kwarg by just checking the last value (although we are getting close to that being true). The unfortunate part of this commit is that many pieces are in-flight at once. The pieces to this commit are: . frobnicateKwargsArgument now will create a non-kwargs and kwargs hash and put non-symbol and symbol entries into the proper hashes. If there are actually both hashes with contents then we will grow the args list by one to supply both. This fixed all known method specs and tests. . Hackily not entirely depend on signature.arityValue() for whether we destructure a single array passed into a proc/lambda. This is more of a form fit in that adding one extra kwargs check fixed literally all block kwarg specs/tests sans some optarg cases (which are just as broken before this fix). I would have tried altering the arityValue itself but we use this value in tons of locations. The risk was large enough to just do this in two places (in IRBlockBody and IRRuntimeHelpers.java): } else if (!getSignature().hasKwargs() && blockArity >= -1 && blockArity <= 1) { . Removed arg padding on call to a proc. This was horrifically complicated and one of its main purposes was padding for an extra kwargs element. Now the frobnicateKwargsArgument will adjust the args array this ended making this unneccesary (well maybe. We still have optarg bugs so there is definitely a question of how we pad/adjust arg lists in procs when they are in the presence of optargs).
Configuration menu - View commit details
-
Copy full SHA for c183943 - Browse repository at this point
Copy the full SHA c183943View commit details -
Fixes block execution case where an array passed as single argument s…
…hould expand if there are only opt-args and more than one of them.
Configuration menu - View commit details
-
Copy full SHA for 54f6d77 - Browse repository at this point
Copy the full SHA 54f6d77View commit details -
Configuration menu - View commit details
-
Copy full SHA for 4173d5c - Browse repository at this point
Copy the full SHA 4173d5cView commit details
There are no files selected for viewing