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.
2 * Copyright (c) 1994, 2001, Oracle and/or its affiliates. All rights reserved.
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
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.
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).
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.
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
28 import org.apidesign.bck2brwsr.core.ExtraJavaScript;
31 * The abstract class <code>Number</code> is the superclass of classes
32 * <code>BigDecimal</code>, <code>BigInteger</code>,
33 * <code>Byte</code>, <code>Double</code>, <code>Float</code>,
34 * <code>Integer</code>, <code>Long</code>, and <code>Short</code>.
36 * Subclasses of <code>Number</code> must provide methods to convert
37 * the represented numeric value to <code>byte</code>, <code>double</code>,
38 * <code>float</code>, <code>int</code>, <code>long</code>, and
42 * @author Arthur van Hoff
44 * @see java.lang.Double
45 * @see java.lang.Float
46 * @see java.lang.Integer
48 * @see java.lang.Short
52 resource="/org/apidesign/vm4brwsr/emul/lang/java_lang_Number.js",
55 public abstract class Number implements java.io.Serializable {
57 * Returns the value of the specified number as an <code>int</code>.
58 * This may involve rounding or truncation.
60 * @return the numeric value represented by this object after conversion
61 * to type <code>int</code>.
63 public abstract int intValue();
66 * Returns the value of the specified number as a <code>long</code>.
67 * This may involve rounding or truncation.
69 * @return the numeric value represented by this object after conversion
70 * to type <code>long</code>.
72 public abstract long longValue();
75 * Returns the value of the specified number as a <code>float</code>.
76 * This may involve rounding.
78 * @return the numeric value represented by this object after conversion
79 * to type <code>float</code>.
81 public abstract float floatValue();
84 * Returns the value of the specified number as a <code>double</code>.
85 * This may involve rounding.
87 * @return the numeric value represented by this object after conversion
88 * to type <code>double</code>.
90 public abstract double doubleValue();
93 * Returns the value of the specified number as a <code>byte</code>.
94 * This may involve rounding or truncation.
96 * @return the numeric value represented by this object after conversion
97 * to type <code>byte</code>.
100 public byte byteValue() {
101 return (byte)intValue();
105 * Returns the value of the specified number as a <code>short</code>.
106 * This may involve rounding or truncation.
108 * @return the numeric value represented by this object after conversion
109 * to type <code>short</code>.
112 public short shortValue() {
113 return (short)intValue();
116 /** use serialVersionUID from JDK 1.0.2 for interoperability */
117 private static final long serialVersionUID = -8742448824652078965L;