emul/mini/src/main/java/java/lang/InstantiationException.java
author Jaroslav Tulach <jaroslav.tulach@apidesign.org>
Sat, 26 Jan 2013 08:47:05 +0100
changeset 592 5e13b1ac2886
parent 66 8a74b5d8d1d4
permissions -rw-r--r--
In order to support fields of the same name in subclasses we are now prefixing them with name of the class that defines them. To provide convenient way to access them from generated bytecode and also directly from JavaScript, there is a getter/setter function for each field. It starts with _ followed by the field name. If called with a parameter, it sets the field, with a parameter it just returns it.
     1 /*
     2  * Copyright (c) 1995, 2008, Oracle and/or its affiliates. All rights reserved.
     3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     4  *
     5  * This code is free software; you can redistribute it and/or modify it
     6  * under the terms of the GNU General Public License version 2 only, as
     7  * published by the Free Software Foundation.  Oracle designates this
     8  * particular file as subject to the "Classpath" exception as provided
     9  * by Oracle in the LICENSE file that accompanied this code.
    10  *
    11  * This code is distributed in the hope that it will be useful, but WITHOUT
    12  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
    13  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
    14  * version 2 for more details (a copy is included in the LICENSE file that
    15  * accompanied this code).
    16  *
    17  * You should have received a copy of the GNU General Public License version
    18  * 2 along with this work; if not, write to the Free Software Foundation,
    19  * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
    20  *
    21  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
    22  * or visit www.oracle.com if you need additional information or have any
    23  * questions.
    24  */
    25 
    26 package java.lang;
    27 
    28 /**
    29  * Thrown when an application tries to create an instance of a class
    30  * using the {@code newInstance} method in class
    31  * {@code Class}, but the specified class object cannot be
    32  * instantiated.  The instantiation can fail for a variety of
    33  * reasons including but not limited to:
    34  *
    35  * <ul>
    36  * <li> the class object represents an abstract class, an interface,
    37  *      an array class, a primitive type, or {@code void}
    38  * <li> the class has no nullary constructor
    39  *</ul>
    40  *
    41  * @author  unascribed
    42  * @see     java.lang.Class#newInstance()
    43  * @since   JDK1.0
    44  */
    45 public
    46 class InstantiationException extends ReflectiveOperationException {
    47     private static final long serialVersionUID = -8441929162975509110L;
    48 
    49     /**
    50      * Constructs an {@code InstantiationException} with no detail message.
    51      */
    52     public InstantiationException() {
    53         super();
    54     }
    55 
    56     /**
    57      * Constructs an {@code InstantiationException} with the
    58      * specified detail message.
    59      *
    60      * @param   s   the detail message.
    61      */
    62     public InstantiationException(String s) {
    63         super(s);
    64     }
    65 }