view graal/com.oracle.truffle.ruby.runtime/src/com/oracle/truffle/ruby/runtime/ShellResult.java @ 13569:1894412de0ed

Ruby: major upgrade in debugging support, mainly for navigation: step, next (passing over calls), return (from enclosing function), etc. Also a few bug fixes.
author Michael Van De Vanter <michael.van.de.vanter@oracle.com>
date Wed, 08 Jan 2014 14:03:36 -0800
parents 0fbee3eb71f0
children
line wrap: on
line source

/*
 * Copyright (c) 2013 Oracle and/or its affiliates. All rights reserved. This
 * code is released under a tri EPL/GPL/LGPL license. You can use it,
 * redistribute it and/or modify it under the terms of the:
 *
 * Eclipse Public License version 1.0
 * GNU General Public License version 2
 * GNU Lesser General Public License version 2.1
 */
package com.oracle.truffle.ruby.runtime;

import com.oracle.truffle.api.frame.*;

/**
 * The result of executing a line in a shell is a result value and the final frame containing any
 * local variables set.
 */
public class ShellResult {

    private final Object result;
    private final MaterializedFrame frame;

    public ShellResult(Object result, MaterializedFrame frame) {
        assert RubyContext.shouldObjectBeVisible(result);
        assert frame != null;

        this.result = result;
        this.frame = frame;
    }

    public Object getResult() {
        return result;
    }

    public MaterializedFrame getFrame() {
        return frame;
    }

}