Creates a TargetRbConfig
for the platform that RubyGems is running on.
Keeps track of what lines have been added to blocks and which are not yet visited.
When one element fully encapsulates another we remove the smaller block from the frontier. This prevents double expansions and all-around weird behavior. However this guarantee is quite expensive to maintain
Keywords need ends and ends need keywords
If we have more keywords, there’s a missing ‘end` if we have more `end`-s, there’s a missing keyword
Invoked by Ruby’s core methods to run a blocking operation in a non-blocking way.
Minimal suggested implementation is:
def blocking_operation_wait(work) Thread.new(&work).join end
Returns the source encoding name as a string.
Returns the source encoding name as a string.
Parses a C struct’s members
Example:
require 'fiddle/import' include Fiddle::CParser #=> Object parse_struct_signature(['int i', 'char c']) #=> [[Fiddle::TYPE_INT, Fiddle::TYPE_CHAR], ["i", "c"]] parse_struct_signature(['char buffer[80]']) #=> [[[Fiddle::TYPE_CHAR, 80]], ["buffer"]]
Create a new ConstantWriteNode
node.
Create a new ForwardingArgumentsNode
node.
Create a new ForwardingParameterNode
node.
Create a new ForwardingSuperNode
node.
Create a new PinnedVariableNode
node.
Create a new SingletonClassNode
node.
Create a new SourceEncodingNode
node.
Default options for the gem install and update commands.