package java.lang;

import ej.annotation.Nullable;

/**
 * Subclasses of {@code LinkageError} indicate that a class has some dependency on another class;
 * however, the latter class has incompatibly changed after the compilation of the former class.
 */
public class LinkageError extends Error {

	/**
	 * Constructs a {@code LinkageError} with no detail message.
	 */
	public LinkageError() {
		throw new RuntimeException();
	}

	/**
	 * Constructs a {@code LinkageError} with the specified detail message.
	 *
	 * @param s
	 *        the detail message.
	 */
	public LinkageError(String s) {
		throw new RuntimeException();
	}

	/**
	 * Constructs a {@code LinkageError} with the specified detail message and cause.
	 *
	 * @param s
	 *        the detail message.
	 * @param cause
	 *        the cause, may be {@code null}
	 */
	public LinkageError(String s, @Nullable Throwable cause) {
		throw new RuntimeException();
	}
}
