---------------------------------------------------- File::absolute_path
File.absolute_path(file_name [, dir_string] ) -> abs_file_name
From Ruby 1.9.1
------------------------------------------------------------------------
Converts a pathname to an absolute pathname.
This method is not intended for use by normal users; it is a fast-path
method that skips synchronization and hierarchy invalidation to speed
boot-time method definition.
Returns an estimate of the number of bytes that can be read (or
skipped over) from this input stream without blocking by the next
invocation of a method for this input stream.
Explicit block argument (on caller side):
foobar(1, 2, &foo)
foobar(1, 2, &lhs_which_returns_something_block/proc_like)
bodyNode is any expression which can return something which is ultimately
coercible to a proc.
public Operand buildPostExe(Node node, IRScope m) {
final PostExeNode postExeNode = (PostExeNode) node;
// create the closure class and instantiate it
final CompilerCallback closureBody = new CompilerCallback() {
public void call(IRScope m) {
if (postExeNode.getBodyNode() != null) {
build(postExeNode.getBodyNode(), m, true);
} else {
m.loadNil();
}
}
};
m.createNewEndBlock(closureBody);
}
public Operand buildPreExe(Node node, IRScope m) {
final PreExeNode preExeNode = (PreExeNode) node;
// create the closure class and instantiate it
final CompilerCallback closureBody = new CompilerCallback() {
public void call(IRScope m) {
if (preExeNode.getBodyNode() != null) {
build(preExeNode.getBodyNode(), m,true);
} else {
m.loadNil();
}
}
};
m.runBeginBlock(preExeNode.getScope(), closureBody);
}
A default implementation of n-arity, non-block 'call' method,
which simply calls the n-arity, block-receiving version with
the arg list and Block.NULL_BLOCK.
Helper for handling common POSIX situations where a negative return value
from a function call indicates an error, and errno must be consulted to
determine how exactly the function failed.
The ClassExtensionLibrary wraps a class which implements BasicLibraryService,
and when asked to load the service, does a basicLoad of the BasicLibraryService.
Clone the instruction for inlining -- this will rename all variables (including local variables and self!)
and replace RECV_ARG and RETURN instructions to regular copy instructions,