Package r.data.RFunction

Examples of r.data.RFunction.EnclosingSlot


        }
    }

    public Object readViaWriteSetSlowPath(RSymbol symbol) {

        EnclosingSlot rse = readSetEntry(symbol);
        if (rse == null) {
            return readFromExtensionsAndRootLevelEntry(symbol);
        } else {
            return enclosingFrame.readViaEnclosingSlot(rse.hops - 1, rse.slot, symbol, enclosingFrame);
        }
View Full Code Here


                try {
                    throw new SpecializationException(null);
                } catch (SpecializationException e) {
                    ReadVariable node;
                    int slot;
                    EnclosingSlot rse;
                    String reason;

                    if (frame == null) {
                        node = getReadOnlyFromTopLevel(getAST(), symbol); // FIXME: could also add a listener here
                        reason = "installReadOnlyFromTopLevelNode";
View Full Code Here

            Object res = f.getObjectForcingPromises(slot);
            if (res != null) {
                return Utils.cast(res);
            }
            // variable not present in the enclosing slot
            EnclosingSlot eslot = f.findEnclosingVariable(symbol);
            if (eslot == null) {
                return f.readFromExtensionsAndRootLevel(symbol);
            }
            // try the next enclosing slot
            f = f.enclosingFrame();
View Full Code Here

        }
    }

    public RCallable matchViaWriteSetSlowPath(RSymbol symbol) {

        EnclosingSlot rse = readSetEntry(symbol);
        if (rse == null) {
            return matchFromExtensionsAndRootLevelEntry(symbol);
        } else {
            return enclosingFrame.matchViaEnclosingSlot(rse.hops - 1, rse.slot, symbol, enclosingFrame);
        }
View Full Code Here

            Object res = f.getObjectForcingPromises(slot);
            if (res != null && res instanceof RCallable) {
                return Utils.cast(res);
            }
            // variable not present in the enclosing slot
            EnclosingSlot eslot = f.findEnclosingVariable(symbol);
            if (eslot == null) {
                return f.matchFromExtensionsAndRootLevel(symbol);
            }
            // try the next enclosing slot
            f = f.enclosingFrame();
View Full Code Here

        }
        int slot = frame.findVariable(symbol);
        if (slot != -1) {
            return frame.matchViaWriteSet(slot, symbol);
        }
        EnclosingSlot eslot = frame.findEnclosingVariable(symbol);
        if (eslot != null) {
            return frame.enclosingFrame().matchViaEnclosingSlot(eslot.hops - 1, eslot.slot, symbol, frame);
        }
        return frame.matchFromExtensionsAndRootLevelInclusiveEntry(symbol);
    }
View Full Code Here

        int slot = findVariable(symbol);
        if (slot != -1) {
            return readViaWriteSet(slot, symbol);
        }
        EnclosingSlot eslot = findEnclosingVariable(symbol);
        if (eslot != null) {
            return enclosingFrame.readViaEnclosingSlot(eslot.hops - 1, eslot.slot, symbol, this);
        }
        return readFromExtensionsAndRootLevelInclusive(symbol);
    }
View Full Code Here

        int slot = findVariable(symbol);
        if (slot != -1 && get(slot) != null) {
            return true;
        }
        EnclosingSlot eslot = findEnclosingVariable(symbol);
        if (eslot != null) {
            return enclosingFrame.existsViaEnclosingSlot(eslot.hops - 1, eslot.slot, symbol, this);
        }
        return existsFromExtensionsAndRootLevelInclusive(symbol);
    }
View Full Code Here

            // no inserted extension slot
            if (f.get(slot) != null) {
                return true;
            }
            // variable not present in the enclosing slot
            EnclosingSlot eslot = f.findEnclosingVariable(symbol);
            if (eslot == null) {
                return f.existsFromExtensionsAndRootLevel(symbol);
            }
            // try the next enclosing slot
            f = f.enclosingFrame();
View Full Code Here

        }
    }

    public boolean superWriteViaWriteSetSlowPath(RSymbol symbol, RAny value) {

        EnclosingSlot eslot = findEnclosingVariable(symbol);

        if (eslot != null) {
            return enclosingFrame.superWriteViaEnclosingSlot(eslot.hops - 1, eslot.slot, symbol, value, this);
        }
View Full Code Here

TOP

Related Classes of r.data.RFunction.EnclosingSlot

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.