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.