Age | Commit message (Collapse) | Author |
|
https://github.com/ruby/yarp/commit/777c376deb
|
|
https://github.com/ruby/yarp/commit/87dbb6cf1f
|
|
https://github.com/ruby/yarp/commit/820774976d
|
|
https://github.com/ruby/yarp/commit/eaaebc17c8
|
|
https://github.com/ruby/yarp/commit/b74ce35379
|
|
https://github.com/ruby/yarp/commit/943204d56f
|
|
Into AliasGlobalVariableNode and AliasMethodNode. These have different
enough semantics that we feel comfortable splitting them up.
https://github.com/ruby/yarp/commit/c1f3e6d344
|
|
(X)StringNodes
(https://github.com/ruby/yarp/pull/1427)
Prior to this commit, heredocs were automatically InterpolatedNodes
regardless of whether there was actually interpolation. With this
commit, heredocs are only interpolate if there is actually
interpolation
https://github.com/ruby/yarp/commit/e9f436128b
|
|
* See https://github.com/ruby/yarp/issues/1436
https://github.com/ruby/yarp/commit/6f4e9ff940
|
|
https://github.com/ruby/yarp/commit/45dd046b83
|
|
These are replacements for regular expressions when they are used
alone as the predicate of a conditional. That's because they are
significantly different from a regular expression because they are
not evaluated for truthyness, but instead evaluated as a match
against the last line read by an IO object.
https://github.com/ruby/yarp/commit/0f1c7780e8
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/8413
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/8413
|
|
The flags integer is an implementation detail. We want people to
use the query methods to access the individual fields so we are
freed from having to maintain a specific order. As such, this
commit changes the Ruby API to mark all flags fields as private
attr_readers.
The only one that has a clear use case is returning the set of
options given to regular expressions, to mirror the Regexp#options
API. So, to support this use case, this commit introduces
RegularExpressionNode#options and InterpolatedRegularExpressionNode#options.
These APIs provide back the same integer so that they can be used
interchangeably.
https://github.com/ruby/yarp/commit/4e6d5dd99f
|
|
https://github.com/ruby/yarp/commit/e421305ea2
|
|
Notes:
Merged-By: jemmaissroff
|
|
https://github.com/ruby/yarp/commit/2b41ceb754
|
|
https://github.com/ruby/yarp/commit/a94af7c4c8
|
|
Notes:
Merged-By: jemmaissroff
|
|
Notes:
Merged-By: jemmaissroff
|
|
* [YARP] Implemented compilation for InterpolatedXStringNode
* Extract common function for interpolated nodes
Notes:
Merged-By: jemmaissroff
|
|
https://github.com/ruby/yarp/commit/1021dac372
|
|
https://github.com/ruby/yarp/commit/fa53fe88e4
|
|
and use yp_strspn_inline_whitespace instead.
Partially reverts implementation details from #1152
https://github.com/ruby/yarp/commit/c8f9f4cfde
|
|
message IDs
The parser now passes around `yp_diagnostic_id_t` for diagnostic
messages instead of character strings, and we rely on the function
`diagnostic_message()` to resolve that to a string.
In addition, many messages were edited so that the parser expresses
coordinate ideas in similar form [1] using consistent voice and
typographic conventions.
Closes https://github.com/ruby/yarp/pull/1379, and makes progress on #941.
[1] Strunk & White rule 19
https://github.com/ruby/yarp/commit/0b6dd85bf1
|
|
Notes:
Merged-By: jemmaissroff
|
|
https://github.com/ruby/yarp/commit/8f9a3c2345
|
|
https://github.com/ruby/yarp/commit/bcad93e2fc
|
|
Before this commit, constants in the constant pool were assumed to
be slices of the source string. This works in _almost_ all cases.
There are times, however, when a string needs to be synthesized.
This can occur when passing in locals that need to be scoped through
eval, or when generating method names like `foo=`.
After this commit, there is a single bit `owned` boolean on
constants in the pool that indicates whether or not it is a slice
of the source string. If it is not, it is assumed to be allocated
memory that should be freed by the constant pool when the constant
pool is freed.
When serializing, the most significant bit in the location of the
contents of the constant indicates whether or not it is owned.
When it is, instead of 4 bytes for the source offset and 4 bytes
for the length it is instead 4 bytes for the buffer offset and 4
bytes the length. The contents of the owned constants are embedded
into the buffer after the constant pool itself.
https://github.com/ruby/yarp/commit/461c047365
|
|
|
|
https://github.com/ruby/yarp/commit/6b2421ce1b
|
|
https://github.com/ruby/yarp/commit/a6fdb8aae9
|
|
https://github.com/ruby/yarp/commit/5e1a8fbc54
|
|
https://github.com/ruby/yarp/commit/d2d4f25a23
|
|
https://github.com/ruby/yarp/commit/26105f0b58
|
|
https://github.com/ruby/yarp/commit/8f59fc27cd
Co-authored-by: Kevin Newton <kddnewton@users.noreply.github.com>
|
|
https://github.com/ruby/yarp/commit/2cd9a67150
|
|
(https://github.com/ruby/yarp/pull/1409)
https://github.com/ruby/yarp/commit/0a11ec579f
|
|
Notes:
Merged-By: jemmaissroff
|
|
This commit extracts a `yp_constant_id_lookup` method and uses yp_constant_id_lookup where possible
Notes:
Merged-By: jemmaissroff
|
|
ClassNode/ModuleNode
https://github.com/ruby/yarp/commit/8f87686e9c
|
|
https://github.com/ruby/yarp/commit/d7eaa89bc3
|
|
https://github.com/ruby/yarp/commit/ae1f45ff52
|
|
https://github.com/ruby/yarp/commit/d93b93f342
|
|
https://github.com/ruby/yarp/commit/8f26ffa0b2
|
|
https://github.com/ruby/yarp/commit/fbcd307a54
|
|
This is a tradeoff that I think is worth it. Right now we have a
location list that tracks the location of each of the block locals.
Instead, I'd like to make that a node list that has a proper node
in each spot in the list. In doing so, we eliminate the need to have
a location list at all, making it simpler on all of the various
consumers as we have one fewer field type. There should be minimal
memory implications here since this syntax is exceedingly rare.
https://github.com/ruby/yarp/commit/04d329ddf0
|
|
Notes:
Merged-By: jemmaissroff
|
|
When building with ruby, `snprintf` is replaced with `ruby_snprintf`.
|
|
Notes:
Merged-By: jemmaissroff
|