@Specialization
public Object open(VirtualFrame frame, RubyString fileName, RubyString mode, RubyProc block) {
notDesignedForCompilation();
final RubyFile file = RubyFile.open(getContext(), fileName.toString(), mode.toString());
if (block != null) {
try {
yield(frame, block, file);
} finally {
file.close();
}
}
return file;
}