From 0116515b19e73f3589092b47dbfe6acbccd811d4 Mon Sep 17 00:00:00 2001 From: Andrew John Hughes Date: Wed, 4 Sep 2013 23:18:16 +0100 Subject: Update javax.lang.model, javax.lang.model.element and javax.lang.model.type packages to 1.7. 2013-09-04 Andrew John Hughes * javax/lang/model/SourceVersion.java: (RELEASE_7): New enum value. * javax/lang/model/UnknownEntityException.java: New exception class. (UnknownEntityException(String)): New constructor. * javax/lang/model/element/ElementKind.java: (RESOURCE_VARIABLE): New enum value. * javax/lang/model/element/ExecutableElement.java: Extend mixin interface Parameterizable. * javax/lang/model/element/PackageElement.java: Extend mixin interface QualifiedNameable. * javax/lang/model/element/Parameterizable.java: New interface. (getTypeParameters()): New method. * javax/lang/model/element/QualifiedNameable.java: New interface. (getQualifiedName()): New method. * javax/lang/model/element/TypeElement.java: Extend mixin interfaces Parameterizable and QualifiedNameable. * javax/lang/model/element/UnknownAnnotationValueException.java: Extend UnknownEntityException instead of RuntimeException. (UnknownAnnotationValueException(AnnotationValue,Object)): Call superclass with error message. * javax/lang/model/element/UnknownElementException.java: Extend UnknownEntityException instead of RuntimeException. (UnknownElementException(Element,Object)): End sentence with a full stop, not a comma. * javax/lang/model/type/MirroredTypeException.java: Extend MirroredTypesException instead of RuntimeException. (mirror): Removed. (MirroredTypeException(TypeMIrror)): Store mirror using list in superclass rather than a local variable. (getTypeMirror()): Return first (and only) element from getTypeMirrors(). * javax/lang/model/type/TypeKind.java: (UNION): New enum value. * javax/lang/model/type/TypeVisitor.java: (visitUnion(UnionType,P)): New method. * javax/lang/model/type/UnionType.java: New interface. (getAlternatives()): New method. * javax/lang/model/type/UnknownTypeException.java, Extend UnknownEntityException instead of RuntimeException. (UnknownTypeException(TypeMirror,Object)): Call superclass with error message. Signed-off-by: Andrew John Hughes --- ChangeLog | 48 +++++++++++++++ javax/lang/model/SourceVersion.java | 5 +- javax/lang/model/UnknownEntityException.java | 68 ++++++++++++++++++++++ javax/lang/model/element/ElementKind.java | 2 + javax/lang/model/element/ExecutableElement.java | 4 +- javax/lang/model/element/PackageElement.java | 4 +- javax/lang/model/element/Parameterizable.java | 61 +++++++++++++++++++ javax/lang/model/element/QualifiedNameable.java | 57 ++++++++++++++++++ javax/lang/model/element/TypeElement.java | 4 +- .../element/UnknownAnnotationValueException.java | 7 ++- .../model/element/UnknownElementException.java | 8 ++- javax/lang/model/type/MirroredTypeException.java | 15 ++--- javax/lang/model/type/TypeKind.java | 4 +- javax/lang/model/type/TypeVisitor.java | 13 ++++- javax/lang/model/type/UnionType.java | 61 +++++++++++++++++++ javax/lang/model/type/UnknownTypeException.java | 7 ++- 16 files changed, 342 insertions(+), 26 deletions(-) create mode 100644 javax/lang/model/UnknownEntityException.java create mode 100644 javax/lang/model/element/Parameterizable.java create mode 100644 javax/lang/model/element/QualifiedNameable.java create mode 100644 javax/lang/model/type/UnionType.java diff --git a/ChangeLog b/ChangeLog index 27ce6ca92..41198b5dc 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,51 @@ +2013-09-04 Andrew John Hughes + + * javax/lang/model/SourceVersion.java: + (RELEASE_7): New enum value. + * javax/lang/model/UnknownEntityException.java: + New exception class. + (UnknownEntityException(String)): New constructor. + * javax/lang/model/element/ElementKind.java: + (RESOURCE_VARIABLE): New enum value. + * javax/lang/model/element/ExecutableElement.java: + Extend mixin interface Parameterizable. + * javax/lang/model/element/PackageElement.java: + Extend mixin interface QualifiedNameable. + * javax/lang/model/element/Parameterizable.java: + New interface. + (getTypeParameters()): New method. + * javax/lang/model/element/QualifiedNameable.java: + New interface. + (getQualifiedName()): New method. + * javax/lang/model/element/TypeElement.java: + Extend mixin interfaces Parameterizable and QualifiedNameable. + * javax/lang/model/element/UnknownAnnotationValueException.java: + Extend UnknownEntityException instead of RuntimeException. + (UnknownAnnotationValueException(AnnotationValue,Object)): + Call superclass with error message. + * javax/lang/model/element/UnknownElementException.java: + Extend UnknownEntityException instead of RuntimeException. + (UnknownElementException(Element,Object)): End sentence + with a full stop, not a comma. + * javax/lang/model/type/MirroredTypeException.java: + Extend MirroredTypesException instead of RuntimeException. + (mirror): Removed. + (MirroredTypeException(TypeMIrror)): Store mirror using list + in superclass rather than a local variable. + (getTypeMirror()): Return first (and only) element from + getTypeMirrors(). + * javax/lang/model/type/TypeKind.java: + (UNION): New enum value. + * javax/lang/model/type/TypeVisitor.java: + (visitUnion(UnionType,P)): New method. + * javax/lang/model/type/UnionType.java: + New interface. + (getAlternatives()): New method. + * javax/lang/model/type/UnknownTypeException.java, + Extend UnknownEntityException instead of RuntimeException. + (UnknownTypeException(TypeMirror,Object)): + Call superclass with error message. + 2013-08-07 Andrew John Hughes * doc/cp-tools.texinfo: diff --git a/javax/lang/model/SourceVersion.java b/javax/lang/model/SourceVersion.java index 5c3d040be..c2c3a6abe 100644 --- a/javax/lang/model/SourceVersion.java +++ b/javax/lang/model/SourceVersion.java @@ -1,5 +1,5 @@ /* SourceVersion.java -- Source versions of the Java programming language. - Copyright (C) 2012 Free Software Foundation, Inc. + Copyright (C) 2012, 2013 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -55,7 +55,8 @@ public enum SourceVersion /** Java 1.3 */ RELEASE_3, /** Java 1.4 */ RELEASE_4, /** Java 5 */ RELEASE_5, - /** Java 6 */ RELEASE_6; + /** Java 6 */ RELEASE_6, + /** Java 7 @since 1.7 */ RELEASE_7; /** List of language keywords, as specified in 3.9 of the Java * Language Specification. Please keep sorted. */ diff --git a/javax/lang/model/UnknownEntityException.java b/javax/lang/model/UnknownEntityException.java new file mode 100644 index 000000000..9617164a5 --- /dev/null +++ b/javax/lang/model/UnknownEntityException.java @@ -0,0 +1,68 @@ +/* UnknownEntityException.java -- Thrown by an unknown entity. + Copyright (C) 2013 Free Software Foundation, Inc. + +This file is part of GNU Classpath. + +GNU Classpath is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2, or (at your option) +any later version. + +GNU Classpath is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +General Public License for more details. + +You should have received a copy of the GNU General Public License +along with GNU Classpath; see the file COPYING. If not, write to the +Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +02110-1301 USA. + +Linking this library statically or dynamically with other modules is +making a combined work based on this library. Thus, the terms and +conditions of the GNU General Public License cover the whole +combination. + +As a special exception, the copyright holders of this library give you +permission to link this library with independent modules to produce an +executable, regardless of the license terms of these independent +modules, and to copy and distribute the resulting executable under +terms of your choice, provided that you also meet, for each linked +independent module, the terms and conditions of the license of that +module. An independent module is a module which is not derived from +or based on this library. If you modify this library, you may extend +this exception to your version of the library, but you are not +obligated to do so. If you do not wish to do so, delete this +exception statement from your version. */ + +package javax.lang.model; + +/** + * Thrown when an unknown entity is encountered. This class + * acts as a superclass for more specific exceptions and allows + * all such exceptions to be handled easily in the same catch + * block. This exception is also used if the language changes + * and an element is encountered which is not handled by a more + * specific exception. + * + * @author Andrew John Hughes (gnu_andrew@member.fsf.org) + * @since 1.7 + */ +public class UnknownEntityException + extends RuntimeException +{ + + private static final long serialVersionUID = 269L; + + /** + * Constructs a new {@code UnknownEntityException} + * with the specified message. + * + * @param message the message to use. + */ + protected UnknownEntityException(String message) + { + super(message); + } + +} diff --git a/javax/lang/model/element/ElementKind.java b/javax/lang/model/element/ElementKind.java index b1765c547..5f0a84934 100644 --- a/javax/lang/model/element/ElementKind.java +++ b/javax/lang/model/element/ElementKind.java @@ -75,6 +75,8 @@ public enum ElementKind PACKAGE, /** A parameter passed to a method or constructor. */ PARAMETER, + /** A resource variable. */ + RESOURCE_VARIABLE, /** A static initializer. */ STATIC_INIT, /** A type parameter. */ diff --git a/javax/lang/model/element/ExecutableElement.java b/javax/lang/model/element/ExecutableElement.java index 389eff07e..a404962ad 100644 --- a/javax/lang/model/element/ExecutableElement.java +++ b/javax/lang/model/element/ExecutableElement.java @@ -1,5 +1,5 @@ /* ExecutableElement.java -- Represents a method, constructor or initialiser. - Copyright (C) 2012 Free Software Foundation, Inc. + Copyright (C) 2012, 2013 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -51,7 +51,7 @@ import javax.lang.model.type.TypeMirror; * @see javax.lang.model.type.ExecutableType */ public interface ExecutableElement - extends Element + extends Element, Parameterizable { /** diff --git a/javax/lang/model/element/PackageElement.java b/javax/lang/model/element/PackageElement.java index 71a06bc94..fbd30cb3a 100644 --- a/javax/lang/model/element/PackageElement.java +++ b/javax/lang/model/element/PackageElement.java @@ -1,5 +1,5 @@ /* PackageElement.java -- Represents a package. - Copyright (C) 2012 Free Software Foundation, Inc. + Copyright (C) 2012, 2013 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -46,7 +46,7 @@ package javax.lang.model.element; * @see javax.lang.model.util.Elements#getPackageOf(Element) */ public interface PackageElement - extends Element + extends Element, QualifiedNameable { /** diff --git a/javax/lang/model/element/Parameterizable.java b/javax/lang/model/element/Parameterizable.java new file mode 100644 index 000000000..b4e2ed8c2 --- /dev/null +++ b/javax/lang/model/element/Parameterizable.java @@ -0,0 +1,61 @@ +/* Parameterizable.java -- Represents a element with type parameters. + Copyright (C) 2013 Free Software Foundation, Inc. + +This file is part of GNU Classpath. + +GNU Classpath is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2, or (at your option) +any later version. + +GNU Classpath is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +General Public License for more details. + +You should have received a copy of the GNU General Public License +along with GNU Classpath; see the file COPYING. If not, write to the +Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +02110-1301 USA. + +Linking this library statically or dynamically with other modules is +making a combined work based on this library. Thus, the terms and +conditions of the GNU General Public License cover the whole +combination. + +As a special exception, the copyright holders of this library give you +permission to link this library with independent modules to produce an +executable, regardless of the license terms of these independent +modules, and to copy and distribute the resulting executable under +terms of your choice, provided that you also meet, for each linked +independent module, the terms and conditions of the license of that +module. An independent module is a module which is not derived from +or based on this library. If you modify this library, you may extend +this exception to your version of the library, but you are not +obligated to do so. If you do not wish to do so, delete this +exception statement from your version. */ + +package javax.lang.model.element; + +import java.util.List; + +/** + * Represents a program element that has type parameters. + * + * @author Andrew John Hughes (gnu_andrew@member.fsf.org) + * @since 1.7 + */ +public interface Parameterizable + extends Element +{ + + /** + * Returns the formal type parameters of this element + * in the order they were declared. + * + * @return the formal type parameters or an empty list + * if there are none. + */ + List getTypeParameters(); + +} diff --git a/javax/lang/model/element/QualifiedNameable.java b/javax/lang/model/element/QualifiedNameable.java new file mode 100644 index 000000000..c4de3b690 --- /dev/null +++ b/javax/lang/model/element/QualifiedNameable.java @@ -0,0 +1,57 @@ +/* QualifiedNameable.java -- Represents a element with a qualified name. + Copyright (C) 2013 Free Software Foundation, Inc. + +This file is part of GNU Classpath. + +GNU Classpath is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2, or (at your option) +any later version. + +GNU Classpath is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +General Public License for more details. + +You should have received a copy of the GNU General Public License +along with GNU Classpath; see the file COPYING. If not, write to the +Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +02110-1301 USA. + +Linking this library statically or dynamically with other modules is +making a combined work based on this library. Thus, the terms and +conditions of the GNU General Public License cover the whole +combination. + +As a special exception, the copyright holders of this library give you +permission to link this library with independent modules to produce an +executable, regardless of the license terms of these independent +modules, and to copy and distribute the resulting executable under +terms of your choice, provided that you also meet, for each linked +independent module, the terms and conditions of the license of that +module. An independent module is a module which is not derived from +or based on this library. If you modify this library, you may extend +this exception to your version of the library, but you are not +obligated to do so. If you do not wish to do so, delete this +exception statement from your version. */ + +package javax.lang.model.element; + +/** + * Represents a program element that has a qualified name. + * + * @author Andrew John Hughes (gnu_andrew@member.fsf.org) + * @since 1.7 + */ +public interface QualifiedNameable + extends Element +{ + + /** + * Returns the fully qualified name of this element. + * + * @return the qualified name. + */ + Name getQualifiedName(); + +} diff --git a/javax/lang/model/element/TypeElement.java b/javax/lang/model/element/TypeElement.java index 2e028fe40..1a0a385c9 100644 --- a/javax/lang/model/element/TypeElement.java +++ b/javax/lang/model/element/TypeElement.java @@ -1,5 +1,5 @@ /* TypeElement.java -- Represents a class or interface element. - Copyright (C) 2012 Free Software Foundation, Inc. + Copyright (C) 2012, 2013 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -65,7 +65,7 @@ import javax.lang.model.type.TypeMirror; * @since 1.6 */ public interface TypeElement - extends Element + extends Element, Parameterizable, QualifiedNameable { /** diff --git a/javax/lang/model/element/UnknownAnnotationValueException.java b/javax/lang/model/element/UnknownAnnotationValueException.java index dd9056b5a..1a51363c3 100644 --- a/javax/lang/model/element/UnknownAnnotationValueException.java +++ b/javax/lang/model/element/UnknownAnnotationValueException.java @@ -1,5 +1,5 @@ /* UnknownAnnotationValueException.java -- Thrown by an unknown annotation value. - Copyright (C) 2012 Free Software Foundation, Inc. + Copyright (C) 2012, 2013 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -37,6 +37,8 @@ exception statement from your version. */ package javax.lang.model.element; +import javax.lang.model.UnknownEntityException; + /** * Thrown when an unknown annotation value is encountered, * usually by a {@link AnnotationValueVisitor}. @@ -46,7 +48,7 @@ package javax.lang.model.element; * @see AnnotationValueVisitor#visitUnknown(AnnotationValue,P) */ public class UnknownAnnotationValueException - extends RuntimeException + extends UnknownEntityException { private static final long serialVersionUID = 269L; @@ -74,6 +76,7 @@ public class UnknownAnnotationValueException public UnknownAnnotationValueException(AnnotationValue annValue, Object param) { + super("The annotation value " + annValue + " is not recognised."); this.annValue = annValue; this.param = param; } diff --git a/javax/lang/model/element/UnknownElementException.java b/javax/lang/model/element/UnknownElementException.java index 68391b275..5c6e1fe4e 100644 --- a/javax/lang/model/element/UnknownElementException.java +++ b/javax/lang/model/element/UnknownElementException.java @@ -1,5 +1,5 @@ /* UnknownElementException.java -- Thrown by an unknown element. - Copyright (C) 2012 Free Software Foundation, Inc. + Copyright (C) 2012, 2013 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -37,6 +37,8 @@ exception statement from your version. */ package javax.lang.model.element; +import javax.lang.model.UnknownEntityException; + /** * Thrown when an unknown element is encountered, * usually by a {@link ElementVisitor}. @@ -46,7 +48,7 @@ package javax.lang.model.element; * @see ElementVisitor#visitUnknown(Element,P) */ public class UnknownElementException - extends RuntimeException + extends UnknownEntityException { private static final long serialVersionUID = 269L; @@ -73,7 +75,7 @@ public class UnknownElementException */ public UnknownElementException(Element element, Object param) { - super("The element " + element + " is not recognised,"); + super("The element " + element + " is not recognised."); this.element = element; this.param = param; } diff --git a/javax/lang/model/type/MirroredTypeException.java b/javax/lang/model/type/MirroredTypeException.java index 6c443ad58..e006c9f3d 100644 --- a/javax/lang/model/type/MirroredTypeException.java +++ b/javax/lang/model/type/MirroredTypeException.java @@ -1,5 +1,5 @@ /* MirroredTypeException.java -- An attempt to access a TypeMirror's class. - Copyright (C) 2012 Free Software Foundation, Inc. + Copyright (C) 2012, 2013 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -37,6 +37,8 @@ exception statement from your version. */ package javax.lang.model.type; +import java.util.Collections; + /** * Thrown when an application attempts to access the * {@link Class} object corresponding to a {@link TypeMirror}. @@ -46,16 +48,11 @@ package javax.lang.model.type; * @see javax.lang.model.element.Element#getAnnotation(Class) */ public class MirroredTypeException - extends RuntimeException + extends MirroredTypesException { private static final long serialVersionUID = 269L; - /** - * The type mirror. - */ - private TypeMirror mirror; - /** * Constructs a new {@code MirroredTypeException} * for the specified type. @@ -65,7 +62,7 @@ public class MirroredTypeException */ public MirroredTypeException(TypeMirror mirror) { - this.mirror = mirror; + super(Collections.singletonList(mirror)); } /** @@ -78,7 +75,7 @@ public class MirroredTypeException */ public TypeMirror getTypeMirror() { - return mirror; + return getTypeMirrors().get(0); } diff --git a/javax/lang/model/type/TypeKind.java b/javax/lang/model/type/TypeKind.java index 37d2c9d5d..5a0b97e24 100644 --- a/javax/lang/model/type/TypeKind.java +++ b/javax/lang/model/type/TypeKind.java @@ -1,5 +1,5 @@ /* TypeKind.java -- Represents the kind of a type. - Copyright (C) 2012 Free Software Foundation, Inc. + Copyright (C) 2012, 2013 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -81,6 +81,8 @@ public enum TypeKind SHORT, /** A type variable */ TYPEVAR, + /** A union type. */ + UNION, /** A psuedo-type used for the void return type. */ VOID, /** A wildcard type argument. */ diff --git a/javax/lang/model/type/TypeVisitor.java b/javax/lang/model/type/TypeVisitor.java index 3d2a327da..d8e553a28 100644 --- a/javax/lang/model/type/TypeVisitor.java +++ b/javax/lang/model/type/TypeVisitor.java @@ -1,5 +1,5 @@ /* TypeVisitor.java -- A visitor of types. - Copyright (C) 2012 Free Software Foundation, Inc. + Copyright (C) 2012, 2013 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -185,4 +185,15 @@ public interface TypeVisitor */ R visitWildcard(WildcardType type, P param); + /** + * Visits a union type. + * + * @param type the union type to visit. + * @param param the additional parameter, specific to the visitor. + * May be {@code null} if permitted by the visitor. + * @return the return value specific to the visitor. + * @since 1.7 + */ + R visitUnion(UnionType type, P param); + } diff --git a/javax/lang/model/type/UnionType.java b/javax/lang/model/type/UnionType.java new file mode 100644 index 000000000..9d024d1ef --- /dev/null +++ b/javax/lang/model/type/UnionType.java @@ -0,0 +1,61 @@ +/* UnionType.java -- Represents a union type. + Copyright (C) 2013 Free Software Foundation, Inc. + +This file is part of GNU Classpath. + +GNU Classpath is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2, or (at your option) +any later version. + +GNU Classpath is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +General Public License for more details. + +You should have received a copy of the GNU General Public License +along with GNU Classpath; see the file COPYING. If not, write to the +Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +02110-1301 USA. + +Linking this library statically or dynamically with other modules is +making a combined work based on this library. Thus, the terms and +conditions of the GNU General Public License cover the whole +combination. + +As a special exception, the copyright holders of this library give you +permission to link this library with independent modules to produce an +executable, regardless of the license terms of these independent +modules, and to copy and distribute the resulting executable under +terms of your choice, provided that you also meet, for each linked +independent module, the terms and conditions of the license of that +module. An independent module is a module which is not derived from +or based on this library. If you modify this library, you may extend +this exception to your version of the library, but you are not +obligated to do so. If you do not wish to do so, delete this +exception statement from your version. */ + +package javax.lang.model.type; + +import java.util.List; + +/** + * Represents a union type. These may appear as a multi-catch + * exception parameter, a concept introduced in + * {@link javax.lang.model.SourceVersion#RELEASE_7}. + * + * @author Andrew John Hughes (gnu_andrew@member.fsf.org) + * @since 1.7 + */ +public interface UnionType + extends TypeMirror +{ + + /** + * Returns the alternatives which make up this union. + * + * @return the list of alternatives. + */ + List getAlternatives(); + +} diff --git a/javax/lang/model/type/UnknownTypeException.java b/javax/lang/model/type/UnknownTypeException.java index 063e3a750..2186d31e3 100644 --- a/javax/lang/model/type/UnknownTypeException.java +++ b/javax/lang/model/type/UnknownTypeException.java @@ -1,5 +1,5 @@ /* UnknownTypeException.java -- Thrown by an unknown type. - Copyright (C) 2012 Free Software Foundation, Inc. + Copyright (C) 2012, 2013 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -37,6 +37,8 @@ exception statement from your version. */ package javax.lang.model.type; +import javax.lang.model.UnknownEntityException; + /** * Thrown when an unknown type is encountered, * usually by a {@link TypeVisitor}. @@ -46,7 +48,7 @@ package javax.lang.model.type; * @see TypeVisitor#visitUnknown(TypeMirror,P) */ public class UnknownTypeException - extends RuntimeException + extends UnknownEntityException { private static final long serialVersionUID = 269L; @@ -73,6 +75,7 @@ public class UnknownTypeException */ public UnknownTypeException(TypeMirror type, Object param) { + super("The type " + type + " is not recognised."); this.type = type; this.param = param; } -- cgit v1.2.1