/** * In the nearest frame scoping block, set the default implicit (unnamed) frame. This should only be called by the * Frame object itself. Returns the Block that scopes the frame. */ public Block setDefaultFrameImplicit(Frame frame) { if (canScopeFrame()) { this.defaultFrame = frame; frames.add(frame); return this; } else return parent.setDefaultFrameImplicit(frame); }
/** * In the nearest frame scoping block, set the default implicit (unnamed) frame. This should only be called by the * Frame object itself. Returns the Block that scopes the frame. */ public Block setDefaultFrameImplicit(Frame frame) { if (canScopeFrame()) { this.defaultFrame = frame; frames.add(frame); return this; } else return parent.setDefaultFrameImplicit(frame); }
/** * From the nearest frame scoping block, get the default (possibly unnamed) frame if it exists. Returns null if no * default frame has been established yet. */ public Frame getDefaultFrame() { if (defaultFrame != null) return defaultFrame; if (!canScopeFrame()) return parent.getDefaultFrame(); return null; }
/** * From the nearest frame scoping block, get the default (possibly unnamed) frame if it exists. Returns null if no * default frame has been established yet. */ public Frame getDefaultFrame() { if (defaultFrame != null) return defaultFrame; if (!canScopeFrame()) return parent.getDefaultFrame(); return null; }
/** * Called by Frame.setFrameScopeBlock() - not intended to be called by any client code. This should only be called by * the Frame object itself. Adds a frame to this or the appropriate parent block. Returns the scoping block. Frames * are scoped to FOR and REPEAT blocks, or else to a symbol scoping block. They may also be scoped with a DO WITH * FRAME block, but that is handled elsewhere. */ public Block addFrame(Frame frame) { if (canScopeFrame()) { frames.add(frame); return this; } else return parent.addFrame(frame); }
/** * Called by Frame.setFrameScopeBlock() - not intended to be called by any client code. This should only be called by * the Frame object itself. Adds a frame to this or the appropriate parent block. Returns the scoping block. Frames * are scoped to FOR and REPEAT blocks, or else to a symbol scoping block. They may also be scoped with a DO WITH * FRAME block, but that is handled elsewhere. */ public Block addFrame(Frame frame) { if (canScopeFrame()) { frames.add(frame); return this; } else return parent.addFrame(frame); }