]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.scl.compiler/src/org/cojen/classfile/TypeDesc.java
(refs #7250) Merging master, minor CHR bugfixes
[simantics/platform.git] / bundles / org.simantics.scl.compiler / src / org / cojen / classfile / TypeDesc.java
index 084eb3dc85445cef536d561c0eec6cf6d1c2e002..5843b89e32eae40bb25d84a9e28fee05b017a9ad 100644 (file)
 
 package org.cojen.classfile;
 
-import java.io.Serializable;
-import java.io.Externalizable;
-import java.io.ObjectOutput;
-import java.io.ObjectInput;
-import java.io.IOException;
-import java.io.ObjectStreamException;
 import java.lang.ref.SoftReference;
 import java.lang.reflect.Array;
 import java.util.Collections;
@@ -39,7 +33,7 @@ import org.cojen.util.WeakIdentityMap;
  * @author Brian S O'Neill
  */
 @SuppressWarnings("rawtypes")
-public abstract class TypeDesc extends Descriptor implements Serializable {
+public abstract class TypeDesc extends Descriptor {
     /**
      * Type code returned from getTypeCode, which can be used with the
      * newarray instruction.
@@ -510,10 +504,6 @@ public abstract class TypeDesc extends Descriptor implements Serializable {
         return false;
     }
 
-    Object writeReplace() throws ObjectStreamException {
-        return new External(mDescriptor);
-    }
-
     private static class PrimitiveType extends TypeDesc {
         private transient final int mCode;
         private transient TypeDesc mArrayType;
@@ -895,27 +885,11 @@ public abstract class TypeDesc extends Descriptor implements Serializable {
             }
         }
     }
-
-    private static class External implements Externalizable {
-        private String mDescriptor;
-
-        public External() {
-        }
-
-        public External(String desc) {
-            mDescriptor = desc;
-        }
-
-        public void writeExternal(ObjectOutput out) throws IOException {
-            out.writeUTF(mDescriptor);
-        }
-
-        public void readExternal(ObjectInput in) throws IOException {
-            mDescriptor = in.readUTF();
-        }
-
-        public Object readResolve() throws ObjectStreamException {
-            return forDescriptor(mDescriptor);
-        }
+    
+    public static TypeDesc[] concat(TypeDesc[] a, TypeDesc[] b) {
+        TypeDesc[] result = new TypeDesc[a.length + b.length];
+        System.arraycopy(a, 0, result, 0, a.length);
+        System.arraycopy(b, 0, result, a.length, b.length);
+        return result;
     }
 }