summaryrefslogtreecommitdiff
path: root/src/fjbg/ch/epfl/lamp/fjbg/JObjectType.java
diff options
context:
space:
mode:
authorGilles Dubochet <gilles.dubochet@epfl.ch>2009-09-21 19:24:41 +0000
committerGilles Dubochet <gilles.dubochet@epfl.ch>2009-09-21 19:24:41 +0000
commit0f10ffedc8d0cdf8410cc6fc143a08a9333c9832 (patch)
treee933f41b1faa1d1c53c357c7664b4714daccefab /src/fjbg/ch/epfl/lamp/fjbg/JObjectType.java
parent4c29e778f1c95d60f24310c1898fa2fdf295db0f (diff)
downloadscala-0f10ffedc8d0cdf8410cc6fc143a08a9333c9832.tar.gz
scala-0f10ffedc8d0cdf8410cc6fc143a08a9333c9832.tar.bz2
scala-0f10ffedc8d0cdf8410cc6fc143a08a9333c9832.zip
SABBUS now builds FJBG, which sources are now p...
SABBUS now builds FJBG, which sources are now part of the Scala module.
Diffstat (limited to 'src/fjbg/ch/epfl/lamp/fjbg/JObjectType.java')
-rw-r--r--src/fjbg/ch/epfl/lamp/fjbg/JObjectType.java53
1 files changed, 53 insertions, 0 deletions
diff --git a/src/fjbg/ch/epfl/lamp/fjbg/JObjectType.java b/src/fjbg/ch/epfl/lamp/fjbg/JObjectType.java
new file mode 100644
index 0000000000..a1930f77ef
--- /dev/null
+++ b/src/fjbg/ch/epfl/lamp/fjbg/JObjectType.java
@@ -0,0 +1,53 @@
+// $Id$
+
+package ch.epfl.lamp.fjbg;
+
+/**
+ * Types for Java objects.
+ *
+ * @version 1.0
+ * @author Michel Schinz
+ */
+
+public class JObjectType extends JReferenceType {
+ protected final String name;
+ protected String signature = null;
+
+ public final static JObjectType JAVA_LANG_OBJECT =
+ new JObjectType("java.lang.Object");
+ public final static JObjectType JAVA_LANG_STRING =
+ new JObjectType("java.lang.String");
+ public final static JObjectType CLONEABLE =
+ new JObjectType("Cloneable");
+ public final static JObjectType JAVA_IO_SERIALIZABLE =
+ new JObjectType("java.io.Serializable");
+
+ public JObjectType(String name) {
+ this.name = name;
+ }
+
+ public int getSize() { return 1; }
+
+ public String getName() { return name; }
+
+ public String getSignature() {
+ if (signature == null)
+ signature = "L" + name.replace('.','/') + ";";
+ return signature;
+ }
+
+ public String getDescriptor() {
+ return name.replace('.','/');
+ }
+
+ public int getTag() { return T_OBJECT; }
+
+ public String toString() { return name; }
+
+ public boolean isObjectType() { return true; }
+
+ public boolean isCompatibleWith(JType other) {
+ return other instanceof JObjectType
+ || other == JType.REFERENCE;
+ }
+}