/** * 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; }
/** Create the frame if necessary, set its scope if that hasn't already been done. */ private Frame initializeFrame(Frame frame, Block currentBlock) { // If we don't have a frame then get or create the unnamed default frame for the block. if (frame == null) frame = currentBlock.getDefaultFrame(); boolean newFrame = frame == null; if (newFrame) { frame = createFrame("", currentBlock.getSymbolScope()); frame.setFrameScopeUnnamedDefault(currentBlock); } if (!frame.isInitialized()) { frame.initialize(currentBlock); if (!newFrame) { frameMRU.remove(frame); frameMRU.addFirst(frame); } } return frame; }
/** Create the frame if necessary, set its scope if that hasn't already been done. */ private Frame initializeFrame(Frame frame, Block currentBlock) { // If we don't have a frame then get or create the unnamed default frame for the block. if (frame == null) frame = currentBlock.getDefaultFrame(); boolean newFrame = frame == null; if (newFrame) { frame = createFrame("", currentBlock.getSymbolScope()); frame.setFrameScopeUnnamedDefault(currentBlock); } if (!frame.isInitialized()) { frame.initialize(currentBlock); if (!newFrame) { frameMRU.remove(frame); frameMRU.addFirst(frame); } } return frame; }