/******************************************************************************* * Copyright (c) 2000, 2003 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Common Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/cpl-v10.html * * Contributors: * IBM Corporation - initial API and implementation *******************************************************************************/ package net.sourceforge.phpdt.internal.compiler.problem; import net.sourceforge.phpdt.internal.compiler.CompilationResult; /* * Special unchecked exception type used to abort from the compilation process * * should only be thrown from within problem handlers. */ public class AbortCompilation extends RuntimeException { /** * */ private static final long serialVersionUID = -3674083924553307963L; public CompilationResult compilationResult; public Throwable exception; public int problemId; public String[] problemArguments, messageArguments; /* * special fields used to abort silently (e.g. when cancelling build * process) */ public boolean isSilent; public RuntimeException silentException; public AbortCompilation() { this((CompilationResult) null); } public AbortCompilation(int problemId, String[] problemArguments, String[] messageArguments) { this.problemId = problemId; this.problemArguments = problemArguments; this.messageArguments = messageArguments; } public AbortCompilation(CompilationResult compilationResult) { this(compilationResult, null); } public AbortCompilation(CompilationResult compilationResult, Throwable exception) { this.compilationResult = compilationResult; this.exception = exception; } public AbortCompilation(boolean isSilent, RuntimeException silentException) { this.isSilent = isSilent; this.silentException = silentException; } }