/** * Initialize the frame and set the frame scope if not done already. Returns the frameScopeBlock. * * @see #isInitialized() */ public Block initialize(Block block) { if (initialized) return frameScopeBlock; initialized = true; if (frameScopeBlock == null) frameScopeBlock = block.addFrame(this); return frameScopeBlock; }
/** * Initialize the frame and set the frame scope if not done already. Returns the frameScopeBlock. * * @see #isInitialized() */ public Block initialize(Block block) { if (initialized) return frameScopeBlock; initialized = true; if (frameScopeBlock == null) frameScopeBlock = block.addFrame(this); return frameScopeBlock; }
/** * 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); }