package bluej.stride.framedjava.frames;

import java.util.List;

import javafx.beans.property.SimpleIntegerProperty;
import bluej.stride.framedjava.ast.ExpressionSlotFragment;
import bluej.stride.framedjava.ast.FilledExpressionSlotFragment;
import bluej.stride.framedjava.ast.HighlightedBreakpoint;
import bluej.stride.framedjava.canvases.JavaCanvas;
import bluej.stride.framedjava.elements.ThrowElement;
import bluej.stride.framedjava.slots.ExpressionSlot;
import bluej.stride.framedjava.slots.FilledExpressionSlot;
import bluej.stride.generic.FrameFactory;
import bluej.stride.generic.InteractionManager;
import bluej.stride.generic.SingleLineFrame;
import bluej.stride.operations.FrameOperation;


| A Throw statement | public class ThrowFrame extends SingleLineFrame implements CodeFrame<ThrowElement>, DebuggableFrame{ private ExpressionSlot<FilledExpressionSlotFragment> param1; private ThrowElement element; private SimpleIntegerProperty codeVersion;
| Default constructor. | @param editor | private ThrowFrame(InteractionManager editor) { super(editor, "throw", "throw-"); this.codeVersion = new SimpleIntegerProperty(0); param1 = new FilledExpressionSlot(editor, this, this, getHeaderRow(), "throw-"); param1.setSimplePromptText("expression"); setHeaderRow(param1, previewSemi); } public ThrowFrame(InteractionManager editor, ExpressionSlotFragment val, boolean enabled) { this(editor); param1.setText(val); frameEnabledProperty.set(enabled); } @Override public void regenerateCode() { element = new ThrowElement(this, param1.getSlotElement(), frameEnabledProperty.get()); codeVersion.set(codeVersion.get() + 1); } @Override public ThrowElement getCode() { return element; } public static FrameFactory getFactory() { return new FrameFactory<ThrowFrame>() { @Override public ThrowFrame createBlock(InteractionManager editor) { return new ThrowFrame(editor); } @Override public Class getBlockClass() { return ThrowFrame.class; } }; } }

.   ThrowFrame
.   ThrowFrame
.   regenerateCode
.   getCode
.   getFactory
.   createBlock
.   getBlockClass




91 neLoCode + 3 LoComm