summaryrefslogtreecommitdiffstats
path: root/src/org/jetbrains/java/decompiler/struct/consts/PrimitiveConstant.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/org/jetbrains/java/decompiler/struct/consts/PrimitiveConstant.java')
-rw-r--r--src/org/jetbrains/java/decompiler/struct/consts/PrimitiveConstant.java218
1 files changed, 109 insertions, 109 deletions
diff --git a/src/org/jetbrains/java/decompiler/struct/consts/PrimitiveConstant.java b/src/org/jetbrains/java/decompiler/struct/consts/PrimitiveConstant.java
index f01a695..4cd4dd8 100644
--- a/src/org/jetbrains/java/decompiler/struct/consts/PrimitiveConstant.java
+++ b/src/org/jetbrains/java/decompiler/struct/consts/PrimitiveConstant.java
@@ -1,17 +1,18 @@
/*
- * Fernflower - The Analytical Java Decompiler
- * http://www.reversed-java.com
+ * Copyright 2000-2014 JetBrains s.r.o.
*
- * (C) 2008 - 2010, Stiver
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
*
- * This software is NEITHER public domain NOR free software
- * as per GNU License. See license.txt for more details.
+ * http://www.apache.org/licenses/LICENSE-2.0
*
- * This software is distributed WITHOUT ANY WARRANTY; without
- * even the implied warranty of MERCHANTABILITY or FITNESS FOR
- * A PARTICULAR PURPOSE.
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
*/
-
package org.jetbrains.java.decompiler.struct.consts;
import java.io.DataOutputStream;
@@ -23,104 +24,103 @@ import java.io.IOException;
public class PrimitiveConstant extends PooledConstant {
- // *****************************************************************************
- // public fields
- // *****************************************************************************
-
- public int index;
-
- public Object value;
-
- public boolean isArray;
-
- // *****************************************************************************
- // constructors
- // *****************************************************************************
-
- public PrimitiveConstant(int type, Object value) {
- this.type = type;
- this.value = value;
-
- initConstant();
- }
-
- public PrimitiveConstant(int type, int index) {
- this.type = type;
- this.index = index;
- }
-
- // *****************************************************************************
- // public methods
- // *****************************************************************************
-
- public int getInt() {
- return ((Integer)value).intValue();
- }
-
- public long getLong() {
- return ((Long)value).longValue();
- }
-
- public float getFloat() {
- return ((Float)value).floatValue();
- }
-
- public double getDouble() {
- return ((Double)value).doubleValue();
- }
-
- public String getString() {
- return (String)value;
- }
-
- public void resolveConstant(ConstantPool pool) {
-
- if(type == CONSTANT_Class || type == CONSTANT_String || type == CONSTANT_MethodType) {
- value = pool.getPrimitiveConstant(index).getString();
- initConstant();
- }
- }
-
- public void writeToStream(DataOutputStream out) throws IOException {
-
- out.writeByte(type);
- switch(type) {
- case CONSTANT_Integer:
- out.writeInt(getInt());
- break;
- case CONSTANT_Float:
- out.writeFloat(getFloat());
- break;
- case CONSTANT_Long:
- out.writeLong(getLong());
- break;
- case CONSTANT_Double:
- out.writeDouble(getDouble());
- break;
- case CONSTANT_Utf8:
- out.writeUTF(getString());
- break;
- default: // CONSTANT_Class, CONSTANT_String, CONSTANT_MethodType
- out.writeShort(index);
- }
- }
-
- public boolean equals(Object o) {
- if(o == this) return true;
- if(o == null || !(o instanceof PrimitiveConstant)) return false;
-
- PrimitiveConstant cn = (PrimitiveConstant)o;
- return this.type == cn.type &&
- this.isArray == cn.isArray &&
- this.value.equals(cn.value);
-
- }
-
- private void initConstant() {
- if(type == CONSTANT_Class) {
- String className = getString();
- isArray = (className.length() > 0 && className.charAt(0)=='['); // empty string for a class name seems to be possible in some android files
- }
- }
-
+ // *****************************************************************************
+ // public fields
+ // *****************************************************************************
+
+ public int index;
+
+ public Object value;
+
+ public boolean isArray;
+
+ // *****************************************************************************
+ // constructors
+ // *****************************************************************************
+
+ public PrimitiveConstant(int type, Object value) {
+ this.type = type;
+ this.value = value;
+
+ initConstant();
+ }
+
+ public PrimitiveConstant(int type, int index) {
+ this.type = type;
+ this.index = index;
+ }
+
+ // *****************************************************************************
+ // public methods
+ // *****************************************************************************
+
+ public int getInt() {
+ return ((Integer)value).intValue();
+ }
+
+ public long getLong() {
+ return ((Long)value).longValue();
+ }
+
+ public float getFloat() {
+ return ((Float)value).floatValue();
+ }
+
+ public double getDouble() {
+ return ((Double)value).doubleValue();
+ }
+
+ public String getString() {
+ return (String)value;
+ }
+
+ public void resolveConstant(ConstantPool pool) {
+
+ if (type == CONSTANT_Class || type == CONSTANT_String || type == CONSTANT_MethodType) {
+ value = pool.getPrimitiveConstant(index).getString();
+ initConstant();
+ }
+ }
+
+ public void writeToStream(DataOutputStream out) throws IOException {
+
+ out.writeByte(type);
+ switch (type) {
+ case CONSTANT_Integer:
+ out.writeInt(getInt());
+ break;
+ case CONSTANT_Float:
+ out.writeFloat(getFloat());
+ break;
+ case CONSTANT_Long:
+ out.writeLong(getLong());
+ break;
+ case CONSTANT_Double:
+ out.writeDouble(getDouble());
+ break;
+ case CONSTANT_Utf8:
+ out.writeUTF(getString());
+ break;
+ default: // CONSTANT_Class, CONSTANT_String, CONSTANT_MethodType
+ out.writeShort(index);
+ }
+ }
+
+ public boolean equals(Object o) {
+ if (o == this) return true;
+ if (o == null || !(o instanceof PrimitiveConstant)) return false;
+
+ PrimitiveConstant cn = (PrimitiveConstant)o;
+ return this.type == cn.type &&
+ this.isArray == cn.isArray &&
+ this.value.equals(cn.value);
+ }
+
+ private void initConstant() {
+ if (type == CONSTANT_Class) {
+ String className = getString();
+ isArray =
+ (className.length() > 0 && className.charAt(0) == '['); // empty string for a class name seems to be possible in some android files
+ }
+ }
}