org.eclipse.jdt.internal.compiler.classfmt.ClassFormatException Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of vaadin-client-compiler-deps Show documentation
Show all versions of vaadin-client-compiler-deps Show documentation
Vaadin is a web application framework for Rich Internet Applications (RIA).
Vaadin enables easy development and maintenance of fast and
secure rich web
applications with a stunning look and feel and a wide browser support.
It features a server-side architecture with the majority of the logic
running
on the server. Ajax technology is used at the browser-side to ensure a
rich
and interactive user experience.
/*******************************************************************************
* Copyright (c) 2000, 2009 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* IBM Corporation - initial API and implementation
*******************************************************************************/
package org.eclipse.jdt.internal.compiler.classfmt;
import java.io.PrintStream;
import java.io.PrintWriter;
public class ClassFormatException extends Exception {
public static final int ErrBadMagic = 1;
public static final int ErrBadMinorVersion = 2;
public static final int ErrBadMajorVersion = 3;
public static final int ErrBadConstantClass = 4;
public static final int ErrBadConstantString = 5;
public static final int ErrBadConstantNameAndType = 6;
public static final int ErrBadConstantFieldRef = 7;
public static final int ErrBadConstantMethodRef = 8;
public static final int ErrBadConstantInterfaceMethodRef = 9;
public static final int ErrBadConstantPoolIndex = 10;
public static final int ErrBadSuperclassName = 11;
public static final int ErrInterfaceCannotBeFinal = 12;
public static final int ErrInterfaceMustBeAbstract = 13;
public static final int ErrBadModifiers = 14;
public static final int ErrClassCannotBeAbstractFinal = 15;
public static final int ErrBadClassname = 16;
public static final int ErrBadFieldInfo = 17;
public static final int ErrBadMethodInfo = 17;
public static final int ErrEmptyConstantPool = 18;
public static final int ErrMalformedUtf8 = 19;
public static final int ErrUnknownConstantTag = 20;
public static final int ErrTruncatedInput = 21;
public static final int ErrMethodMustBeAbstract = 22;
public static final int ErrMalformedAttribute = 23;
public static final int ErrBadInterface = 24;
public static final int ErrInterfaceMustSubclassObject = 25;
public static final int ErrIncorrectInterfaceMethods = 26;
public static final int ErrInvalidMethodName = 27;
public static final int ErrInvalidMethodSignature = 28;
private static final long serialVersionUID = 6667458511042774540L; // backward compatible
private int errorCode;
private int bufferPosition;
private RuntimeException nestedException;
private char[] fileName;
public ClassFormatException(RuntimeException e, char[] fileName) {
this.nestedException = e;
this.fileName = fileName;
}
public ClassFormatException(int code) {
this.errorCode = code;
}
public ClassFormatException(int code, int bufPos) {
this.errorCode = code;
this.bufferPosition = bufPos;
}
/**
* @return int
*/
public int getErrorCode() {
return this.errorCode;
}
/**
* @return int
*/
public int getBufferPosition() {
return this.bufferPosition;
}
/**
* Returns the underlying Throwable
that caused the failure.
*
* @return the wrappered Throwable
, or null
* if the direct case of the failure was at the Java model layer
*/
public Throwable getException() {
return this.nestedException;
}
public void printStackTrace() {
printStackTrace(System.err);
}
/**
* Prints this exception's stack trace to the given print stream.
*
* @param output
* the print stream
* @since 3.0
*/
public void printStackTrace(PrintStream output) {
synchronized (output) {
super.printStackTrace(output);
Throwable throwable = getException();
if (throwable != null) {
if (this.fileName != null) {
output.print("Caused in "); //$NON-NLS-1$
output.print(this.fileName);
output.print(" by: "); //$NON-NLS-1$
} else {
output.print("Caused by: "); //$NON-NLS-1$
}
throwable.printStackTrace(output);
}
}
}
/**
* Prints this exception's stack trace to the given print writer.
*
* @param output
* the print writer
* @since 3.0
*/
public void printStackTrace(PrintWriter output) {
synchronized (output) {
super.printStackTrace(output);
Throwable throwable = getException();
if (throwable != null) {
if (this.fileName != null) {
output.print("Caused in "); //$NON-NLS-1$
output.print(this.fileName);
output.print(" by: "); //$NON-NLS-1$
} else {
output.print("Caused by: "); //$NON-NLS-1$
}
throwable.printStackTrace(output);
}
}
}
}