aboutsummaryrefslogtreecommitdiffstats
path: root/src/main/javassist/CtArray.java
diff options
context:
space:
mode:
authorpatriot1burke <patriot1burke@30ef5769-5b8d-40dd-aea6-55b5d6557bb3>2003-04-22 13:47:06 +0000
committerpatriot1burke <patriot1burke@30ef5769-5b8d-40dd-aea6-55b5d6557bb3>2003-04-22 13:47:06 +0000
commit069bceaf72fd0d6ffad14ce4e3e00ca91a280bde (patch)
treeb8230a15d3061c64d5a64bf9efa654d0d6311ff2 /src/main/javassist/CtArray.java
parentf610083ba0adbcb3fe92a504015fb26fb5a42530 (diff)
downloadjavassist-069bceaf72fd0d6ffad14ce4e3e00ca91a280bde.tar.gz
javassist-069bceaf72fd0d6ffad14ce4e3e00ca91a280bde.zip
This commit was generated by cvs2svn to compensate for changes in r2, which
included commits to RCS files with non-trunk default branches. git-svn-id: http://anonsvn.jboss.org/repos/javassist/trunk@6 30ef5769-5b8d-40dd-aea6-55b5d6557bb3
Diffstat (limited to 'src/main/javassist/CtArray.java')
-rw-r--r--src/main/javassist/CtArray.java93
1 files changed, 93 insertions, 0 deletions
diff --git a/src/main/javassist/CtArray.java b/src/main/javassist/CtArray.java
new file mode 100644
index 00000000..904f15c9
--- /dev/null
+++ b/src/main/javassist/CtArray.java
@@ -0,0 +1,93 @@
+/*
+ * This file is part of the Javassist toolkit.
+ *
+ * The contents of this file are subject to the Mozilla Public License
+ * Version 1.1 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ * either http://www.mozilla.org/MPL/.
+ *
+ * Software distributed under the License is distributed on an "AS IS"
+ * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
+ * the License for the specific language governing rights and limitations
+ * under the License.
+ *
+ * The Original Code is Javassist.
+ *
+ * The Initial Developer of the Original Code is Shigeru Chiba. Portions
+ * created by Shigeru Chiba are Copyright (C) 1999-2003 Shigeru Chiba.
+ * All Rights Reserved.
+ *
+ * Contributor(s):
+ *
+ * The development of this software is supported in part by the PRESTO
+ * program (Sakigake Kenkyu 21) of Japan Science and Technology Corporation.
+ */
+
+package javassist;
+
+/**
+ * Array types.
+ */
+final class CtArray extends CtClass {
+ protected ClassPool pool;
+
+ // the name of array type ends with "[]".
+ CtArray(String name, ClassPool cp) {
+ super(name);
+ pool = cp;
+ }
+
+ public ClassPool getClassPool() {
+ return pool;
+ }
+
+ public boolean isArray() {
+ return true;
+ }
+
+ public boolean subtypeOf(CtClass clazz) throws NotFoundException {
+ if (super.subtypeOf(clazz))
+ return true;
+
+ String cname = clazz.getName();
+ if (cname.equals(javaLangObject)
+ || cname.equals("java.lang.Cloneable"))
+ return true;
+
+ return clazz.isArray()
+ && getComponentType().subtypeOf(clazz.getComponentType());
+ }
+
+ public CtClass getComponentType() throws NotFoundException {
+ String name = getName();
+ return pool.get(name.substring(0, name.length() - 2));
+ }
+
+ public CtClass getSuperclass() throws NotFoundException {
+ return pool.get(javaLangObject);
+ }
+
+ public CtMethod[] getMethods() {
+ try {
+ return getSuperclass().getMethods();
+ }
+ catch (NotFoundException e) {
+ return super.getMethods();
+ }
+ }
+
+ public CtMethod getMethod(String name, String desc)
+ throws NotFoundException
+ {
+ return getSuperclass().getMethod(name, desc);
+ }
+
+ public CtConstructor[] getConstructors() {
+ try {
+ return getSuperclass().getConstructors();
+ }
+ catch (NotFoundException e) {
+ return super.getConstructors();
+ }
+ }
+}