diff options
author | Gilles Dubochet <gilles.dubochet@epfl.ch> | 2009-09-21 19:24:41 +0000 |
---|---|---|
committer | Gilles Dubochet <gilles.dubochet@epfl.ch> | 2009-09-21 19:24:41 +0000 |
commit | 0f10ffedc8d0cdf8410cc6fc143a08a9333c9832 (patch) | |
tree | e933f41b1faa1d1c53c357c7664b4714daccefab /src/fjbg/ch/epfl/lamp/fjbg/JObjectType.java | |
parent | 4c29e778f1c95d60f24310c1898fa2fdf295db0f (diff) | |
download | scala-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.java | 53 |
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; + } +} |