import org.simantics.scl.compiler.internal.codegen.ssa.SSABlock;
import org.simantics.scl.compiler.internal.codegen.ssa.SSAExit;
import org.simantics.scl.compiler.internal.codegen.ssa.SSAFunction;
import org.simantics.scl.compiler.internal.codegen.ssa.SSABlock;
import org.simantics.scl.compiler.internal.codegen.ssa.SSAExit;
import org.simantics.scl.compiler.internal.codegen.ssa.SSAFunction;
import org.simantics.scl.compiler.internal.codegen.utils.CopyContext;
import org.simantics.scl.compiler.internal.codegen.utils.MethodBuilder;
import org.simantics.scl.compiler.internal.codegen.utils.PrintingContext;
import org.simantics.scl.compiler.internal.codegen.utils.SSAValidationContext;
import org.simantics.scl.compiler.types.TVar;
import org.simantics.scl.compiler.types.Type;
import org.simantics.scl.compiler.internal.codegen.utils.CopyContext;
import org.simantics.scl.compiler.internal.codegen.utils.MethodBuilder;
import org.simantics.scl.compiler.internal.codegen.utils.PrintingContext;
import org.simantics.scl.compiler.internal.codegen.utils.SSAValidationContext;
import org.simantics.scl.compiler.types.TVar;
import org.simantics.scl.compiler.types.Type;
public void generateCode(MethodBuilder mb) {
//mb.push(exception.getBinding());
//cb.mapLineNumber(location);
public void generateCode(MethodBuilder mb) {
//mb.push(exception.getBinding());
//cb.mapLineNumber(location);
- mb.loadConstant(description);
- mb.invokeConstructor(RuntimeException, new TypeDesc[] {TypeDesc.STRING});
+ if(description == null)
+ mb.invokeConstructor(exceptionClass, Constants.EMPTY_TYPEDESC_ARRAY);
+ else {
+ mb.loadConstant(description);
+ mb.invokeConstructor(exceptionClass, new TypeDesc[] {TypeDesc.STRING});
+ }