Import GNU Classpath (20121202).
2012-12-19 Matthias Klose <doko@ubuntu.com> Import GNU Classpath (20121202). * Regenerate class and header files. * Regenerate auto* files. * sources.am, gcj/javaprims.h: Regenerate. * gnu/java/nio/FileLockImpl.java (close): New override. From-SVN: r194618
This commit is contained in:
@@ -54,9 +54,6 @@ DIST_COMMON = README $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
|
||||
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
|
||||
am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
|
||||
$(top_srcdir)/../../config/lead-dot.m4 \
|
||||
$(top_srcdir)/../../config/lib-ld.m4 \
|
||||
$(top_srcdir)/../../config/lib-link.m4 \
|
||||
$(top_srcdir)/../../config/lib-prefix.m4 \
|
||||
$(top_srcdir)/../../config/multi.m4 \
|
||||
$(top_srcdir)/../../config/no-executables.m4 \
|
||||
$(top_srcdir)/../../config/override.m4 \
|
||||
@@ -75,7 +72,9 @@ am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
|
||||
$(top_srcdir)/m4/ax_create_stdint_h.m4 \
|
||||
$(top_srcdir)/m4/ax_func_which_gethostbyname_r.m4 \
|
||||
$(top_srcdir)/m4/gcc_attribute.m4 $(top_srcdir)/m4/iconv.m4 \
|
||||
$(top_srcdir)/m4/pkg.m4 $(top_srcdir)/configure.ac
|
||||
$(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
|
||||
$(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/pkg.m4 \
|
||||
$(top_srcdir)/configure.ac
|
||||
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
|
||||
$(ACLOCAL_M4)
|
||||
mkinstalldirs = $(SHELL) $(top_srcdir)/../../mkinstalldirs
|
||||
@@ -344,6 +343,7 @@ MAKEINFO = @MAKEINFO@
|
||||
MKDIR = @MKDIR@
|
||||
MKDIR_P = @MKDIR_P@
|
||||
MOC = @MOC@
|
||||
MOC4 = @MOC4@
|
||||
MOZILLA_CFLAGS = @MOZILLA_CFLAGS@
|
||||
MOZILLA_LIBS = @MOZILLA_LIBS@
|
||||
NM = @NM@
|
||||
|
||||
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
Binary file not shown.
Binary file not shown.
BIN
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -1,5 +1,5 @@
|
||||
/* Doc.java -- Model of an item to document.
|
||||
Copyright (C) 1999 Free Software Foundation, Inc.
|
||||
Copyright (C) 1999, 2012 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GNU Classpath.
|
||||
|
||||
@@ -42,7 +42,7 @@ package com.sun.javadoc;
|
||||
* This interface is the super-interface of all items that can have
|
||||
* Javadoc comments associated with them.
|
||||
*/
|
||||
public interface Doc extends java.io.Serializable, Comparable
|
||||
public interface Doc extends java.io.Serializable, Comparable<Doc>
|
||||
{
|
||||
|
||||
/**
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/* gnu.classpath.tools.doclets.AbstractDoclet
|
||||
Copyright (C) 2004 Free Software Foundation, Inc.
|
||||
Copyright (C) 2004, 2012 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GNU Classpath.
|
||||
|
||||
@@ -103,25 +103,20 @@ public abstract class AbstractDoclet
|
||||
* Mapping from tag type to Taglet for user Taglets specified on
|
||||
* the command line.
|
||||
*/
|
||||
protected Map tagletMap = new LinkedHashMap();
|
||||
protected Map<String,Taglet> tagletMap = new LinkedHashMap<String,Taglet>();
|
||||
|
||||
/**
|
||||
* Stores the package groups specified in the user
|
||||
* options. Contains objects of type PackageGroup.
|
||||
*/
|
||||
private List packageGroups = new LinkedList();
|
||||
|
||||
/**
|
||||
* The current classpath for loading taglet classes.
|
||||
*/
|
||||
private String tagletPath;
|
||||
private List<PackageGroup> packageGroups = new LinkedList<PackageGroup>();
|
||||
|
||||
/**
|
||||
* Keeps track of the tags mentioned by the user during option
|
||||
* processiong so that an error can be emitted if a tag is
|
||||
* mentioned more than once.
|
||||
*/
|
||||
private List mentionedTags = new LinkedList();
|
||||
private List<Taglet> mentionedTags = new LinkedList<Taglet>();
|
||||
|
||||
public static int optionLength(String option) {
|
||||
return instance.getOptionLength(option);
|
||||
@@ -226,9 +221,6 @@ public abstract class AbstractDoclet
|
||||
new DocletOptionFile("-d",
|
||||
new File(System.getProperty("user.dir")));
|
||||
|
||||
private DocletOptionFlag optionNoEmailWarn =
|
||||
new DocletOptionFlag("-noemailwarn");
|
||||
|
||||
private DocletOptionFlag optionAuthor =
|
||||
new DocletOptionFlag("-author");
|
||||
|
||||
@@ -253,93 +245,12 @@ public abstract class AbstractDoclet
|
||||
private DocletOptionColonSeparated optionExcludeDocFilesSubDir =
|
||||
new DocletOptionColonSeparated("-excludedocfilessubdir");
|
||||
|
||||
private DocletOptionTagletPath optionTagletPath =
|
||||
new DocletOptionTagletPath("-tagletpath");
|
||||
|
||||
private DocletOptionTag optionTaglet =
|
||||
new DocletOptionTag("-taglet");
|
||||
|
||||
private DocletOptionTag optionTag =
|
||||
new DocletOptionTag("-tag");
|
||||
|
||||
private class DocletOptionTaglet
|
||||
extends DocletOption
|
||||
{
|
||||
DocletOptionTaglet(String optionName)
|
||||
{
|
||||
super(optionName);
|
||||
}
|
||||
|
||||
public int getLength()
|
||||
{
|
||||
return 2;
|
||||
}
|
||||
|
||||
public boolean set(String[] optionArr)
|
||||
{
|
||||
|
||||
boolean tagletLoaded = false;
|
||||
|
||||
String useTagletPath = AbstractDoclet.this.tagletPath;
|
||||
if (null == useTagletPath) {
|
||||
useTagletPath = System.getProperty("java.class.path");
|
||||
}
|
||||
|
||||
try {
|
||||
Class tagletClass;
|
||||
try {
|
||||
tagletClass
|
||||
= new FileSystemClassLoader(useTagletPath).loadClass(optionArr[1]);
|
||||
}
|
||||
catch (ClassNotFoundException e) {
|
||||
// If not found on specified tagletpath, try default classloader
|
||||
tagletClass
|
||||
= Class.forName(optionArr[1]);
|
||||
}
|
||||
Method registerTagletMethod
|
||||
= tagletClass.getDeclaredMethod("register", new Class[] { java.util.Map.class });
|
||||
|
||||
if (!registerTagletMethod.getReturnType().equals(Void.TYPE)) {
|
||||
printError("Taglet class '" + optionArr[1] + "' found, but register method doesn't return void.");
|
||||
}
|
||||
else if (registerTagletMethod.getExceptionTypes().length > 0) {
|
||||
printError("Taglet class '" + optionArr[1] + "' found, but register method contains throws clause.");
|
||||
}
|
||||
else if ((registerTagletMethod.getModifiers() & (Modifier.STATIC | Modifier.PUBLIC | Modifier.ABSTRACT)) != (Modifier.STATIC | Modifier.PUBLIC)) {
|
||||
printError("Taglet class '" + optionArr[1] + "' found, but register method isn't public static, or is abstract..");
|
||||
}
|
||||
else {
|
||||
Map tempMap = new HashMap();
|
||||
registerTagletMethod.invoke(null, new Object[] { tempMap });
|
||||
tagletLoaded = true;
|
||||
String name = (String)tempMap.keySet().iterator().next();
|
||||
Taglet taglet = (Taglet)tempMap.get(name);
|
||||
tagletMap.put(name, taglet);
|
||||
mentionedTags.add(taglet);
|
||||
}
|
||||
}
|
||||
catch (NoSuchMethodException e) {
|
||||
printError("Taglet class '" + optionArr[1] + "' found, but doesn't contain the register method.");
|
||||
}
|
||||
catch (SecurityException e) {
|
||||
printError("Taglet class '" + optionArr[1] + "' cannot be loaded: " + e.getMessage());
|
||||
}
|
||||
catch (InvocationTargetException e) {
|
||||
printError("Taglet class '" + optionArr[1] + "' found, but register method throws exception: " + e.toString());
|
||||
}
|
||||
catch (IllegalAccessException e) {
|
||||
printError("Taglet class '" + optionArr[1] + "' found, but there was a problem when accessing the register method: " + e.toString());
|
||||
}
|
||||
catch (IllegalArgumentException e) {
|
||||
printError("Taglet class '" + optionArr[1] + "' found, but there was a problem when accessing the register method: " + e.toString());
|
||||
}
|
||||
catch (ClassNotFoundException e) {
|
||||
printError("Taglet class '" + optionArr[1] + "' cannot be found.");
|
||||
}
|
||||
return tagletLoaded;
|
||||
}
|
||||
}
|
||||
|
||||
private class DocletOptionGroup
|
||||
extends DocletOption
|
||||
{
|
||||
@@ -364,7 +275,7 @@ public abstract class AbstractDoclet
|
||||
packageMatcher.addWildcard(packageWildcard);
|
||||
}
|
||||
|
||||
SortedSet groupPackages = packageMatcher.filter(rootDoc.specifiedPackages());
|
||||
SortedSet<PackageDoc> groupPackages = packageMatcher.filter(rootDoc.specifiedPackages());
|
||||
|
||||
packageGroups.add(new PackageGroup(optionArr[1], groupPackages));
|
||||
|
||||
@@ -376,27 +287,6 @@ public abstract class AbstractDoclet
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
private class DocletOptionTagletPath
|
||||
extends DocletOption
|
||||
{
|
||||
DocletOptionTagletPath(String optionName)
|
||||
{
|
||||
super(optionName);
|
||||
}
|
||||
|
||||
public int getLength()
|
||||
{
|
||||
return 2;
|
||||
}
|
||||
|
||||
public boolean set(String[] optionArr)
|
||||
{
|
||||
AbstractDoclet.this.tagletPath = optionArr[1];
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
private class DocletOptionTag
|
||||
extends DocletOption
|
||||
{
|
||||
@@ -528,7 +418,6 @@ public abstract class AbstractDoclet
|
||||
optionGroup,
|
||||
optionDocFilesSubDirs,
|
||||
optionExcludeDocFilesSubDir,
|
||||
optionTagletPath,
|
||||
optionTaglet,
|
||||
optionTag,
|
||||
};
|
||||
@@ -558,12 +447,12 @@ public abstract class AbstractDoclet
|
||||
nameToOptionMap.put(option.getName(), option);
|
||||
}
|
||||
|
||||
private Map nameToOptionMap = new HashMap();
|
||||
private Map<String,DocletOption> nameToOptionMap = new HashMap<String,DocletOption>();
|
||||
|
||||
private int getOptionLength(String optionName)
|
||||
{
|
||||
registerOptions();
|
||||
DocletOption option = (DocletOption)nameToOptionMap.get(optionName.toLowerCase());
|
||||
DocletOption option = nameToOptionMap.get(optionName.toLowerCase());
|
||||
if (null != option) {
|
||||
return option.getLength();
|
||||
}
|
||||
@@ -572,9 +461,9 @@ public abstract class AbstractDoclet
|
||||
}
|
||||
}
|
||||
|
||||
protected List getKnownDirectSubclasses(ClassDoc classDoc)
|
||||
protected List<ClassDoc> getKnownDirectSubclasses(ClassDoc classDoc)
|
||||
{
|
||||
List result = new LinkedList();
|
||||
List<ClassDoc> result = new LinkedList<ClassDoc>();
|
||||
if (!"java.lang.Object".equals(classDoc.qualifiedName())) {
|
||||
ClassDoc[] classes = rootDoc.classes();
|
||||
for (int i=0; i<classes.length; ++i) {
|
||||
@@ -587,7 +476,7 @@ public abstract class AbstractDoclet
|
||||
}
|
||||
|
||||
protected static class IndexKey
|
||||
implements Comparable
|
||||
implements Comparable<IndexKey>
|
||||
{
|
||||
private String name;
|
||||
private String lowerName;
|
||||
@@ -608,9 +497,9 @@ public abstract class AbstractDoclet
|
||||
return lowerName.hashCode();
|
||||
}
|
||||
|
||||
public int compareTo(Object other)
|
||||
public int compareTo(IndexKey ik)
|
||||
{
|
||||
return lowerName.compareTo(((IndexKey)other).lowerName);
|
||||
return lowerName.compareTo(ik.lowerName);
|
||||
}
|
||||
|
||||
public String getName()
|
||||
@@ -619,29 +508,29 @@ public abstract class AbstractDoclet
|
||||
}
|
||||
}
|
||||
|
||||
private Map categorizedIndex;
|
||||
private Map<Character,List<Doc>> categorizedIndex;
|
||||
|
||||
protected Map getCategorizedIndex()
|
||||
protected Map<Character,List<Doc>> getCategorizedIndex()
|
||||
{
|
||||
if (null == categorizedIndex) {
|
||||
categorizedIndex = new LinkedHashMap();
|
||||
categorizedIndex = new LinkedHashMap<Character,List<Doc>>();
|
||||
|
||||
Map indexMap = getIndexByName();
|
||||
LinkedList keys = new LinkedList(); //indexMap.keySet().size());
|
||||
Map<IndexKey,Doc> indexMap = getIndexByName();
|
||||
LinkedList<IndexKey> keys = new LinkedList<IndexKey>(); //indexMap.keySet().size());
|
||||
keys.addAll(indexMap.keySet());
|
||||
Collections.sort(keys);
|
||||
Iterator it = keys.iterator(); //indexMap.keySet().iterator();
|
||||
Iterator<IndexKey> it = keys.iterator(); //indexMap.keySet().iterator();
|
||||
char previousCategoryLetter = '\0';
|
||||
Character keyLetter = null;
|
||||
while (it.hasNext()) {
|
||||
IndexKey key = (IndexKey)it.next();
|
||||
IndexKey key = it.next();
|
||||
char firstChar = Character.toUpperCase(key.getName().charAt(0));
|
||||
if (firstChar != previousCategoryLetter) {
|
||||
keyLetter = new Character(firstChar);
|
||||
previousCategoryLetter = firstChar;
|
||||
categorizedIndex.put(keyLetter, new LinkedList());
|
||||
categorizedIndex.put(keyLetter, new LinkedList<Doc>());
|
||||
}
|
||||
List letterList = (List)categorizedIndex.get(keyLetter);
|
||||
List<Doc> letterList = categorizedIndex.get(keyLetter);
|
||||
letterList.add(indexMap.get(key));
|
||||
}
|
||||
}
|
||||
@@ -650,16 +539,16 @@ public abstract class AbstractDoclet
|
||||
}
|
||||
|
||||
|
||||
private Map indexByName;
|
||||
private Map<IndexKey,Doc> indexByName;
|
||||
|
||||
protected Map getIndexByName()
|
||||
protected Map<IndexKey,Doc> getIndexByName()
|
||||
{
|
||||
if (null == indexByName) {
|
||||
// Create index
|
||||
|
||||
// Collect index
|
||||
|
||||
indexByName = new HashMap(); //TreeMap();
|
||||
indexByName = new HashMap<IndexKey,Doc>(); //TreeMap();
|
||||
|
||||
// Add packages to index
|
||||
|
||||
@@ -709,10 +598,9 @@ public abstract class AbstractDoclet
|
||||
|
||||
protected void printTaglets(Tag[] tags, TagletContext context, TagletPrinter output, boolean inline)
|
||||
{
|
||||
for (Iterator it = tagletMap.keySet().iterator(); it.hasNext(); ) {
|
||||
String tagName = (String)it.next();
|
||||
Object o = tagletMap.get(tagName);
|
||||
Taglet taglet = (Taglet)o;
|
||||
for (Iterator<String> it = tagletMap.keySet().iterator(); it.hasNext(); ) {
|
||||
String tagName = it.next();
|
||||
Taglet taglet = tagletMap.get(tagName);
|
||||
Doc doc = context.getDoc();
|
||||
if (inline == taglet.isInlineTag()
|
||||
&& ((doc == null
|
||||
@@ -724,14 +612,14 @@ public abstract class AbstractDoclet
|
||||
|| (doc instanceof PackageDoc && taglet.inPackage())
|
||||
|| ((doc.isClass() || doc.isInterface()) && taglet.inType()))))) {
|
||||
|
||||
List tagsOfThisType = new LinkedList();
|
||||
List<Tag> tagsOfThisType = new LinkedList<Tag>();
|
||||
for (int i=0; i<tags.length; ++i) {
|
||||
if (tags[i].name().substring(1).equals(tagName)) {
|
||||
tagsOfThisType.add(tags[i]);
|
||||
}
|
||||
}
|
||||
|
||||
Tag[] tagletTags = (Tag[])tagsOfThisType.toArray(new Tag[tagsOfThisType.size()]);
|
||||
Tag[] tagletTags = tagsOfThisType.toArray(new Tag[tagsOfThisType.size()]);
|
||||
|
||||
String tagletString;
|
||||
if (taglet instanceof StandardTaglet) {
|
||||
@@ -778,24 +666,24 @@ public abstract class AbstractDoclet
|
||||
/**
|
||||
* @param usedClassToPackagesMap ClassDoc to (PackageDoc to (UsageType to (Set of Doc)))
|
||||
*/
|
||||
private void addUsedBy(Map usedClassToPackagesMap,
|
||||
private void addUsedBy(Map<ClassDoc,Map<PackageDoc,Map<UsageType,Set<Doc>>>> usedClassToPackagesMap,
|
||||
ClassDoc usedClass, UsageType usageType, Doc user, PackageDoc userPackage)
|
||||
{
|
||||
Map packageToUsageTypeMap = (Map)usedClassToPackagesMap.get(usedClass);
|
||||
Map<PackageDoc,Map<UsageType,Set<Doc>>> packageToUsageTypeMap = usedClassToPackagesMap.get(usedClass);
|
||||
if (null == packageToUsageTypeMap) {
|
||||
packageToUsageTypeMap = new HashMap();
|
||||
packageToUsageTypeMap = new HashMap<PackageDoc,Map<UsageType,Set<Doc>>>();
|
||||
usedClassToPackagesMap.put(usedClass, packageToUsageTypeMap);
|
||||
}
|
||||
|
||||
Map usageTypeToUsersMap = (Map)packageToUsageTypeMap.get(userPackage);
|
||||
Map<UsageType,Set<Doc>> usageTypeToUsersMap = packageToUsageTypeMap.get(userPackage);
|
||||
if (null == usageTypeToUsersMap) {
|
||||
usageTypeToUsersMap = new TreeMap();
|
||||
usageTypeToUsersMap = new TreeMap<UsageType,Set<Doc>>();
|
||||
packageToUsageTypeMap.put(userPackage, usageTypeToUsersMap);
|
||||
}
|
||||
|
||||
Set userSet = (Set)usageTypeToUsersMap.get(usageType);
|
||||
Set<Doc> userSet = usageTypeToUsersMap.get(usageType);
|
||||
if (null == userSet) {
|
||||
userSet = new TreeSet(); // FIXME: we need the collator from Main here
|
||||
userSet = new TreeSet<Doc>(); // FIXME: we need the collator from Main here
|
||||
usageTypeToUsersMap.put(usageType, userSet);
|
||||
}
|
||||
userSet.add(user);
|
||||
@@ -806,7 +694,8 @@ public abstract class AbstractDoclet
|
||||
*/
|
||||
private Map collectUsage() {
|
||||
|
||||
Map _usedClassToPackagesMap = new HashMap();
|
||||
Map<ClassDoc,Map<PackageDoc,Map<UsageType,Set<Doc>>>> _usedClassToPackagesMap =
|
||||
new HashMap<ClassDoc,Map<PackageDoc,Map<UsageType,Set<Doc>>>>();
|
||||
|
||||
ClassDoc[] classes = rootDoc.classes();
|
||||
for (int i = 0, ilim = classes.length; i < ilim; ++ i) {
|
||||
@@ -816,9 +705,9 @@ public abstract class AbstractDoclet
|
||||
// classes implementing
|
||||
InterfaceRelation relation
|
||||
= (InterfaceRelation)getInterfaceRelations().get(clazz);
|
||||
Iterator it = relation.implementingClasses.iterator();
|
||||
Iterator<ClassDoc> it = relation.implementingClasses.iterator();
|
||||
while (it.hasNext()) {
|
||||
ClassDoc implementor = (ClassDoc)it.next();
|
||||
ClassDoc implementor = it.next();
|
||||
addUsedBy(_usedClassToPackagesMap,
|
||||
clazz, UsageType.CLASS_IMPLEMENTING, implementor, implementor.containingPackage());
|
||||
}
|
||||
@@ -915,18 +804,18 @@ public abstract class AbstractDoclet
|
||||
return _usedClassToPackagesMap;
|
||||
}
|
||||
|
||||
private Map usedClassToPackagesMap = null;
|
||||
private Map<ClassDoc,Map<PackageDoc,Map<UsageType,Set<Doc>>>> usedClassToPackagesMap = null;
|
||||
|
||||
protected Map getUsageOfClass(ClassDoc classDoc)
|
||||
protected Map<PackageDoc,Map<UsageType,Set<Doc>>> getUsageOfClass(ClassDoc classDoc)
|
||||
{
|
||||
if (null == this.usedClassToPackagesMap) {
|
||||
this.usedClassToPackagesMap = collectUsage();
|
||||
}
|
||||
return (Map)this.usedClassToPackagesMap.get(classDoc);
|
||||
return this.usedClassToPackagesMap.get(classDoc);
|
||||
}
|
||||
|
||||
protected static class UsageType
|
||||
implements Comparable
|
||||
implements Comparable<UsageType>
|
||||
{
|
||||
public static final UsageType CLASS_DERIVED_FROM = new UsageType("class-derived-from");
|
||||
public static final UsageType CLASS_IMPLEMENTING = new UsageType("class-implementing");
|
||||
@@ -943,9 +832,9 @@ public abstract class AbstractDoclet
|
||||
this.id = id;
|
||||
}
|
||||
|
||||
public int compareTo(Object other)
|
||||
public int compareTo(UsageType ut)
|
||||
{
|
||||
return this.id.compareTo(((UsageType)other).id);
|
||||
return this.id.compareTo(ut.id);
|
||||
}
|
||||
|
||||
public String toString() {
|
||||
@@ -976,7 +865,7 @@ public abstract class AbstractDoclet
|
||||
return MessageFormat.format(getString(key), new Object[] { value1 });
|
||||
}
|
||||
|
||||
protected List getPackageGroups()
|
||||
protected List<PackageGroup> getPackageGroups()
|
||||
{
|
||||
return packageGroups;
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/* gnu.classpath.tools.doclets.PackageMatcher
|
||||
Copyright (C) 2004 Free Software Foundation, Inc.
|
||||
Copyright (C) 2004, 2012 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GNU Classpath.
|
||||
|
||||
@@ -53,7 +53,7 @@ import com.sun.javadoc.PackageDoc;
|
||||
*/
|
||||
public class PackageMatcher
|
||||
{
|
||||
private Set patterns = new HashSet();
|
||||
private Set<Pattern> patterns = new HashSet<Pattern>();
|
||||
|
||||
/**
|
||||
* Add a wildcard to be matched. Wildcards can contain asterisk
|
||||
@@ -117,9 +117,9 @@ public class PackageMatcher
|
||||
* array given will be put into the output list if it matches one
|
||||
* or more of the wildcards added to this PackageMatcher before.
|
||||
*/
|
||||
public SortedSet filter(PackageDoc[] packageDocs)
|
||||
public SortedSet<PackageDoc> filter(PackageDoc[] packageDocs)
|
||||
{
|
||||
SortedSet result = new TreeSet();
|
||||
SortedSet<PackageDoc> result = new TreeSet<PackageDoc>();
|
||||
for (int i=0; i<packageDocs.length; ++i) {
|
||||
if (match(packageDocs[i])) {
|
||||
result.add(packageDocs[i]);
|
||||
@@ -134,9 +134,9 @@ public class PackageMatcher
|
||||
*/
|
||||
public boolean match(PackageDoc packageDoc)
|
||||
{
|
||||
Iterator it = patterns.iterator();
|
||||
Iterator<Pattern> it = patterns.iterator();
|
||||
while (it.hasNext()) {
|
||||
Pattern pattern = (Pattern)it.next();
|
||||
Pattern pattern = it.next();
|
||||
Matcher matcher = pattern.matcher(packageDoc.name());
|
||||
if (matcher.matches()) {
|
||||
return true;
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/* gnu.classpath.tools.doclets.htmldoclet.HtmlDoclet
|
||||
Copyright (C) 2004 Free Software Foundation, Inc.
|
||||
Copyright (C) 2004, 2012 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GNU Classpath.
|
||||
|
||||
@@ -109,12 +109,12 @@ public class HtmlDoclet
|
||||
/**
|
||||
* Contains ExternalDocSet.
|
||||
*/
|
||||
private List externalDocSets = new LinkedList();
|
||||
private List<ExternalDocSet> externalDocSets = new LinkedList<ExternalDocSet>();
|
||||
|
||||
/**
|
||||
* Contains String->ExternalDocSet.
|
||||
*/
|
||||
private Map packageNameToDocSet = new HashMap();
|
||||
private Map<String,ExternalDocSet> packageNameToDocSet = new HashMap<String, ExternalDocSet>();
|
||||
|
||||
/**
|
||||
* Cache for version string from resource /version.properties
|
||||
@@ -682,7 +682,7 @@ public class HtmlDoclet
|
||||
HtmlPage output = newHtmlPage(new File(packageDir, "package-summary" + filenameExtension),
|
||||
pathToRoot);
|
||||
|
||||
Set keywords = new LinkedHashSet();
|
||||
Set<String> keywords = new LinkedHashSet<String>();
|
||||
keywords.add(packageDoc.name() + " packages");
|
||||
|
||||
output.beginPage(getPageTitle(packageDoc.name()), getOutputCharset(),
|
||||
@@ -725,10 +725,10 @@ public class HtmlDoclet
|
||||
}
|
||||
|
||||
static class TreeNode
|
||||
implements Comparable
|
||||
implements Comparable<TreeNode>
|
||||
{
|
||||
ClassDoc classDoc;
|
||||
SortedSet children = new TreeSet();
|
||||
SortedSet<TreeNode> children = new TreeSet<TreeNode>();
|
||||
|
||||
TreeNode(ClassDoc classDoc) {
|
||||
TreeNode.this.classDoc = classDoc;
|
||||
@@ -739,9 +739,9 @@ public class HtmlDoclet
|
||||
return classDoc.equals(((TreeNode)other).classDoc);
|
||||
}
|
||||
|
||||
public int compareTo(Object other)
|
||||
public int compareTo(TreeNode other)
|
||||
{
|
||||
return classDoc.compareTo(((TreeNode)other).classDoc);
|
||||
return classDoc.compareTo(other.classDoc);
|
||||
}
|
||||
|
||||
public int hashCode()
|
||||
@@ -750,9 +750,9 @@ public class HtmlDoclet
|
||||
}
|
||||
}
|
||||
|
||||
private TreeNode addClassTreeNode(Map treeMap, ClassDoc classDoc)
|
||||
private TreeNode addClassTreeNode(Map<String,TreeNode> treeMap, ClassDoc classDoc)
|
||||
{
|
||||
TreeNode node = (TreeNode)treeMap.get(classDoc.qualifiedName());
|
||||
TreeNode node = treeMap.get(classDoc.qualifiedName());
|
||||
if (null == node) {
|
||||
node = new TreeNode(classDoc);
|
||||
treeMap.put(classDoc.qualifiedName(), node);
|
||||
@@ -766,9 +766,9 @@ public class HtmlDoclet
|
||||
return node;
|
||||
}
|
||||
|
||||
private TreeNode addInterfaceTreeNode(Map treeMap, ClassDoc classDoc)
|
||||
private TreeNode addInterfaceTreeNode(Map<String,TreeNode> treeMap, ClassDoc classDoc)
|
||||
{
|
||||
TreeNode node = (TreeNode)treeMap.get(classDoc.qualifiedName());
|
||||
TreeNode node = treeMap.get(classDoc.qualifiedName());
|
||||
if (null == node) {
|
||||
node = new TreeNode(classDoc);
|
||||
treeMap.put(classDoc.qualifiedName(), node);
|
||||
@@ -781,7 +781,7 @@ public class HtmlDoclet
|
||||
}
|
||||
}
|
||||
else {
|
||||
TreeNode rootNode = (TreeNode)treeMap.get("<root>");
|
||||
TreeNode rootNode = treeMap.get("<root>");
|
||||
if (null == rootNode) {
|
||||
rootNode = new TreeNode(null);
|
||||
treeMap.put("<root>", rootNode);
|
||||
@@ -849,10 +849,9 @@ public class HtmlDoclet
|
||||
if (!node.children.isEmpty()) {
|
||||
output.beginElement("li", "class", "level");
|
||||
output.beginElement("ul");
|
||||
Iterator it = node.children.iterator();
|
||||
Iterator<TreeNode> it = node.children.iterator();
|
||||
while (it.hasNext()) {
|
||||
TreeNode child = (TreeNode)it.next();
|
||||
printPackageTreeRec(output, child, node);
|
||||
printPackageTreeRec(output, it.next(), node);
|
||||
}
|
||||
output.endElement("ul");
|
||||
output.endElement("li");
|
||||
@@ -861,7 +860,7 @@ public class HtmlDoclet
|
||||
|
||||
private void printClassTree(HtmlPage output, ClassDoc[] classDocs)
|
||||
{
|
||||
Map classTreeMap = new HashMap();
|
||||
Map<String,TreeNode> classTreeMap = new HashMap<String,TreeNode>();
|
||||
|
||||
for (int i=0; i<classDocs.length; ++i) {
|
||||
ClassDoc classDoc = classDocs[i];
|
||||
@@ -870,7 +869,7 @@ public class HtmlDoclet
|
||||
}
|
||||
}
|
||||
|
||||
TreeNode root = (TreeNode)classTreeMap.get("java.lang.Object");
|
||||
TreeNode root = classTreeMap.get("java.lang.Object");
|
||||
if (null != root) {
|
||||
output.div(CssClass.PACKAGE_TREE_SECTION_TITLE, "Class Hierarchy");
|
||||
output.beginDiv(CssClass.PACKAGE_TREE);
|
||||
@@ -881,7 +880,7 @@ public class HtmlDoclet
|
||||
|
||||
private void printInterfaceTree(HtmlPage output, ClassDoc[] classDocs)
|
||||
{
|
||||
Map interfaceTreeMap = new HashMap();
|
||||
Map<String,TreeNode> interfaceTreeMap = new HashMap<String,TreeNode>();
|
||||
|
||||
for (int i=0; i<classDocs.length; ++i) {
|
||||
ClassDoc classDoc = classDocs[i];
|
||||
@@ -890,14 +889,14 @@ public class HtmlDoclet
|
||||
}
|
||||
}
|
||||
|
||||
TreeNode interfaceRoot = (TreeNode)interfaceTreeMap.get("<root>");
|
||||
TreeNode interfaceRoot = interfaceTreeMap.get("<root>");
|
||||
if (null != interfaceRoot) {
|
||||
Iterator it = interfaceRoot.children.iterator();
|
||||
Iterator<TreeNode> it = interfaceRoot.children.iterator();
|
||||
if (it.hasNext()) {
|
||||
output.div(CssClass.PACKAGE_TREE_SECTION_TITLE, "Interface Hierarchy");
|
||||
output.beginDiv(CssClass.PACKAGE_TREE);
|
||||
while (it.hasNext()) {
|
||||
TreeNode node = (TreeNode)it.next();
|
||||
TreeNode node = it.next();
|
||||
printPackageTreeRec(output, node, null);
|
||||
}
|
||||
output.endDiv(CssClass.PACKAGE_TREE);
|
||||
@@ -947,10 +946,10 @@ public class HtmlDoclet
|
||||
output.beginDiv(CssClass.FULL_TREE_PACKAGELIST);
|
||||
output.div(CssClass.FULL_TREE_PACKAGELIST_HEADER, "Package Hierarchies:");
|
||||
output.beginDiv(CssClass.FULL_TREE_PACKAGELIST_ITEM);
|
||||
Set allPackages = getAllPackages();
|
||||
Iterator it = allPackages.iterator();
|
||||
Set<PackageDoc> allPackages = getAllPackages();
|
||||
Iterator<PackageDoc> it = allPackages.iterator();
|
||||
while (it.hasNext()) {
|
||||
PackageDoc packageDoc = (PackageDoc)it.next();
|
||||
PackageDoc packageDoc = it.next();
|
||||
output.beginAnchor(getPackageURL(packageDoc) + "tree" + filenameExtension);
|
||||
output.print(packageDoc.name());
|
||||
output.endAnchor();
|
||||
@@ -975,8 +974,6 @@ public class HtmlDoclet
|
||||
{
|
||||
output.beginDiv(CssClass.INDEX_ENTRY);
|
||||
output.beginDiv(CssClass.INDEX_ENTRY_KEY);
|
||||
String anchor = null;
|
||||
String description = null;
|
||||
if (entry instanceof PackageDoc) {
|
||||
output.beginAnchor(getPackageURL((PackageDoc)entry) + "package-summary" + filenameExtension);
|
||||
output.print(entry.name());
|
||||
@@ -1105,10 +1102,10 @@ public class HtmlDoclet
|
||||
|
||||
output.beginDiv(CssClass.PACKAGE_MENU_LIST);
|
||||
|
||||
Set packageDocs = getAllPackages();
|
||||
Iterator it = packageDocs.iterator();
|
||||
Set<PackageDoc> packageDocs = getAllPackages();
|
||||
Iterator<PackageDoc> it = packageDocs.iterator();
|
||||
while (it.hasNext()) {
|
||||
PackageDoc packageDoc = (PackageDoc)it.next();
|
||||
PackageDoc packageDoc = it.next();
|
||||
output.beginSpan(CssClass.PACKAGE_MENU_ENTRY);
|
||||
output.beginAnchor(getPackageURL(packageDoc) + "classes" + filenameExtension,
|
||||
null,
|
||||
@@ -1153,9 +1150,9 @@ public class HtmlDoclet
|
||||
{
|
||||
if (!classDocs.isEmpty()) {
|
||||
output.div(CssClass.CLASS_MENU_SUBTITLE, header);
|
||||
Iterator it = classDocs.iterator();
|
||||
Iterator<ClassDoc> it = classDocs.iterator();
|
||||
while (it.hasNext()) {
|
||||
ClassDoc classDoc = (ClassDoc)it.next();
|
||||
ClassDoc classDoc = it.next();
|
||||
printClassMenuEntry(output, classDoc);
|
||||
}
|
||||
}
|
||||
@@ -1166,10 +1163,10 @@ public class HtmlDoclet
|
||||
output.beginDiv(CssClass.CLASS_MENU_LIST);
|
||||
|
||||
if (categorized) {
|
||||
Set classes = new TreeSet();
|
||||
Set interfaces = new TreeSet();
|
||||
Set exceptions = new TreeSet();
|
||||
Set errors = new TreeSet();
|
||||
Set<ClassDoc> classes = new TreeSet<ClassDoc>();
|
||||
Set<ClassDoc> interfaces = new TreeSet<ClassDoc>();
|
||||
Set<ClassDoc> exceptions = new TreeSet<ClassDoc>();
|
||||
Set<ClassDoc> errors = new TreeSet<ClassDoc>();
|
||||
|
||||
for (int i=0; i<classDocs.length; ++i) {
|
||||
ClassDoc classDoc = classDocs[i];
|
||||
@@ -1253,13 +1250,13 @@ public class HtmlDoclet
|
||||
private void printSplitIndex()
|
||||
throws IOException
|
||||
{
|
||||
Map categorizedIndex = getCategorizedIndex();
|
||||
Iterator it = categorizedIndex.keySet().iterator();
|
||||
Map<Character,List<Doc>> categorizedIndex = getCategorizedIndex();
|
||||
Iterator<Character> it = categorizedIndex.keySet().iterator();
|
||||
int n = 1;
|
||||
int count = categorizedIndex.size();
|
||||
while (it.hasNext()) {
|
||||
Character c = (Character)it.next();
|
||||
List classList = (List)categorizedIndex.get(c);
|
||||
Character c = it.next();
|
||||
List<Doc> classList = categorizedIndex.get(c);
|
||||
printIndexPage(n++, count, c, classList);
|
||||
}
|
||||
}
|
||||
@@ -1270,7 +1267,7 @@ public class HtmlDoclet
|
||||
printIndexPage(0, 0, null, null);
|
||||
}
|
||||
|
||||
private void printIndexPage(int index, int maxIndex, Character letter, List classList)
|
||||
private void printIndexPage(int index, int maxIndex, Character letter, List<Doc> classList)
|
||||
throws IOException
|
||||
{
|
||||
String pageName = "alphaindex";
|
||||
@@ -1334,12 +1331,12 @@ public class HtmlDoclet
|
||||
printIndexCategory(output, letter, classList);
|
||||
}
|
||||
else {
|
||||
Map categorizedIndex = getCategorizedIndex();
|
||||
Iterator categoryIt = categorizedIndex.keySet().iterator();
|
||||
Map<Character,List<Doc>> categorizedIndex = getCategorizedIndex();
|
||||
Iterator<Character> categoryIt = categorizedIndex.keySet().iterator();
|
||||
|
||||
while (categoryIt.hasNext()) {
|
||||
letter = (Character)categoryIt.next();
|
||||
classList = (List)categorizedIndex.get(letter);
|
||||
letter = categoryIt.next();
|
||||
classList = categorizedIndex.get(letter);
|
||||
output.anchorName(letter.toString());
|
||||
printIndexCategory(output, letter, classList);
|
||||
}
|
||||
@@ -1420,13 +1417,13 @@ public class HtmlDoclet
|
||||
|
||||
output.div(CssClass.SERIALIZED_TITLE, "Serialized Form");
|
||||
|
||||
Iterator it = getAllPackages().iterator();
|
||||
Iterator<PackageDoc> it = getAllPackages().iterator();
|
||||
|
||||
while (it.hasNext()) {
|
||||
|
||||
PackageDoc packageDoc = (PackageDoc)it.next();
|
||||
PackageDoc packageDoc = it.next();
|
||||
|
||||
List serializableClasses = new LinkedList();
|
||||
List<ClassDoc> serializableClasses = new LinkedList<ClassDoc>();
|
||||
ClassDoc[] classes = packageDoc.allClasses();
|
||||
for (int i=0; i<classes.length; ++i) {
|
||||
ClassDoc classDoc = classes[i];
|
||||
@@ -1438,9 +1435,9 @@ public class HtmlDoclet
|
||||
if (!serializableClasses.isEmpty()) {
|
||||
output.div(CssClass.SERIALIZED_PACKAGE_HEADER, "Package " + packageDoc.name());
|
||||
|
||||
Iterator cit = serializableClasses.iterator();
|
||||
Iterator<ClassDoc> cit = serializableClasses.iterator();
|
||||
while (cit.hasNext()) {
|
||||
ClassDoc classDoc = (ClassDoc)cit.next();
|
||||
ClassDoc classDoc = cit.next();
|
||||
|
||||
output.anchorName(classDoc.qualifiedTypeName());
|
||||
|
||||
@@ -1500,13 +1497,13 @@ public class HtmlDoclet
|
||||
|
||||
output.div(CssClass.DEPRECATION_TITLE, "Deprecated API");
|
||||
|
||||
List deprecatedInterfaces = new LinkedList();
|
||||
List deprecatedExceptions = new LinkedList();
|
||||
List deprecatedErrors = new LinkedList();
|
||||
List deprecatedClasses = new LinkedList();
|
||||
List deprecatedFields = new LinkedList();
|
||||
List deprecatedMethods = new LinkedList();
|
||||
List deprecatedConstructors = new LinkedList();
|
||||
List<ClassDoc> deprecatedInterfaces = new LinkedList<ClassDoc>();
|
||||
List<ClassDoc> deprecatedExceptions = new LinkedList<ClassDoc>();
|
||||
List<ClassDoc> deprecatedErrors = new LinkedList<ClassDoc>();
|
||||
List<ClassDoc> deprecatedClasses = new LinkedList<ClassDoc>();
|
||||
List<FieldDoc> deprecatedFields = new LinkedList<FieldDoc>();
|
||||
List<MethodDoc> deprecatedMethods = new LinkedList<MethodDoc>();
|
||||
List<ConstructorDoc> deprecatedConstructors = new LinkedList<ConstructorDoc>();
|
||||
|
||||
ClassDoc[] classDocs = getRootDoc().classes();
|
||||
for (int i=0; i<classDocs.length; ++i) {
|
||||
@@ -2870,7 +2867,7 @@ public class HtmlDoclet
|
||||
PackageDoc packageDoc = classDoc.containingPackage();
|
||||
ExternalDocSet externalDocSet = null;
|
||||
if (classDoc.containingPackage().name().length() > 0) {
|
||||
externalDocSet = (ExternalDocSet)packageNameToDocSet.get(packageDoc.name());
|
||||
externalDocSet = packageNameToDocSet.get(packageDoc.name());
|
||||
}
|
||||
StringBuffer result = new StringBuffer();
|
||||
result.append(getClassDocURL(output, classDoc));
|
||||
@@ -2900,14 +2897,13 @@ public class HtmlDoclet
|
||||
String url = null;
|
||||
if (null != asClassDoc && asClassDoc.isIncluded()) {
|
||||
url = getClassDocURL(output, asClassDoc);
|
||||
}
|
||||
}
|
||||
else if (!type.isPrimitive()) {
|
||||
if (type.qualifiedTypeName().length() > type.typeName().length()) {
|
||||
String packageName = type.qualifiedTypeName();
|
||||
packageName = packageName.substring(0, packageName.length() - type.typeName().length() - 1);
|
||||
|
||||
ExternalDocSet externalDocSet
|
||||
= (ExternalDocSet)packageNameToDocSet.get(packageName);
|
||||
ExternalDocSet externalDocSet = packageNameToDocSet.get(packageName);
|
||||
if (null != externalDocSet) {
|
||||
url = externalDocSet.getClassDocURL(packageName, type.typeName());
|
||||
}
|
||||
@@ -2950,7 +2946,7 @@ public class HtmlDoclet
|
||||
private String getPackageURL(PackageDoc packageDoc)
|
||||
{
|
||||
if (packageDoc.name().length() > 0) {
|
||||
ExternalDocSet externalDocSet = (ExternalDocSet)packageNameToDocSet.get(packageDoc.name());
|
||||
ExternalDocSet externalDocSet = packageNameToDocSet.get(packageDoc.name());
|
||||
String url;
|
||||
if (null != externalDocSet) {
|
||||
url = externalDocSet.getPackageDocURL(packageDoc.name());
|
||||
@@ -2974,7 +2970,7 @@ public class HtmlDoclet
|
||||
{
|
||||
ExternalDocSet externalDocSet = null;
|
||||
if (classDoc.containingPackage().name().length() > 0) {
|
||||
externalDocSet = (ExternalDocSet)packageNameToDocSet.get(classDoc.containingPackage().name());
|
||||
externalDocSet = packageNameToDocSet.get(classDoc.containingPackage().name());
|
||||
}
|
||||
if (null != externalDocSet) {
|
||||
return externalDocSet.getClassDocURL(classDoc.containingPackage().name(),
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/* gnu.classpath.tools.gjdoc.ClassDocImpl
|
||||
Copyright (C) 2001 Free Software Foundation, Inc.
|
||||
Copyright (C) 2001, 2012 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GNU Classpath.
|
||||
|
||||
@@ -103,9 +103,9 @@ public class ClassDocImpl
|
||||
return filter ? filteredFields : unfilteredFields;
|
||||
}
|
||||
|
||||
private static Set primitiveNames;
|
||||
private static Set<String> primitiveNames;
|
||||
static {
|
||||
primitiveNames = new HashSet();
|
||||
primitiveNames = new HashSet<String>();
|
||||
primitiveNames.add("int");
|
||||
primitiveNames.add("long");
|
||||
primitiveNames.add("char");
|
||||
@@ -116,11 +116,11 @@ public class ClassDocImpl
|
||||
primitiveNames.add("boolean");
|
||||
}
|
||||
|
||||
private Map findClassCache = new HashMap();
|
||||
private Map<String,ClassDoc> findClassCache = new HashMap<String,ClassDoc>();
|
||||
|
||||
public ClassDoc findClass(String className, String dimension)
|
||||
{
|
||||
ClassDoc cached = (ClassDoc)findClassCache.get(className + dimension);
|
||||
ClassDoc cached = findClassCache.get(className + dimension);
|
||||
if (null != cached) {
|
||||
return cached;
|
||||
}
|
||||
@@ -324,7 +324,7 @@ public class ClassDocImpl
|
||||
ClassDoc[] importedClasses,
|
||||
PackageDoc[] importedPackages,
|
||||
char[] source, int startIndex, int endIndex,
|
||||
List importStatementList) throws ParseException, IOException {
|
||||
List<String> importStatementList) throws ParseException, IOException {
|
||||
|
||||
String superclassName = "java.lang.Object";
|
||||
|
||||
@@ -334,7 +334,7 @@ public class ClassDocImpl
|
||||
importedPackages,
|
||||
null);
|
||||
rc.setImportStatementList(importStatementList);
|
||||
List implementedInterfaces = new ArrayList();
|
||||
List<String> implementedInterfaces = new ArrayList<String>();
|
||||
|
||||
String word="";
|
||||
int item=0;
|
||||
@@ -511,7 +511,7 @@ public class ClassDocImpl
|
||||
|
||||
ClassDoc[] interfaces=new ClassDoc[implementedInterfaces.size()];
|
||||
for (int i=0; i<interfaces.length; ++i) {
|
||||
interfaces[i]=new ClassDocProxy((String)implementedInterfaces.get(i), rc);
|
||||
interfaces[i]=new ClassDocProxy(implementedInterfaces.get(i), rc);
|
||||
}
|
||||
rc.setInterfaces(interfaces);
|
||||
|
||||
@@ -643,10 +643,10 @@ public class ClassDocImpl
|
||||
}
|
||||
}
|
||||
|
||||
List isSerMethodList=new ArrayList();
|
||||
List<MethodDoc> isSerMethodList = new ArrayList<MethodDoc>();
|
||||
|
||||
if (null != maybeSerMethodList) {
|
||||
for (Iterator it=maybeSerMethodList.iterator(); it.hasNext(); ) {
|
||||
for (Iterator<MethodDoc> it = maybeSerMethodList.iterator(); it.hasNext(); ) {
|
||||
MethodDocImpl method=(MethodDocImpl)it.next();
|
||||
method.resolve();
|
||||
|
||||
@@ -664,7 +664,7 @@ public class ClassDocImpl
|
||||
isSerMethodList.add(method);
|
||||
}
|
||||
}
|
||||
this.serializationMethods=(MethodDoc[])isSerMethodList.toArray(new MethodDoc[0]);
|
||||
this.serializationMethods = isSerMethodList.toArray(new MethodDoc[isSerMethodList.size()]);
|
||||
maybeSerMethodList=null;
|
||||
}
|
||||
}
|
||||
@@ -795,10 +795,10 @@ public class ClassDocImpl
|
||||
this.importedClasses=importedClasses;
|
||||
}
|
||||
|
||||
private static Map typeMap = new HashMap();
|
||||
private static Map<String,Type> typeMap = new HashMap<String,Type>();
|
||||
|
||||
Type typeForString(String typeName) throws ParseException {
|
||||
String orgTypename=typeName;
|
||||
//String orgTypename=typeName;
|
||||
int ndx=typeName.indexOf('[');
|
||||
String dim="";
|
||||
if (ndx>=0) {
|
||||
@@ -815,7 +815,7 @@ public class ClassDocImpl
|
||||
return classDoc;
|
||||
}
|
||||
|
||||
Type type = (Type)typeMap.get(typeName+dim);
|
||||
Type type = typeMap.get(typeName+dim);
|
||||
if (null!=type) {
|
||||
try {
|
||||
if (type.dimension().equals(dim)) {
|
||||
@@ -995,9 +995,9 @@ public class ClassDocImpl
|
||||
return (o!=null) && (o instanceof ClassDoc) && ((ClassDoc)o).qualifiedName().equals(qualifiedName());
|
||||
}
|
||||
|
||||
private List maybeSerMethodList;
|
||||
private List<MethodDoc> maybeSerMethodList;
|
||||
|
||||
void setMaybeSerMethodList(List maybeSerMethodList) {
|
||||
void setMaybeSerMethodList(List<MethodDoc> maybeSerMethodList) {
|
||||
this.maybeSerMethodList=maybeSerMethodList;
|
||||
}
|
||||
|
||||
@@ -1061,7 +1061,7 @@ public class ClassDocImpl
|
||||
private Object findFieldValue(String identifier,
|
||||
ClassDoc classDoc,
|
||||
String fieldName,
|
||||
Set visitedFields)
|
||||
Set<FieldDoc> visitedFields)
|
||||
throws UnknownIdentifierException, IllegalExpressionException
|
||||
{
|
||||
while (classDoc != null) {
|
||||
@@ -1097,7 +1097,7 @@ public class ClassDocImpl
|
||||
throw new UnknownIdentifierException(identifier);
|
||||
}
|
||||
|
||||
public Object getValue(String identifier, Set visitedFields)
|
||||
public Object getValue(String identifier, Set<FieldDoc> visitedFields)
|
||||
throws UnknownIdentifierException, IllegalExpressionException
|
||||
{
|
||||
int ndx = identifier.lastIndexOf('.');
|
||||
@@ -1124,13 +1124,13 @@ public class ClassDocImpl
|
||||
}
|
||||
|
||||
// Compares this Object with the specified Object for order.
|
||||
public int compareTo(java.lang.Object o) {
|
||||
public int compareTo(Doc d) {
|
||||
int rc;
|
||||
|
||||
if (o instanceof ClassDocImpl) {
|
||||
if (d instanceof ClassDocImpl) {
|
||||
|
||||
ClassDocImpl c1 = this;
|
||||
ClassDocImpl c2 = (ClassDocImpl)o;
|
||||
ClassDocImpl c2 = (ClassDocImpl)d;
|
||||
|
||||
if (null != c1.containingClass() && null == c2.containingClass()) {
|
||||
rc = c1.containingClass().compareTo(c2);
|
||||
@@ -1153,10 +1153,10 @@ public class ClassDocImpl
|
||||
}
|
||||
}
|
||||
|
||||
rc = super.compareTo(o);
|
||||
rc = super.compareTo(d);
|
||||
if (0 == rc) {
|
||||
return Main.getInstance().getCollator().compare(containingPackage().name(),
|
||||
((ClassDocImpl)o).containingPackage().name());
|
||||
c2.containingPackage().name());
|
||||
}
|
||||
else {
|
||||
return rc;
|
||||
@@ -1167,11 +1167,11 @@ public class ClassDocImpl
|
||||
}
|
||||
}
|
||||
|
||||
private List importStatementList;
|
||||
private List<String> importStatementList;
|
||||
|
||||
public void setImportStatementList(List importStatementList)
|
||||
public void setImportStatementList(List<String> importStatementList)
|
||||
{
|
||||
this.importStatementList = new LinkedList();
|
||||
this.importStatementList = new LinkedList<String>();
|
||||
this.importStatementList.addAll(importStatementList);
|
||||
}
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/* gnu.classpath.tools.gjdoc.ClassDocProxy
|
||||
Copyright (C) 2001 Free Software Foundation, Inc.
|
||||
Copyright (C) 2001, 2012 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GNU Classpath.
|
||||
|
||||
@@ -155,13 +155,8 @@ public class ClassDocProxy implements ClassDoc, WritableType {
|
||||
}
|
||||
|
||||
// Compares this Object with the specified Object for order.
|
||||
public int compareTo(java.lang.Object o) {
|
||||
if (o instanceof Doc) {
|
||||
return Main.getInstance().getCollator().compare(name(), ((Doc)o).name());
|
||||
}
|
||||
else {
|
||||
return 0;
|
||||
}
|
||||
public int compareTo(Doc d) {
|
||||
return Main.getInstance().getCollator().compare(name(), d.name());
|
||||
}
|
||||
|
||||
public TypeVariable[] typeParameters() { return new TypeVariable[0]; }
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/* gnu.classpath.tools.gjdoc.ClassDocReflectedImpl
|
||||
Copyright (C) 2001 Free Software Foundation, Inc.
|
||||
Copyright (C) 2001, 2012 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GNU Classpath.
|
||||
|
||||
@@ -37,7 +37,17 @@
|
||||
|
||||
package gnu.classpath.tools.gjdoc;
|
||||
|
||||
import com.sun.javadoc.*;
|
||||
import com.sun.javadoc.Doc;
|
||||
import com.sun.javadoc.ClassDoc;
|
||||
import com.sun.javadoc.ConstructorDoc;
|
||||
import com.sun.javadoc.FieldDoc;
|
||||
import com.sun.javadoc.MethodDoc;
|
||||
import com.sun.javadoc.PackageDoc;
|
||||
import com.sun.javadoc.SeeTag;
|
||||
import com.sun.javadoc.SourcePosition;
|
||||
import com.sun.javadoc.Tag;
|
||||
import com.sun.javadoc.TypeVariable;
|
||||
|
||||
import java.util.Map;
|
||||
import java.util.HashMap;
|
||||
|
||||
@@ -104,7 +114,7 @@ public class ClassDocReflectedImpl
|
||||
public boolean definesSerializableFields() { return false; }
|
||||
public FieldDoc[] fields() { return new FieldDoc[0]; }
|
||||
public FieldDoc[] fields(boolean filtered) { return new FieldDoc[0]; }
|
||||
public ClassDoc findClass(java.lang.String className) { return null; }
|
||||
public ClassDoc findClass(String className) { return null; }
|
||||
public ClassDoc[] importedClasses() { return new ClassDoc[0]; }
|
||||
public PackageDoc[] importedPackages() { return new PackageDoc[0]; }
|
||||
public ClassDoc[] innerClasses() { return new ClassDoc[0]; }
|
||||
@@ -195,13 +205,8 @@ public class ClassDocReflectedImpl
|
||||
|
||||
public String toString() { return "ClassDocReflectedImpl{"+qualifiedName()+"}"; }
|
||||
|
||||
public int compareTo(java.lang.Object o) {
|
||||
if (o instanceof Doc) {
|
||||
return Main.getInstance().getCollator().compare(name(), ((Doc)o).name());
|
||||
}
|
||||
else {
|
||||
return 0;
|
||||
}
|
||||
public int compareTo(Doc d) {
|
||||
return Main.getInstance().getCollator().compare(name(), d.name());
|
||||
}
|
||||
|
||||
public String dimension() { return dimension; }
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/* gnu.classpath.tools.gjdoc.DocImpl
|
||||
Copyright (C) 2001 Free Software Foundation, Inc.
|
||||
Copyright (C) 2001, 2012 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GNU Classpath.
|
||||
|
||||
@@ -71,8 +71,8 @@ public abstract class DocImpl implements Doc, TagContainer {
|
||||
}
|
||||
|
||||
// Compares this Object with the specified Object for order.
|
||||
public int compareTo(java.lang.Object o) {
|
||||
return Main.getInstance().getCollator().compare(name(), ((Doc)o).name());
|
||||
public int compareTo(Doc d) {
|
||||
return Main.getInstance().getCollator().compare(name(), d.name());
|
||||
}
|
||||
|
||||
// Return the first sentence of the comment as tags.
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/* gnu.classpath.tools.gjdoc.ExecutableMemberDocImpl
|
||||
Copyright (C) 2001 Free Software Foundation, Inc.
|
||||
Copyright (C) 2001, 2012 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GNU Classpath.
|
||||
|
||||
@@ -402,14 +402,14 @@ public class ExecutableMemberDocImpl extends MemberDocImpl implements Executable
|
||||
|
||||
}
|
||||
|
||||
public int compareTo(Object other) {
|
||||
public int compareTo(Doc d) {
|
||||
int rc;
|
||||
if (other instanceof MemberDocImpl) {
|
||||
MemberDocImpl otherMember = (MemberDocImpl)other;
|
||||
if (d instanceof MemberDocImpl) {
|
||||
MemberDocImpl otherMember = (MemberDocImpl)d;
|
||||
rc = name().compareTo(otherMember.name());
|
||||
if (0 == rc) {
|
||||
if (other instanceof ExecutableMemberDocImpl) {
|
||||
rc = signature().compareTo(((ExecutableMemberDocImpl)other).signature());
|
||||
if (d instanceof ExecutableMemberDocImpl) {
|
||||
rc = signature().compareTo(((ExecutableMemberDocImpl)d).signature());
|
||||
if (0 == rc) {
|
||||
return containingClass().compareTo(otherMember.containingClass());
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/* gnu.classpath.tools.gjdoc.FieldDocImpl
|
||||
Copyright (C) 2001 Free Software Foundation, Inc.
|
||||
Copyright (C) 2001, 2012 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GNU Classpath.
|
||||
|
||||
@@ -95,11 +95,11 @@ public class FieldDocImpl
|
||||
}
|
||||
}
|
||||
|
||||
public static Collection createFromSource(ClassDoc containingClass,
|
||||
PackageDoc containingPackage,
|
||||
char[] source, int startIndex, int endIndex) {
|
||||
public static Collection<FieldDoc> createFromSource(ClassDoc containingClass,
|
||||
PackageDoc containingPackage,
|
||||
char[] source, int startIndex, int endIndex) {
|
||||
|
||||
List rcList=new ArrayList();
|
||||
List<FieldDoc> rcList=new ArrayList<FieldDoc>();
|
||||
|
||||
FieldDocImpl fd=new FieldDocImpl(containingClass,
|
||||
containingPackage,
|
||||
@@ -120,7 +120,6 @@ public class FieldDocImpl
|
||||
final int STATE_COMMENT = 7;
|
||||
final int STATE_LINECOMMENT = 8;
|
||||
|
||||
int lastFieldDefStart = ndx;
|
||||
int state = STATE_FIELDNAME;
|
||||
int prevState = state;
|
||||
|
||||
@@ -298,7 +297,7 @@ public class FieldDocImpl
|
||||
return constantValue(new HashSet());
|
||||
}
|
||||
|
||||
public Object constantValue(Set visitedFields) {
|
||||
public Object constantValue(Set<FieldDoc> visitedFields) {
|
||||
if (!isStatic()
|
||||
|| !isFinal()
|
||||
|| (!type().isPrimitive() && !"java.lang.String".equals(type().qualifiedTypeName()))
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/* gnu.classpath.tools.gjdoc.Main
|
||||
Copyright (C) 2001 Free Software Foundation, Inc.
|
||||
Copyright (C) 2001, 2012 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GNU Classpath.
|
||||
|
||||
@@ -141,11 +141,6 @@ public final class Main
|
||||
*/
|
||||
private String option_doclet = "gnu.classpath.tools.doclets.htmldoclet.HtmlDoclet";
|
||||
|
||||
/**
|
||||
* Option "-overview": path to the special overview file.
|
||||
*/
|
||||
private String option_overview;
|
||||
|
||||
/**
|
||||
* Option "-coverage": which members to include in generated documentation.
|
||||
*/
|
||||
@@ -161,31 +156,11 @@ public final class Main
|
||||
*/
|
||||
private String option_docletpath;
|
||||
|
||||
/**
|
||||
* Option "-classpath": path to additional classes.
|
||||
*/
|
||||
private String option_classpath;
|
||||
|
||||
/**
|
||||
* Option "-sourcepath": path to the Java source files to be documented.
|
||||
* FIXME: this should be a list of paths
|
||||
*/
|
||||
private List option_sourcepath = new ArrayList();
|
||||
|
||||
/**
|
||||
* Option "-extdirs": path to Java extension files.
|
||||
*/
|
||||
private String option_extdirs;
|
||||
|
||||
/**
|
||||
* Option "-verbose": Be verbose when generating documentation.
|
||||
*/
|
||||
private boolean option_verbose;
|
||||
|
||||
/**
|
||||
* Option "-nowarn": Do not print warnings.
|
||||
*/
|
||||
private boolean option_nowarn;
|
||||
private List<File> option_sourcepath = new ArrayList<File>();
|
||||
|
||||
/**
|
||||
* Option "-locale:" Specify the locale charset of Java source files.
|
||||
@@ -197,11 +172,6 @@ public final class Main
|
||||
*/
|
||||
private String option_encoding;
|
||||
|
||||
/**
|
||||
* Option "-J": Specify flags to be passed to Java runtime.
|
||||
*/
|
||||
private List option_java_flags = new LinkedList(); //ArrayList();
|
||||
|
||||
/**
|
||||
* Option "-source:" should be 1.4 to handle assertions, 1.1 is no
|
||||
* longer supported.
|
||||
@@ -212,12 +182,12 @@ public final class Main
|
||||
* Option "-subpackages": list of subpackages to be recursively
|
||||
* added.
|
||||
*/
|
||||
private List option_subpackages = new ArrayList();
|
||||
private List<String> option_subpackages = new ArrayList<String>();
|
||||
|
||||
/**
|
||||
* Option "-exclude": list of subpackages to exclude.
|
||||
*/
|
||||
private List option_exclude = new ArrayList();
|
||||
private List<String> option_exclude = new ArrayList<String>();
|
||||
|
||||
/**
|
||||
* Option "-breakiterator" - whether to use BreakIterator for
|
||||
@@ -263,7 +233,7 @@ public final class Main
|
||||
*
|
||||
* @param allOptions List of all command line tokens
|
||||
*/
|
||||
private boolean startDoclet(List allOptions)
|
||||
private boolean startDoclet(List<String> allOptions)
|
||||
{
|
||||
|
||||
try
|
||||
@@ -273,7 +243,7 @@ public final class Main
|
||||
|
||||
Debug.log(1, "loading doclet class...");
|
||||
|
||||
Class docletClass;
|
||||
Class<?> docletClass;
|
||||
|
||||
if (null != option_docletpath) {
|
||||
try {
|
||||
@@ -341,14 +311,14 @@ public final class Main
|
||||
//--- Feed the custom command line tokens to the Doclet
|
||||
|
||||
// stores all recognized options
|
||||
List options = new LinkedList();
|
||||
List<String[]> options = new LinkedList<String[]>();
|
||||
|
||||
// stores packages and classes defined on the command line
|
||||
List packageAndClasses = new LinkedList();
|
||||
List<String> packageAndClasses = new LinkedList<String>();
|
||||
|
||||
for (Iterator it = allOptions.iterator(); it.hasNext();)
|
||||
for (Iterator<String> it = allOptions.iterator(); it.hasNext();)
|
||||
{
|
||||
String option = (String) it.next();
|
||||
String option = it.next();
|
||||
|
||||
Debug.log(9, "parsing option '" + option + "'");
|
||||
|
||||
@@ -448,13 +418,13 @@ public final class Main
|
||||
// check that it exists and find out whether it is a class
|
||||
// or a package
|
||||
|
||||
for (Iterator it = option_subpackages.iterator(); it.hasNext();)
|
||||
for (Iterator<String> it = option_subpackages.iterator(); it.hasNext();)
|
||||
{
|
||||
String subpackage = (String) it.next();
|
||||
Set foundPackages = new LinkedHashSet();
|
||||
String subpackage = it.next();
|
||||
Set<String> foundPackages = new LinkedHashSet<String>();
|
||||
|
||||
for (Iterator pit = option_sourcepath.iterator(); pit.hasNext(); ) {
|
||||
File sourceDir = (File)pit.next();
|
||||
for (Iterator<File> pit = option_sourcepath.iterator(); pit.hasNext(); ) {
|
||||
File sourceDir = pit.next();
|
||||
File packageDir = new File(sourceDir, subpackage.replace('.', File.separatorChar));
|
||||
findPackages(subpackage, packageDir, foundPackages);
|
||||
}
|
||||
@@ -463,14 +433,14 @@ public final class Main
|
||||
}
|
||||
|
||||
if (option_all) {
|
||||
Set foundPackages = new LinkedHashSet();
|
||||
for (Iterator pit = option_sourcepath.iterator(); pit.hasNext(); ) {
|
||||
File sourceDir = (File)pit.next();
|
||||
Set<String> foundPackages = new LinkedHashSet<String>();
|
||||
for (Iterator<File> pit = option_sourcepath.iterator(); pit.hasNext(); ) {
|
||||
File sourceDir = pit.next();
|
||||
findPackages("", sourceDir, foundPackages);
|
||||
}
|
||||
addFoundPackages(null, foundPackages);
|
||||
for (Iterator packageIt = foundPackages.iterator(); packageIt.hasNext(); ) {
|
||||
String packageName = (String)packageIt.next();
|
||||
for (Iterator<String> packageIt = foundPackages.iterator(); packageIt.hasNext(); ) {
|
||||
String packageName = packageIt.next();
|
||||
if (null == packageName) {
|
||||
packageName = "";
|
||||
}
|
||||
@@ -478,16 +448,16 @@ public final class Main
|
||||
}
|
||||
}
|
||||
|
||||
for (Iterator it = packageAndClasses.iterator(); it.hasNext();)
|
||||
for (Iterator<String> it = packageAndClasses.iterator(); it.hasNext();)
|
||||
{
|
||||
|
||||
String classOrPackage = (String) it.next();
|
||||
String classOrPackage = it.next();
|
||||
|
||||
boolean foundSourceFile = false;
|
||||
|
||||
if (classOrPackage.endsWith(".java")) {
|
||||
for (Iterator pit = option_sourcepath.iterator(); pit.hasNext() && !foundSourceFile; ) {
|
||||
File sourceDir = (File)pit.next();
|
||||
for (Iterator<File> pit = option_sourcepath.iterator(); pit.hasNext() && !foundSourceFile; ) {
|
||||
File sourceDir = pit.next();
|
||||
File sourceFile = new File(sourceDir, classOrPackage);
|
||||
if (sourceFile.exists() && !sourceFile.isDirectory()) {
|
||||
rootDoc.addSpecifiedSourceFile(sourceFile);
|
||||
@@ -525,8 +495,8 @@ public final class Main
|
||||
//--- Create one file object each for a possible package directory
|
||||
// and a possible class file, and find out if they exist.
|
||||
|
||||
List packageDirs = rootDoc.findSourceFiles(classOrPackageRelPath);
|
||||
List sourceFiles = rootDoc.findSourceFiles(classOrPackageRelPath + ".java");
|
||||
List<File> packageDirs = rootDoc.findSourceFiles(classOrPackageRelPath);
|
||||
List<File> sourceFiles = rootDoc.findSourceFiles(classOrPackageRelPath + ".java");
|
||||
|
||||
boolean packageDirExists = !packageDirs.isEmpty();
|
||||
boolean sourceFileExists = !sourceFiles.isEmpty();
|
||||
@@ -554,10 +524,10 @@ public final class Main
|
||||
|
||||
else
|
||||
if (packageDirExists) {
|
||||
Iterator packageDirIt = packageDirs.iterator();
|
||||
Iterator<File> packageDirIt = packageDirs.iterator();
|
||||
boolean packageDirFound = false;
|
||||
while (packageDirIt.hasNext()) {
|
||||
File packageDir = (File)packageDirIt.next();
|
||||
File packageDir = packageDirIt.next();
|
||||
if (packageDir.isDirectory()) {
|
||||
rootDoc.addSpecifiedPackageName(classOrPackage);
|
||||
packageDirFound = true;
|
||||
@@ -671,19 +641,19 @@ public final class Main
|
||||
}
|
||||
}
|
||||
|
||||
private void addFoundPackages(String subpackage, Set foundPackages)
|
||||
private void addFoundPackages(String subpackage, Set<String> foundPackages)
|
||||
{
|
||||
if (foundPackages.isEmpty()) {
|
||||
reporter.printWarning("No classes found under subpackage " + subpackage);
|
||||
}
|
||||
else {
|
||||
boolean onePackageAdded = false;
|
||||
for (Iterator rit = foundPackages.iterator(); rit.hasNext();) {
|
||||
String foundPackage = (String)rit.next();
|
||||
for (Iterator<String> rit = foundPackages.iterator(); rit.hasNext();) {
|
||||
String foundPackage = rit.next();
|
||||
boolean excludeThisPackage = false;
|
||||
|
||||
for (Iterator eit = option_exclude.iterator(); eit.hasNext();) {
|
||||
String excludePackage = (String)eit.next();
|
||||
for (Iterator<String> eit = option_exclude.iterator(); eit.hasNext();) {
|
||||
String excludePackage = eit.next();
|
||||
if (foundPackage.equals(excludePackage) ||
|
||||
foundPackage.startsWith(excludePackage + ":")) {
|
||||
excludeThisPackage = true;
|
||||
@@ -817,7 +787,7 @@ public final class Main
|
||||
*/
|
||||
private void findPackages(String subpackage,
|
||||
File packageDir,
|
||||
Set result)
|
||||
Set<String> result)
|
||||
{
|
||||
File[] files = packageDir.listFiles();
|
||||
if (null != files) {
|
||||
@@ -1026,7 +996,7 @@ public final class Main
|
||||
//--- Collect unparsed arguments in array and resolve references
|
||||
// to external argument files.
|
||||
|
||||
List arguments = new ArrayList(args.length);
|
||||
List<String> arguments = new ArrayList<String>(args.length);
|
||||
|
||||
for (int i = 0; i < args.length; ++i)
|
||||
{
|
||||
@@ -1062,7 +1032,7 @@ public final class Main
|
||||
// Contains objects of type String[], where each entry
|
||||
// specifies an option along with its aguments.
|
||||
|
||||
List options = new LinkedList();
|
||||
List<String[]> options = new LinkedList<String[]>();
|
||||
|
||||
//--- This will hold all command line tokens not recognized
|
||||
// to be part of a standard option.
|
||||
@@ -1070,17 +1040,17 @@ public final class Main
|
||||
// Contains objects of type String, where each entry is
|
||||
// one unrecognized token.
|
||||
|
||||
List customOptions = new LinkedList();
|
||||
List<String> customOptions = new LinkedList<String>();
|
||||
|
||||
rootDoc = new RootDocImpl();
|
||||
reporter = rootDoc.getReporter();
|
||||
|
||||
//--- Iterate over all options given on the command line
|
||||
|
||||
for (Iterator it = arguments.iterator(); it.hasNext();)
|
||||
for (Iterator<String> it = arguments.iterator(); it.hasNext();)
|
||||
{
|
||||
|
||||
String arg = (String) it.next();
|
||||
String arg = it.next();
|
||||
|
||||
//--- Check if gjdoc recognizes this option as a standard option
|
||||
// and remember the options' argument count
|
||||
@@ -1129,8 +1099,7 @@ public final class Main
|
||||
|
||||
//--- Create an array of String arrays from the dynamic array built above
|
||||
|
||||
String[][] optionArr = (String[][]) options.toArray(new String[options
|
||||
.size()][0]);
|
||||
String[][] optionArr = options.toArray(new String[options.size()][0]);
|
||||
|
||||
//--- Validate all options and issue warnings/errors
|
||||
|
||||
@@ -1181,6 +1150,7 @@ public final class Main
|
||||
return reporter.getErrorCount();
|
||||
}
|
||||
|
||||
/*
|
||||
private void addJavaLangClasses()
|
||||
throws IOException
|
||||
{
|
||||
@@ -1201,6 +1171,7 @@ public final class Main
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
/**
|
||||
* Helper class for parsing command line arguments. An instance of this class
|
||||
@@ -1241,7 +1212,7 @@ public final class Main
|
||||
* Initialized only once by method initOptions(). FIXME: Rename to
|
||||
* 'optionProcessors'.
|
||||
*/
|
||||
private static Map options = null;
|
||||
private static Map<String,OptionProcessor> options = null;
|
||||
|
||||
/**
|
||||
* Initialize all OptionProcessor objects needed to scan/parse command line
|
||||
@@ -1251,7 +1222,7 @@ public final class Main
|
||||
private void initOptions()
|
||||
{
|
||||
|
||||
options = new HashMap();
|
||||
options = new HashMap<String,OptionProcessor>();
|
||||
|
||||
//--- Put one OptionProcessor object into the map
|
||||
// for each option recognized.
|
||||
@@ -1261,7 +1232,7 @@ public final class Main
|
||||
|
||||
void process(String[] args)
|
||||
{
|
||||
option_overview = args[0];
|
||||
System.err.println("WARNING: Unsupported option -overview ignored");
|
||||
}
|
||||
});
|
||||
options.put("-public", new OptionProcessor(1)
|
||||
@@ -1328,7 +1299,7 @@ public final class Main
|
||||
|
||||
void process(String[] args)
|
||||
{
|
||||
option_nowarn = true;
|
||||
System.err.println("WARNING: Unsupported option -nowarn ignored");
|
||||
}
|
||||
});
|
||||
options.put("-source", new OptionProcessor(2)
|
||||
@@ -1412,7 +1383,6 @@ public final class Main
|
||||
|
||||
void process(String[] args)
|
||||
{
|
||||
option_verbose = true;
|
||||
System.err.println("WARNING: Unsupported option -verbose ignored");
|
||||
}
|
||||
});
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/* gnu.classpath.tools.gjdoc.MemberDocImpl
|
||||
Copyright (C) 2001 Free Software Foundation, Inc.
|
||||
Copyright (C) 2001, 2012 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GNU Classpath.
|
||||
|
||||
@@ -170,15 +170,15 @@ public abstract class MemberDocImpl extends ProgramElementDocImpl implements Mem
|
||||
return Main.getInstance().includeAccessLevel(accessLevel);
|
||||
}
|
||||
|
||||
public int compareTo(Object o) {
|
||||
if (o instanceof MemberDocImpl) {
|
||||
int rc=name().compareTo(((MemberDocImpl)o).name());
|
||||
public int compareTo(Doc d) {
|
||||
if (d instanceof MemberDocImpl) {
|
||||
int rc=name().compareTo(((MemberDocImpl)d).name());
|
||||
if (rc==0)
|
||||
rc=containingClass().qualifiedName().compareTo(((MemberDocImpl)o).containingClass().qualifiedName());
|
||||
rc=containingClass().qualifiedName().compareTo(((MemberDocImpl)d).containingClass().qualifiedName());
|
||||
return rc;
|
||||
}
|
||||
else {
|
||||
return super.compareTo(o);
|
||||
return super.compareTo(d);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/* gnu.classpath.tools.gjdoc.PackageDocImpl
|
||||
Copyright (C) 2001 Free Software Foundation, Inc.
|
||||
Copyright (C) 2001, 2012 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GNU Classpath.
|
||||
|
||||
@@ -46,11 +46,11 @@ class PackageDocImpl extends DocImpl implements GjdocPackageDoc {
|
||||
private String packageName;
|
||||
private File packageDirectory;
|
||||
|
||||
private Set allClassesSet = new TreeSet();
|
||||
private List ordinaryClassesList = new ArrayList();
|
||||
private List exceptionsList = new ArrayList();
|
||||
private List interfacesList = new ArrayList();
|
||||
private List errorsList = new ArrayList();
|
||||
private Set<ClassDoc> allClassesSet = new TreeSet<ClassDoc>();
|
||||
private List<ClassDoc> ordinaryClassesList = new ArrayList<ClassDoc>();
|
||||
private List<ClassDoc> exceptionsList = new ArrayList<ClassDoc>();
|
||||
private List<ClassDoc> interfacesList = new ArrayList<ClassDoc>();
|
||||
private List<ClassDoc> errorsList = new ArrayList<ClassDoc>();
|
||||
|
||||
private ClassDoc[] allClasses;
|
||||
private ClassDoc[] ordinaryClasses;
|
||||
@@ -70,8 +70,8 @@ class PackageDocImpl extends DocImpl implements GjdocPackageDoc {
|
||||
}
|
||||
|
||||
public void resolve() {
|
||||
for (Iterator it=allClassesSet.iterator(); it.hasNext(); ) {
|
||||
ClassDocImpl classDoc=(ClassDocImpl)it.next();
|
||||
for (Iterator<ClassDoc> it = allClassesSet.iterator(); it.hasNext(); ) {
|
||||
ClassDocImpl classDoc = (ClassDocImpl) it.next();
|
||||
try {
|
||||
classDoc.resolve();
|
||||
} catch (ParseException e) {
|
||||
@@ -153,9 +153,9 @@ class PackageDocImpl extends DocImpl implements GjdocPackageDoc {
|
||||
return this.errors;
|
||||
}
|
||||
|
||||
private ClassDoc[] toClassDocArray(Collection classDocList)
|
||||
private ClassDoc[] toClassDocArray(Collection<ClassDoc> classDocList)
|
||||
{
|
||||
ClassDoc[] result = (ClassDoc[])classDocList.toArray(new ClassDoc[classDocList.size()]);
|
||||
ClassDoc[] result = classDocList.toArray(new ClassDoc[classDocList.size()]);
|
||||
Arrays.sort(result);
|
||||
return result;
|
||||
}
|
||||
@@ -193,9 +193,9 @@ class PackageDocImpl extends DocImpl implements GjdocPackageDoc {
|
||||
return packageName;
|
||||
}
|
||||
|
||||
public int compareTo(Object o) {
|
||||
if (o!=null && o instanceof PackageDocImpl)
|
||||
return name().compareTo(((PackageDocImpl)o).name());
|
||||
public int compareTo(Doc d) {
|
||||
if (d !=null && d instanceof PackageDocImpl)
|
||||
return name().compareTo(((PackageDocImpl)d).name());
|
||||
else
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/* gnu.classpath.tools.gjdoc.Parser
|
||||
Copyright (C) 2001, 2005, 2008 Free Software Foundation, Inc.
|
||||
Copyright (C) 2001, 2005, 2008, 2012 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GNU Classpath.
|
||||
|
||||
@@ -37,21 +37,38 @@
|
||||
|
||||
package gnu.classpath.tools.gjdoc;
|
||||
|
||||
import java.io.*;
|
||||
import com.sun.javadoc.ClassDoc;
|
||||
import com.sun.javadoc.ConstructorDoc;
|
||||
import com.sun.javadoc.FieldDoc;
|
||||
import com.sun.javadoc.MethodDoc;
|
||||
import com.sun.javadoc.PackageDoc;
|
||||
|
||||
import gnu.classpath.tools.IOToolkit;
|
||||
import gnu.classpath.tools.NotifyingInputStreamReader;
|
||||
import gnu.classpath.tools.MalformedInputListener;
|
||||
import gnu.classpath.tools.MalformedInputEvent;
|
||||
|
||||
import java.io.BufferedReader;
|
||||
import java.io.File;
|
||||
import java.io.FileInputStream;
|
||||
import java.io.InputStream;
|
||||
import java.io.IOException;
|
||||
import java.io.Reader;
|
||||
|
||||
import java.nio.ByteBuffer;
|
||||
import java.nio.CharBuffer;
|
||||
import java.nio.charset.Charset;
|
||||
import java.nio.charset.CharsetDecoder;
|
||||
import java.nio.charset.CoderResult;
|
||||
import java.nio.charset.CodingErrorAction;
|
||||
import java.util.*;
|
||||
|
||||
import com.sun.javadoc.*;
|
||||
|
||||
import gnu.classpath.tools.IOToolkit;
|
||||
import gnu.classpath.tools.NotifyingInputStreamReader;
|
||||
import gnu.classpath.tools.MalformedInputListener;
|
||||
import gnu.classpath.tools.MalformedInputEvent;
|
||||
import java.util.Collection;
|
||||
import java.util.HashSet;
|
||||
import java.util.Iterator;
|
||||
import java.util.LinkedList;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
import java.util.Stack;
|
||||
|
||||
class IgnoredFileParseException extends ParseException
|
||||
{
|
||||
@@ -356,11 +373,11 @@ import gnu.classpath.tools.MalformedInputEvent;
|
||||
if (endIndex-startIndex<=1) return endIndex;
|
||||
|
||||
//assert (parser.ctx!=null);
|
||||
Collection fields=FieldDocImpl.createFromSource(parser.ctx.classDoc,
|
||||
parser.ctx.classDoc.containingPackage(),
|
||||
source, startIndex, endIndex);
|
||||
Collection<FieldDoc> fields = FieldDocImpl.createFromSource(parser.ctx.classDoc,
|
||||
parser.ctx.classDoc.containingPackage(),
|
||||
source, startIndex, endIndex);
|
||||
|
||||
for (Iterator it=fields.iterator(); it.hasNext(); ) {
|
||||
for (Iterator<FieldDoc> it=fields.iterator(); it.hasNext(); ) {
|
||||
FieldDocImpl field=(FieldDocImpl)it.next();
|
||||
boolean fieldHasSerialTag=!field.isTransient() && !field.isStatic(); //field.hasSerialTag();
|
||||
if ((field.isIncluded() || fieldHasSerialTag) && parser.getAddComments()) {
|
||||
@@ -408,27 +425,26 @@ import gnu.classpath.tools.MalformedInputEvent;
|
||||
parser.setLastComment(null);
|
||||
|
||||
if (execDoc.isMethod()) {
|
||||
parser.ctx.methodList.add(execDoc);
|
||||
if (execDoc.isIncluded()) {
|
||||
parser.ctx.filteredMethodList.add(execDoc);
|
||||
MethodDoc methDoc = (MethodDoc) execDoc;
|
||||
parser.ctx.methodList.add(methDoc);
|
||||
if (methDoc.isIncluded()) {
|
||||
parser.ctx.filteredMethodList.add(methDoc);
|
||||
}
|
||||
}
|
||||
else {
|
||||
parser.ctx.constructorList.add(execDoc);
|
||||
if (execDoc.isIncluded()) {
|
||||
parser.ctx.filteredConstructorList.add(execDoc);
|
||||
}
|
||||
}
|
||||
|
||||
if (execDoc.isMethod()
|
||||
&& (execDoc.name().equals("readObject")
|
||||
|| execDoc.name().equals("writeObject")
|
||||
|| execDoc.name().equals("readExternal")
|
||||
|| execDoc.name().equals("writeExternal")
|
||||
|| execDoc.name().equals("readResolve"))) {
|
||||
if (methDoc.name().equals("readObject")
|
||||
|| methDoc.name().equals("writeObject")
|
||||
|| methDoc.name().equals("readExternal")
|
||||
|| methDoc.name().equals("writeExternal")
|
||||
|| methDoc.name().equals("readResolve")) {
|
||||
// FIXME: add readExternal here?
|
||||
|
||||
parser.ctx.maybeSerMethodList.add(execDoc);
|
||||
parser.ctx.maybeSerMethodList.add(methDoc);
|
||||
}
|
||||
} else {
|
||||
ConstructorDoc constDoc = (ConstructorDoc) execDoc;
|
||||
parser.ctx.constructorList.add(constDoc);
|
||||
if (constDoc.isIncluded()) {
|
||||
parser.ctx.filteredConstructorList.add(constDoc);
|
||||
}
|
||||
}
|
||||
|
||||
return endIndex;
|
||||
@@ -764,7 +780,7 @@ public class Parser {
|
||||
return processedFiles.size();
|
||||
}
|
||||
|
||||
static Set processedFiles = new HashSet();
|
||||
static Set<File> processedFiles = new HashSet<File>();
|
||||
|
||||
ClassDocImpl processSourceFile(File file, boolean addComments,
|
||||
String encoding, String expectedPackageName)
|
||||
@@ -803,8 +819,8 @@ public class Parser {
|
||||
try {
|
||||
parse(source, 0, sourceLevelComponents);
|
||||
|
||||
ClassDoc[] importedClasses=(ClassDoc[])importedClassesList.toArray(new ClassDoc[0]);
|
||||
PackageDoc[] importedPackages=(PackageDoc[])importedPackagesList.toArray(new PackageDoc[0]);
|
||||
ClassDoc[] importedClasses = importedClassesList.toArray(new ClassDoc[importedClassesList.size()]);
|
||||
PackageDoc[] importedPackages = importedPackagesList.toArray(new PackageDoc[importedPackagesList.size()]);
|
||||
|
||||
if (Main.DESCEND_IMPORTED) {
|
||||
for (int i=0; i<importedClasses.length; ++i) {
|
||||
@@ -909,7 +925,7 @@ public class Parser {
|
||||
ClassDocImpl classDoc
|
||||
= ClassDocImpl.createInstance((ctx!=null)?(ctx.classDoc):null, currentPackage,
|
||||
null,
|
||||
(PackageDoc[])importedPackagesList.toArray(new PackageDoc[0]),
|
||||
importedPackagesList.toArray(new PackageDoc[importedPackagesList.size()]),
|
||||
source, startIndex, endIndex,
|
||||
importedStatementList);
|
||||
|
||||
@@ -921,11 +937,11 @@ public class Parser {
|
||||
}
|
||||
|
||||
if (importedClassesList.isEmpty()) {
|
||||
for (Iterator it=importedStringList.iterator(); it.hasNext(); ) {
|
||||
importedClassesList.add(new ClassDocProxy((String)it.next(), classDoc));
|
||||
for (Iterator<String> it=importedStringList.iterator(); it.hasNext(); ) {
|
||||
importedClassesList.add(new ClassDocProxy(it.next(), classDoc));
|
||||
}
|
||||
}
|
||||
classDoc.setImportedClasses((ClassDoc[])importedClassesList.toArray(new ClassDoc[0]));
|
||||
classDoc.setImportedClasses(importedClassesList.toArray(new ClassDoc[importedClassesList.size()]));
|
||||
|
||||
currentPackage.addClass(classDoc);
|
||||
|
||||
@@ -945,26 +961,24 @@ public class Parser {
|
||||
//Debug.log(9,"ctx="+ctx);
|
||||
}
|
||||
|
||||
private Doc[] toArray(List list, Doc[] template)
|
||||
private <T> T[] toArray(List<T> list, T[] template)
|
||||
{
|
||||
Doc[] result = (Doc[])list.toArray(template);
|
||||
return result;
|
||||
return list.toArray(template);
|
||||
}
|
||||
|
||||
void classClosed() throws ParseException, IOException {
|
||||
ctx.classDoc.setFields((FieldDoc[])toArray(ctx.fieldList,
|
||||
new FieldDoc[0]));
|
||||
ctx.classDoc.setFilteredFields((FieldDoc[])toArray(ctx.filteredFieldList,
|
||||
new FieldDoc[0]));
|
||||
ctx.classDoc.setSerializableFields((FieldDoc[])toArray(ctx.sfieldList, new FieldDoc[0]));
|
||||
ctx.classDoc.setMethods((MethodDoc[])toArray(ctx.methodList, new MethodDoc[0]));
|
||||
ctx.classDoc.setFilteredMethods((MethodDoc[])toArray(ctx.filteredMethodList, new MethodDoc[0]));
|
||||
ctx.classDoc.setFields(toArray(ctx.fieldList,new FieldDoc[ctx.fieldList.size()]));
|
||||
ctx.classDoc.setFilteredFields(toArray(ctx.filteredFieldList,new FieldDoc[ctx.filteredFieldList.size()]));
|
||||
ctx.classDoc.setSerializableFields(toArray(ctx.sfieldList, new FieldDoc[ctx.sfieldList.size()]));
|
||||
ctx.classDoc.setMethods(toArray(ctx.methodList, new MethodDoc[ctx.methodList.size()]));
|
||||
ctx.classDoc.setFilteredMethods(toArray(ctx.filteredMethodList, new MethodDoc[ctx.filteredMethodList.size()]));
|
||||
ctx.classDoc.setMaybeSerMethodList(ctx.maybeSerMethodList);
|
||||
ctx.classDoc.setConstructors((ConstructorDoc[])toArray(ctx.constructorList, new ConstructorDoc[0]));
|
||||
ctx.classDoc.setFilteredConstructors((ConstructorDoc[])toArray(ctx.filteredConstructorList, new ConstructorDoc[0]));
|
||||
|
||||
ctx.classDoc.setInnerClasses((ClassDocImpl[])toArray(ctx.innerClassesList, new ClassDocImpl[0]));
|
||||
ctx.classDoc.setFilteredInnerClasses((ClassDocImpl[])toArray(ctx.filteredInnerClassesList, new ClassDocImpl[0]));
|
||||
ctx.classDoc.setConstructors(toArray(ctx.constructorList, new ConstructorDoc[ctx.constructorList.size()]));
|
||||
ctx.classDoc.setFilteredConstructors(toArray(ctx.filteredConstructorList,
|
||||
new ConstructorDoc[ctx.filteredConstructorList.size()]));
|
||||
ctx.classDoc.setInnerClasses(toArray(ctx.innerClassesList, new ClassDocImpl[ctx.innerClassesList.size()]));
|
||||
ctx.classDoc.setFilteredInnerClasses(toArray(ctx.filteredInnerClassesList,
|
||||
new ClassDocImpl[ctx.filteredInnerClassesList.size()]));
|
||||
ctx.classDoc.setBoilerplateComment(boilerplateComment);
|
||||
|
||||
Main.getRootDoc().addClassDoc(ctx.classDoc);
|
||||
@@ -993,16 +1007,16 @@ public class Parser {
|
||||
class Context {
|
||||
Context(ClassDocImpl classDoc) { this.classDoc=classDoc; }
|
||||
ClassDocImpl classDoc = null;
|
||||
List fieldList = new LinkedList();
|
||||
List filteredFieldList = new LinkedList();
|
||||
List sfieldList = new LinkedList();
|
||||
List methodList = new LinkedList();
|
||||
List filteredMethodList = new LinkedList();
|
||||
List maybeSerMethodList = new LinkedList();
|
||||
List constructorList = new LinkedList();
|
||||
List filteredConstructorList = new LinkedList();
|
||||
List innerClassesList = new LinkedList();
|
||||
List filteredInnerClassesList = new LinkedList();
|
||||
List<FieldDoc> fieldList = new LinkedList<FieldDoc>();
|
||||
List<FieldDoc> filteredFieldList = new LinkedList<FieldDoc>();
|
||||
List<FieldDoc> sfieldList = new LinkedList<FieldDoc>();
|
||||
List<MethodDoc> methodList = new LinkedList<MethodDoc>();
|
||||
List<MethodDoc> filteredMethodList = new LinkedList<MethodDoc>();
|
||||
List<MethodDoc> maybeSerMethodList = new LinkedList<MethodDoc>();
|
||||
List<ConstructorDoc> constructorList = new LinkedList<ConstructorDoc>();
|
||||
List<ConstructorDoc> filteredConstructorList = new LinkedList<ConstructorDoc>();
|
||||
List<ClassDocImpl> innerClassesList = new LinkedList<ClassDocImpl>();
|
||||
List<ClassDocImpl> filteredInnerClassesList = new LinkedList<ClassDocImpl>();
|
||||
}
|
||||
|
||||
File currentFile = null;
|
||||
@@ -1016,10 +1030,10 @@ public class Parser {
|
||||
List allClassesList = new LinkedList();
|
||||
List interfacesList = new LinkedList();
|
||||
|
||||
List importedClassesList = new LinkedList();
|
||||
List importedStringList = new LinkedList();
|
||||
List importedPackagesList = new LinkedList();
|
||||
List importedStatementList = new LinkedList();
|
||||
List<ClassDoc> importedClassesList = new LinkedList<ClassDoc>();
|
||||
List<String> importedStringList = new LinkedList<String>();
|
||||
List<PackageDoc> importedPackagesList = new LinkedList<PackageDoc>();
|
||||
List<String> importedStatementList = new LinkedList<String>();
|
||||
|
||||
List referencedClassesList = new LinkedList();
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/* gnu.classpath.tools.gjdoc.RootDocImpl
|
||||
Copyright (C) 2001, 2007 Free Software Foundation, Inc.
|
||||
Copyright (C) 2001, 2007, 2012 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GNU Classpath.
|
||||
|
||||
@@ -409,11 +409,11 @@ public class RootDocImpl
|
||||
}
|
||||
}
|
||||
|
||||
List findSourceFiles(String relPath) {
|
||||
List<File> findSourceFiles(String relPath) {
|
||||
|
||||
List result = new LinkedList();
|
||||
for (Iterator it = sourcePath.iterator(); it.hasNext(); ) {
|
||||
File path = (File)it.next();
|
||||
List<File> result = new LinkedList<File>();
|
||||
for (Iterator<File> it = sourcePath.iterator(); it.hasNext(); ) {
|
||||
File path = it.next();
|
||||
File file = new File(path, relPath);
|
||||
if (file.exists()) {
|
||||
result.add(file);
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/* gnu.classpath.tools.gjdoc.expr.Evaluator
|
||||
Copyright (C) 2004 Free Software Foundation, Inc.
|
||||
Copyright (C) 2004, 2012 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GNU Classpath.
|
||||
|
||||
@@ -37,6 +37,8 @@ exception statement from your version. */
|
||||
|
||||
package gnu.classpath.tools.gjdoc.expr;
|
||||
|
||||
import com.sun.javadoc.FieldDoc;
|
||||
|
||||
import java.io.StringReader;
|
||||
import java.math.BigInteger;
|
||||
import antlr.RecognitionException;
|
||||
@@ -68,7 +70,7 @@ public class Evaluator
|
||||
* array access) or references unknown static fields.
|
||||
*/
|
||||
public static Object evaluate(String expression,
|
||||
Set visitedFields,
|
||||
Set<FieldDoc> visitedFields,
|
||||
EvaluatorEnvironment environment)
|
||||
throws IllegalExpressionException
|
||||
{
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/* gnu.classpath.tools.gjdoc.expr.EvaluatorEnvironment
|
||||
Copyright (C) 2004 Free Software Foundation, Inc.
|
||||
Copyright (C) 2004, 2012 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GNU Classpath.
|
||||
|
||||
@@ -37,10 +37,12 @@ exception statement from your version. */
|
||||
|
||||
package gnu.classpath.tools.gjdoc.expr;
|
||||
|
||||
import com.sun.javadoc.FieldDoc;
|
||||
|
||||
import java.util.Set;
|
||||
|
||||
public interface EvaluatorEnvironment
|
||||
{
|
||||
public Object getValue(String identifier, Set visitedFields)
|
||||
public Object getValue(String identifier, Set<FieldDoc> visitedFields)
|
||||
throws IllegalExpressionException, UnknownIdentifierException;
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/* gnu.classpath.tools.gjdoc.expr.Type
|
||||
Copyright (C) 2004 Free Software Foundation, Inc.
|
||||
Copyright (C) 2004, 2012 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GNU Classpath.
|
||||
|
||||
@@ -51,9 +51,9 @@ class Type
|
||||
public static final Type STRING = new Type(String.class);
|
||||
public static final Type NULL = new Type(null);
|
||||
|
||||
private Class clazz;
|
||||
private Class<?> clazz;
|
||||
|
||||
private Type(Class clazz)
|
||||
private Type(Class<?> clazz)
|
||||
{
|
||||
this.clazz = clazz;
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/* ClassRmicCompiler.java --
|
||||
Copyright (c) 1996, 1997, 1998, 1999, 2001, 2002, 2003, 2004, 2005
|
||||
Copyright (c) 1996, 1997, 1998, 1999, 2001, 2002, 2003, 2004, 2005, 2012
|
||||
Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GNU Classpath.
|
||||
@@ -76,26 +76,23 @@ public class ClassRmicCompiler
|
||||
{
|
||||
private String[] args;
|
||||
private int next;
|
||||
private List errors = new ArrayList();
|
||||
private boolean keep = false;
|
||||
private List<Exception> errors = new ArrayList<Exception>();
|
||||
private boolean need11Stubs = true;
|
||||
private boolean need12Stubs = true;
|
||||
private boolean compile = true;
|
||||
private boolean verbose;
|
||||
private boolean noWrite;
|
||||
private String destination;
|
||||
private String classpath;
|
||||
private ClassLoader loader;
|
||||
private int errorCount = 0;
|
||||
|
||||
private Class clazz;
|
||||
private Class<?> clazz;
|
||||
private String classname;
|
||||
private String classInternalName;
|
||||
private String fullclassname;
|
||||
private MethodRef[] remotemethods;
|
||||
private String stubname;
|
||||
private String skelname;
|
||||
private List mRemoteInterfaces;
|
||||
private List<Class<?>> mRemoteInterfaces;
|
||||
|
||||
/**
|
||||
* @return true if run was successful
|
||||
@@ -126,9 +123,9 @@ public class ClassRmicCompiler
|
||||
}
|
||||
if (errors.size() > 0)
|
||||
{
|
||||
for (Iterator it = errors.iterator(); it.hasNext(); )
|
||||
for (Iterator<Exception> it = errors.iterator(); it.hasNext(); )
|
||||
{
|
||||
Exception ex = (Exception) it.next();
|
||||
Exception ex = it.next();
|
||||
logError(ex);
|
||||
}
|
||||
}
|
||||
@@ -146,7 +143,7 @@ public class ClassRmicCompiler
|
||||
remotemethods = null;
|
||||
stubname = null;
|
||||
skelname = null;
|
||||
mRemoteInterfaces = new ArrayList();
|
||||
mRemoteInterfaces = new ArrayList<Class<?>>();
|
||||
|
||||
analyzeClass(cls);
|
||||
generateStub();
|
||||
@@ -175,7 +172,7 @@ public class ClassRmicCompiler
|
||||
*/
|
||||
public Exception getException()
|
||||
{
|
||||
return errors.size() == 0 ? null : (Exception) errors.get(0);
|
||||
return errors.size() == 0 ? null : errors.get(0);
|
||||
}
|
||||
|
||||
private void findClass()
|
||||
@@ -202,7 +199,7 @@ public class ClassRmicCompiler
|
||||
}
|
||||
}
|
||||
|
||||
private static Type[] typeArray(Class[] cls)
|
||||
private static Type[] typeArray(Class<?>[] cls)
|
||||
{
|
||||
Type[] t = new Type[cls.length];
|
||||
for (int i = 0; i < cls.length; i++)
|
||||
@@ -231,11 +228,11 @@ public class ClassRmicCompiler
|
||||
|
||||
private static final String forName = "class$";
|
||||
|
||||
private static Object param(Method m, int argIndex)
|
||||
private static List<Object> param(Method m, int argIndex)
|
||||
{
|
||||
List l = new ArrayList();
|
||||
List<Object> l = new ArrayList<Object>();
|
||||
l.add(m);
|
||||
l.add(new Integer(argIndex));
|
||||
l.add(Integer.valueOf(argIndex));
|
||||
return l;
|
||||
}
|
||||
|
||||
@@ -283,10 +280,10 @@ public class ClassRmicCompiler
|
||||
cv.visitMaxs(-1, -1);
|
||||
}
|
||||
|
||||
private void generateClassConstant(MethodVisitor cv, Class cls) {
|
||||
private void generateClassConstant(MethodVisitor cv, Class<?> cls) {
|
||||
if (cls.isPrimitive())
|
||||
{
|
||||
Class boxCls;
|
||||
Class<?> boxCls;
|
||||
if (cls.equals(Boolean.TYPE))
|
||||
boxCls = Boolean.class;
|
||||
else if (cls.equals(Character.TYPE))
|
||||
@@ -321,7 +318,7 @@ public class ClassRmicCompiler
|
||||
new Type[] { Type.getType(String.class) }));
|
||||
}
|
||||
|
||||
private void generateClassArray(MethodVisitor code, Class[] classes)
|
||||
private void generateClassArray(MethodVisitor code, Class<?>[] classes)
|
||||
{
|
||||
code.visitLdcInsn(new Integer(classes.length));
|
||||
code.visitTypeInsn(Opcodes.ANEWARRAY, typeArg(Class.class));
|
||||
@@ -352,7 +349,7 @@ public class ClassRmicCompiler
|
||||
desc.append(m.getName() + "(");
|
||||
|
||||
// signature
|
||||
Class[] sig = m.getParameterTypes();
|
||||
Class<?>[] sig = m.getParameterTypes();
|
||||
for (int j = 0; j < sig.length; j++)
|
||||
{
|
||||
desc.append(getPrettyName(sig[j]));
|
||||
@@ -418,7 +415,6 @@ public class ClassRmicCompiler
|
||||
throws IOException
|
||||
{
|
||||
stubname = fullclassname + "_Stub";
|
||||
String stubclassname = classname + "_Stub";
|
||||
File file = new File((destination == null ? "." : destination)
|
||||
+ File.separator
|
||||
+ stubname.replace('.', File.separatorChar)
|
||||
@@ -433,7 +429,7 @@ public class ClassRmicCompiler
|
||||
Type.getType(RemoteStub.class).getInternalName();
|
||||
|
||||
String[] remoteInternalNames =
|
||||
internalNameArray((Class[]) mRemoteInterfaces.toArray(new Class[] {}));
|
||||
internalNameArray(mRemoteInterfaces.toArray(new Class[mRemoteInterfaces.size()]));
|
||||
stub.visit
|
||||
(Opcodes.V1_2, Opcodes.ACC_PUBLIC + Opcodes.ACC_FINAL, classInternalName,
|
||||
null, superInternalName, remoteInternalNames);
|
||||
@@ -601,10 +597,10 @@ public class ClassRmicCompiler
|
||||
for (int i = 0; i < remotemethods.length; i++)
|
||||
{
|
||||
Method m = remotemethods[i].meth;
|
||||
Class[] sig = m.getParameterTypes();
|
||||
Class returntype = m.getReturnType();
|
||||
Class[] except = sortExceptions
|
||||
((Class[]) remotemethods[i].exceptions.toArray(new Class[0]));
|
||||
Class<?>[] sig = m.getParameterTypes();
|
||||
Class<?> returntype = m.getReturnType();
|
||||
Class<?>[] except = sortExceptions
|
||||
(remotemethods[i].exceptions.toArray(new Class<?>[remotemethods[i].exceptions.size()]));
|
||||
|
||||
MethodVisitor code = stub.visitMethod
|
||||
(Opcodes.ACC_PUBLIC,
|
||||
@@ -664,9 +660,8 @@ public class ClassRmicCompiler
|
||||
|
||||
for (int j = 0; j < sig.length; j++)
|
||||
{
|
||||
int size = size(sig[j]);
|
||||
int insn = loadOpcode(sig[j]);
|
||||
Class box = sig[j].isPrimitive() ? box(sig[j]) : null;
|
||||
Class<?> box = sig[j].isPrimitive() ? box(sig[j]) : null;
|
||||
|
||||
code.visitVarInsn(Opcodes.ALOAD, var.get("argArray"));
|
||||
code.visitLdcInsn(new Integer(j));
|
||||
@@ -695,7 +690,7 @@ public class ClassRmicCompiler
|
||||
}
|
||||
|
||||
// push remote operation opcode
|
||||
code.visitLdcInsn(new Long(remotemethods[i].hash));
|
||||
code.visitLdcInsn(Long.valueOf(remotemethods[i].hash));
|
||||
code.visitMethodInsn
|
||||
(Opcodes.INVOKEINTERFACE,
|
||||
Type.getInternalName(RemoteRef.class),
|
||||
@@ -710,7 +705,7 @@ public class ClassRmicCompiler
|
||||
if (! returntype.equals(Void.TYPE))
|
||||
{
|
||||
int retcode = returnOpcode(returntype);
|
||||
Class boxCls =
|
||||
Class<?> boxCls =
|
||||
returntype.isPrimitive() ? box(returntype) : null;
|
||||
code.visitTypeInsn
|
||||
(Opcodes.CHECKCAST, typeArg(boxCls == null ? returntype : boxCls));
|
||||
@@ -797,7 +792,7 @@ public class ClassRmicCompiler
|
||||
// get j'th arg to remote method
|
||||
code.visitVarInsn(loadOpcode(sig[j]), var.get(param(m, j)));
|
||||
|
||||
Class argCls =
|
||||
Class<?> argCls =
|
||||
sig[j].isPrimitive() ? sig[j] : Object.class;
|
||||
|
||||
// out.writeFoo
|
||||
@@ -872,7 +867,7 @@ public class ClassRmicCompiler
|
||||
Type.getMethodDescriptor
|
||||
(Type.getType(ObjectInput.class), new Type[] {}));
|
||||
|
||||
Class readCls =
|
||||
Class<?> readCls =
|
||||
returntype.isPrimitive() ? returntype : Object.class;
|
||||
code.visitMethodInsn
|
||||
(Opcodes.INVOKEINTERFACE,
|
||||
@@ -936,8 +931,6 @@ public class ClassRmicCompiler
|
||||
Type.getType(Exception.class) }));
|
||||
code.visitInsn(Opcodes.ATHROW);
|
||||
|
||||
Label endReturnTryCatch = new Label();
|
||||
|
||||
// catch IOException
|
||||
code.visitTryCatchBlock
|
||||
(beginReturnTryCatch, handler, handler,
|
||||
@@ -1024,7 +1017,6 @@ public class ClassRmicCompiler
|
||||
private void generateSkel() throws IOException
|
||||
{
|
||||
skelname = fullclassname + "_Skel";
|
||||
String skelclassname = classname + "_Skel";
|
||||
File file = new File(destination == null ? "" : destination
|
||||
+ File.separator
|
||||
+ skelname.replace('.', File.separatorChar)
|
||||
@@ -1119,7 +1111,7 @@ public class ClassRmicCompiler
|
||||
{
|
||||
// assign opnum if hash matches supplied hash
|
||||
dispatch.visitVarInsn(Opcodes.LLOAD, var.get("hash"));
|
||||
dispatch.visitLdcInsn(new Long(remotemethods[i].hash));
|
||||
dispatch.visitLdcInsn(Long.valueOf(remotemethods[i].hash));
|
||||
Label notIt = new Label();
|
||||
dispatch.visitInsn(Opcodes.LCMP);
|
||||
dispatch.visitJumpInsn(Opcodes.IFNE, notIt);
|
||||
@@ -1214,7 +1206,7 @@ public class ClassRmicCompiler
|
||||
|
||||
private void generateMethodSkel(MethodVisitor cv, Method m, Variables var)
|
||||
{
|
||||
Class[] sig = m.getParameterTypes();
|
||||
Class<?>[] sig = m.getParameterTypes();
|
||||
|
||||
Label readArgs = new Label();
|
||||
cv.visitLabel(readArgs);
|
||||
@@ -1235,7 +1227,7 @@ public class ClassRmicCompiler
|
||||
// dup input stream
|
||||
cv.visitVarInsn(Opcodes.ALOAD, var.get("objectinput"));
|
||||
|
||||
Class readCls = sig[i].isPrimitive() ? sig[i] : Object.class;
|
||||
Class<?> readCls = sig[i].isPrimitive() ? sig[i] : Object.class;
|
||||
|
||||
// in.readFoo()
|
||||
cv.visitMethodInsn
|
||||
@@ -1314,7 +1306,7 @@ public class ClassRmicCompiler
|
||||
(Opcodes.INVOKEVIRTUAL, Type.getInternalName(clazz), m.getName(),
|
||||
Type.getMethodDescriptor(m));
|
||||
|
||||
Class returntype = m.getReturnType();
|
||||
Class<?> returntype = m.getReturnType();
|
||||
if (! returntype.equals(Void.TYPE))
|
||||
{
|
||||
cv.visitVarInsn
|
||||
@@ -1338,7 +1330,7 @@ public class ClassRmicCompiler
|
||||
{
|
||||
// out.writeFoo(result)
|
||||
cv.visitVarInsn(loadOpcode(returntype), var.deallocate("result"));
|
||||
Class writeCls = returntype.isPrimitive() ? returntype : Object.class;
|
||||
Class<?> writeCls = returntype.isPrimitive() ? returntype : Object.class;
|
||||
cv.visitMethodInsn
|
||||
(Opcodes.INVOKEINTERFACE,
|
||||
Type.getInternalName(ObjectOutput.class),
|
||||
@@ -1370,7 +1362,7 @@ public class ClassRmicCompiler
|
||||
Type.getInternalName(IOException.class));
|
||||
}
|
||||
|
||||
private static String typeArg(Class cls)
|
||||
private static String typeArg(Class<?> cls)
|
||||
{
|
||||
if (cls.isArray())
|
||||
return Type.getDescriptor(cls);
|
||||
@@ -1378,7 +1370,7 @@ public class ClassRmicCompiler
|
||||
return Type.getInternalName(cls);
|
||||
}
|
||||
|
||||
private static String readMethod(Class cls)
|
||||
private static String readMethod(Class<?> cls)
|
||||
{
|
||||
if (cls.equals(Void.TYPE))
|
||||
throw new IllegalArgumentException("can not read void");
|
||||
@@ -1406,7 +1398,7 @@ public class ClassRmicCompiler
|
||||
return method;
|
||||
}
|
||||
|
||||
private static String writeMethod(Class cls)
|
||||
private static String writeMethod(Class<?> cls)
|
||||
{
|
||||
if (cls.equals(Void.TYPE))
|
||||
throw new IllegalArgumentException("can not read void");
|
||||
@@ -1434,7 +1426,7 @@ public class ClassRmicCompiler
|
||||
return method;
|
||||
}
|
||||
|
||||
private static int returnOpcode(Class cls)
|
||||
private static int returnOpcode(Class<?> cls)
|
||||
{
|
||||
int returncode;
|
||||
if (cls.equals(Boolean.TYPE))
|
||||
@@ -1461,7 +1453,7 @@ public class ClassRmicCompiler
|
||||
return returncode;
|
||||
}
|
||||
|
||||
private static int loadOpcode(Class cls)
|
||||
private static int loadOpcode(Class<?> cls)
|
||||
{
|
||||
if (cls.equals(Void.TYPE))
|
||||
throw new IllegalArgumentException("can not load void");
|
||||
@@ -1489,7 +1481,7 @@ public class ClassRmicCompiler
|
||||
return loadcode;
|
||||
}
|
||||
|
||||
private static int storeOpcode(Class cls)
|
||||
private static int storeOpcode(Class<?> cls)
|
||||
{
|
||||
if (cls.equals(Void.TYPE))
|
||||
throw new IllegalArgumentException("can not load void");
|
||||
@@ -1517,7 +1509,7 @@ public class ClassRmicCompiler
|
||||
return storecode;
|
||||
}
|
||||
|
||||
private static String unboxMethod(Class primitive)
|
||||
private static String unboxMethod(Class<?> primitive)
|
||||
{
|
||||
if (! primitive.isPrimitive())
|
||||
throw new IllegalArgumentException("can not unbox nonprimitive");
|
||||
@@ -1545,12 +1537,12 @@ public class ClassRmicCompiler
|
||||
return method;
|
||||
}
|
||||
|
||||
public static Class box(Class cls)
|
||||
public static Class<?> box(Class<?> cls)
|
||||
{
|
||||
if (! cls.isPrimitive())
|
||||
throw new IllegalArgumentException("can only box primitive");
|
||||
|
||||
Class box;
|
||||
Class<?> box;
|
||||
if (cls.equals(Boolean.TYPE))
|
||||
box = Boolean.class;
|
||||
else if (cls.equals(Byte.TYPE))
|
||||
@@ -1573,7 +1565,7 @@ public class ClassRmicCompiler
|
||||
return box;
|
||||
}
|
||||
|
||||
private static int size(Class cls) {
|
||||
private static int size(Class<?> cls) {
|
||||
if (cls.equals(Long.TYPE) || cls.equals(Double.TYPE))
|
||||
return 2;
|
||||
else
|
||||
@@ -1583,7 +1575,7 @@ public class ClassRmicCompiler
|
||||
/**
|
||||
* Sort exceptions so the most general go last.
|
||||
*/
|
||||
private Class[] sortExceptions(Class[] except)
|
||||
private Class<?>[] sortExceptions(Class<?>[] except)
|
||||
{
|
||||
for (int i = 0; i < except.length; i++)
|
||||
{
|
||||
@@ -1591,7 +1583,7 @@ public class ClassRmicCompiler
|
||||
{
|
||||
if (except[i].isAssignableFrom(except[j]))
|
||||
{
|
||||
Class tmp = except[i];
|
||||
Class<?> tmp = except[i];
|
||||
except[i] = except[j];
|
||||
except[j] = tmp;
|
||||
}
|
||||
@@ -1605,14 +1597,12 @@ public class ClassRmicCompiler
|
||||
boolean noWrite, boolean verbose, boolean force, String classpath,
|
||||
String bootclasspath, String extdirs, String outputDirectory)
|
||||
{
|
||||
this.keep = keep;
|
||||
this.need11Stubs = need11Stubs;
|
||||
this.need12Stubs = need12Stubs;
|
||||
this.verbose = verbose;
|
||||
this.noWrite = noWrite;
|
||||
|
||||
// Set up classpath.
|
||||
this.classpath = classpath;
|
||||
StringTokenizer st =
|
||||
new StringTokenizer(classpath, File.pathSeparator);
|
||||
URL[] u = new URL[st.countTokens()];
|
||||
@@ -1638,15 +1628,15 @@ public class ClassRmicCompiler
|
||||
private void findRemoteMethods()
|
||||
throws RMICException
|
||||
{
|
||||
List rmeths = new ArrayList();
|
||||
for (Class cur = clazz; cur != null; cur = cur.getSuperclass())
|
||||
List<Method> rmeths = new ArrayList<Method>();
|
||||
for (Class<?> cur = clazz; cur != null; cur = cur.getSuperclass())
|
||||
{
|
||||
Class[] interfaces = cur.getInterfaces();
|
||||
Class<?>[] interfaces = cur.getInterfaces();
|
||||
for (int i = 0; i < interfaces.length; i++)
|
||||
{
|
||||
if (java.rmi.Remote.class.isAssignableFrom(interfaces[i]))
|
||||
{
|
||||
Class remoteInterface = interfaces[i];
|
||||
Class<?> remoteInterface = interfaces[i];
|
||||
if (verbose)
|
||||
System.out.println
|
||||
("[implements " + remoteInterface.getName() + "]");
|
||||
@@ -1684,11 +1674,11 @@ public class ClassRmicCompiler
|
||||
boolean[] skip = new boolean[rmeths.size()];
|
||||
for (int i = 0; i < skip.length; i++)
|
||||
skip[i] = false;
|
||||
List methrefs = new ArrayList();
|
||||
List<MethodRef> methrefs = new ArrayList<MethodRef>();
|
||||
for (int i = 0; i < rmeths.size(); i++)
|
||||
{
|
||||
if (skip[i]) continue;
|
||||
Method current = (Method) rmeths.get(i);
|
||||
Method current = rmeths.get(i);
|
||||
MethodRef ref = new MethodRef(current);
|
||||
for (int j = i+1; j < rmeths.size(); j++)
|
||||
{
|
||||
@@ -1703,7 +1693,7 @@ public class ClassRmicCompiler
|
||||
}
|
||||
|
||||
// Convert into a MethodRef array and sort them
|
||||
remotemethods = (MethodRef[])
|
||||
remotemethods =
|
||||
methrefs.toArray(new MethodRef[methrefs.size()]);
|
||||
Arrays.sort(remotemethods);
|
||||
}
|
||||
@@ -1748,7 +1738,7 @@ public class ClassRmicCompiler
|
||||
{
|
||||
Method meth;
|
||||
long hash;
|
||||
List exceptions;
|
||||
List<Class<?>> exceptions;
|
||||
private String sig;
|
||||
|
||||
MethodRef(Method m) {
|
||||
@@ -1784,12 +1774,12 @@ public class ClassRmicCompiler
|
||||
return true;
|
||||
}
|
||||
|
||||
private static List removeSubclasses(Class[] classes)
|
||||
private static List<Class<?>> removeSubclasses(Class<?>[] classes)
|
||||
{
|
||||
List list = new ArrayList();
|
||||
List<Class<?>> list = new ArrayList<Class<?>>();
|
||||
for (int i = 0; i < classes.length; i++)
|
||||
{
|
||||
Class candidate = classes[i];
|
||||
Class<?> candidate = classes[i];
|
||||
boolean add = true;
|
||||
for (int j = 0; j < classes.length; j++)
|
||||
{
|
||||
@@ -1806,17 +1796,17 @@ public class ClassRmicCompiler
|
||||
|
||||
public void intersectExceptions(Method m)
|
||||
{
|
||||
List incoming = removeSubclasses(m.getExceptionTypes());
|
||||
List<Class<?>> incoming = removeSubclasses(m.getExceptionTypes());
|
||||
|
||||
List updated = new ArrayList();
|
||||
List<Class<?>> updated = new ArrayList<Class<?>>();
|
||||
|
||||
for (int i = 0; i < exceptions.size(); i++)
|
||||
{
|
||||
Class outer = (Class) exceptions.get(i);
|
||||
Class<?> outer = exceptions.get(i);
|
||||
boolean addOuter = false;
|
||||
for (int j = 0; j < incoming.size(); j++)
|
||||
{
|
||||
Class inner = (Class) incoming.get(j);
|
||||
Class<?> inner = incoming.get(j);
|
||||
|
||||
if (inner.equals(outer) || inner.isAssignableFrom(outer))
|
||||
addOuter = true;
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/* Main.java -- RMI stub generator.
|
||||
Copyright (C) 2006 Free Software Foundation, Inc.
|
||||
Copyright (C) 2006, 2012 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GNU Classpath.
|
||||
|
||||
@@ -236,7 +236,7 @@ public class Main
|
||||
System.exit(1);
|
||||
}
|
||||
|
||||
ArrayList backends = new ArrayList();
|
||||
ArrayList<RmicBackend> backends = new ArrayList<RmicBackend>();
|
||||
|
||||
// FIXME: need an IDL RmicBackend
|
||||
// FIXME: need a ClassGiopRmicCompiler RmicBackend
|
||||
@@ -262,7 +262,7 @@ public class Main
|
||||
|
||||
for (int i = 0; i < backends.size(); i++)
|
||||
{
|
||||
RmicBackend b = (RmicBackend) backends.get(i);
|
||||
RmicBackend b = backends.get(i);
|
||||
b.setup(keep, need11Stubs, need12Stubs,
|
||||
iiop, poa, false, warnings,
|
||||
noWrite, verbose, force, classpath,
|
||||
|
||||
@@ -86,7 +86,7 @@ public class RmiMethodGenerator
|
||||
{
|
||||
StringBuilder b = new StringBuilder();
|
||||
|
||||
Class[] args = method.getParameterTypes();
|
||||
Class<?>[] args = method.getParameterTypes();
|
||||
|
||||
for (int i = 0; i < args.length; i++)
|
||||
{
|
||||
@@ -108,7 +108,7 @@ public class RmiMethodGenerator
|
||||
{
|
||||
StringBuilder b = new StringBuilder();
|
||||
|
||||
Class[] args = method.getParameterTypes();
|
||||
Class<?>[] args = method.getParameterTypes();
|
||||
|
||||
for (int i = 0; i < args.length; i++)
|
||||
{
|
||||
@@ -128,7 +128,7 @@ public class RmiMethodGenerator
|
||||
{
|
||||
StringBuilder b = new StringBuilder();
|
||||
|
||||
Class[] args = method.getExceptionTypes();
|
||||
Class<?>[] args = method.getExceptionTypes();
|
||||
|
||||
for (int i = 0; i < args.length; i++)
|
||||
{
|
||||
@@ -184,7 +184,7 @@ public class RmiMethodGenerator
|
||||
public String getStaticMethodDeclarations()
|
||||
{
|
||||
StringBuilder b = new StringBuilder();
|
||||
Class[] args = method.getParameterTypes();
|
||||
Class<?>[] args = method.getParameterTypes();
|
||||
|
||||
for (int i = 0; i < args.length; i++)
|
||||
{
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/* SourceGiopRmicCompiler -- Central GIOP-based RMI stub and tie compiler class.
|
||||
Copyright (C) 2006, 2008 Free Software Foundation
|
||||
Copyright (C) 2006, 2008, 2012 Free Software Foundation
|
||||
|
||||
This file is part of GNU Classpath.
|
||||
|
||||
@@ -50,7 +50,7 @@ import java.util.TreeSet;
|
||||
* @author Audrius Meskauskas, Lithuania (audriusa@Bioinformatics.org)
|
||||
*/
|
||||
public class SourceGiopRmicCompiler
|
||||
extends Generator implements Comparator, RmicBackend
|
||||
extends Generator implements Comparator<AbstractMethodGenerator>, RmicBackend
|
||||
{
|
||||
/** The package name. */
|
||||
protected String packag;
|
||||
@@ -74,17 +74,18 @@ public class SourceGiopRmicCompiler
|
||||
/**
|
||||
* The Remote's, implemented by this class.
|
||||
*/
|
||||
protected Collection implementedRemotes = new HashSet();
|
||||
protected Collection<Class<?>> implementedRemotes = new HashSet<Class<?>>();
|
||||
|
||||
/**
|
||||
* The extra classes that must be imported.
|
||||
*/
|
||||
protected Collection extraImports = new HashSet();
|
||||
protected Collection<String> extraImports = new HashSet<String>();
|
||||
|
||||
/**
|
||||
* The methods we must implement.
|
||||
*/
|
||||
protected Collection methods = new HashSet();
|
||||
protected Collection<AbstractMethodGenerator> methods =
|
||||
new HashSet<AbstractMethodGenerator>();
|
||||
|
||||
/**
|
||||
* The map of all code generator variables.
|
||||
@@ -228,7 +229,7 @@ public class SourceGiopRmicCompiler
|
||||
* @param remote
|
||||
* the class to compile.
|
||||
*/
|
||||
public synchronized void compile(Class remote)
|
||||
public synchronized void compile(Class<?> remote)
|
||||
{
|
||||
reset();
|
||||
String s;
|
||||
@@ -261,7 +262,7 @@ public class SourceGiopRmicCompiler
|
||||
+ implName);
|
||||
|
||||
// Get the implemented remotes.
|
||||
Class[] interfaces = remote.getInterfaces();
|
||||
Class<?>[] interfaces = remote.getInterfaces();
|
||||
|
||||
for (int i = 0; i < interfaces.length; i++)
|
||||
{
|
||||
@@ -277,11 +278,11 @@ public class SourceGiopRmicCompiler
|
||||
vars.put("#idList", getIdList(implementedRemotes));
|
||||
|
||||
// Collect and process methods.
|
||||
Iterator iter = implementedRemotes.iterator();
|
||||
Iterator<Class<?>> iter = implementedRemotes.iterator();
|
||||
|
||||
while (iter.hasNext())
|
||||
{
|
||||
Class c = (Class) iter.next();
|
||||
Class<?> c = iter.next();
|
||||
Method[] m = c.getMethods();
|
||||
|
||||
// Check if throws RemoteException.
|
||||
@@ -374,7 +375,7 @@ public class SourceGiopRmicCompiler
|
||||
* the interface, for that the repository Id must be created.
|
||||
* @return the repository id
|
||||
*/
|
||||
public String getId(Class c)
|
||||
public String getId(Class<?> c)
|
||||
{
|
||||
return "RMI:" + c.getName() + ":0000000000000000";
|
||||
}
|
||||
@@ -386,25 +387,25 @@ public class SourceGiopRmicCompiler
|
||||
* the collection of interfaces
|
||||
* @return the fully formatted string array.
|
||||
*/
|
||||
public String getIdList(Collection remotes)
|
||||
public String getIdList(Collection<Class<?>> remotes)
|
||||
{
|
||||
StringBuilder b = new StringBuilder();
|
||||
|
||||
// Keep the Ids sorted, ensuring, that the same order will be preserved
|
||||
// between compilations.
|
||||
TreeSet sortedIds = new TreeSet();
|
||||
TreeSet<String> sortedIds = new TreeSet<String>();
|
||||
|
||||
Iterator iter = remotes.iterator();
|
||||
Iterator<Class<?>> iter = remotes.iterator();
|
||||
while (iter.hasNext())
|
||||
{
|
||||
sortedIds.add(getId((Class) iter.next()));
|
||||
sortedIds.add(getId(iter.next()));
|
||||
}
|
||||
|
||||
iter = sortedIds.iterator();
|
||||
while (iter.hasNext())
|
||||
Iterator<String> iterIds = sortedIds.iterator();
|
||||
while (iterIds.hasNext())
|
||||
{
|
||||
b.append(" \"" + iter.next() + "\"");
|
||||
if (iter.hasNext())
|
||||
b.append(" \"" + iterIds.next() + "\"");
|
||||
if (iterIds.hasNext())
|
||||
b.append(", \n");
|
||||
}
|
||||
return b.toString();
|
||||
@@ -421,10 +422,10 @@ public class SourceGiopRmicCompiler
|
||||
|
||||
// Generate methods.
|
||||
StringBuilder b = new StringBuilder();
|
||||
Iterator iter = methods.iterator();
|
||||
Iterator<AbstractMethodGenerator> iter = methods.iterator();
|
||||
while (iter.hasNext())
|
||||
{
|
||||
AbstractMethodGenerator m = (AbstractMethodGenerator) iter.next();
|
||||
AbstractMethodGenerator m = iter.next();
|
||||
b.append(m.generateStubMethod());
|
||||
}
|
||||
|
||||
@@ -474,7 +475,7 @@ public class SourceGiopRmicCompiler
|
||||
HashFinder hashFinder = new HashFinder();
|
||||
|
||||
// Find the hash character position:
|
||||
Iterator iter = methods.iterator();
|
||||
Iterator<AbstractMethodGenerator> iter = methods.iterator();
|
||||
String[] names = new String[methods.size()];
|
||||
int p = 0;
|
||||
|
||||
@@ -489,7 +490,8 @@ public class SourceGiopRmicCompiler
|
||||
|
||||
vars.put("#hashCharPos", Integer.toString(hashCharPosition));
|
||||
|
||||
ArrayList sortedMethods = new ArrayList(methods);
|
||||
ArrayList<AbstractMethodGenerator> sortedMethods =
|
||||
new ArrayList<AbstractMethodGenerator>(methods);
|
||||
Collections.sort(sortedMethods, this);
|
||||
|
||||
iter = sortedMethods.iterator();
|
||||
@@ -515,10 +517,10 @@ public class SourceGiopRmicCompiler
|
||||
return output;
|
||||
}
|
||||
|
||||
public int compare(Object a, Object b)
|
||||
public int compare(AbstractMethodGenerator ag1, AbstractMethodGenerator ag2)
|
||||
{
|
||||
MethodGenerator g1 = (MethodGenerator) a;
|
||||
MethodGenerator g2 = (MethodGenerator) b;
|
||||
MethodGenerator g1 = (MethodGenerator) ag1;
|
||||
MethodGenerator g2 = (MethodGenerator) ag2;
|
||||
|
||||
return g1.getHashChar() - g2.getHashChar();
|
||||
}
|
||||
@@ -530,12 +532,12 @@ public class SourceGiopRmicCompiler
|
||||
*/
|
||||
protected String getImportStatements()
|
||||
{
|
||||
TreeSet imp = new TreeSet();
|
||||
TreeSet<String> imp = new TreeSet<String>();
|
||||
|
||||
Iterator it = extraImports.iterator();
|
||||
Iterator<String> it = extraImports.iterator();
|
||||
while (it.hasNext())
|
||||
{
|
||||
String ic = it.next().toString();
|
||||
String ic = it.next();
|
||||
imp.add("import " + ic + ";\n");
|
||||
}
|
||||
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
/* Variables.java --
|
||||
Copyright (c) 2004, 2005
|
||||
Free Software Foundation, Inc.
|
||||
Copyright (c) 2004, 2005, 2012 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GNU Classpath.
|
||||
|
||||
@@ -44,10 +43,10 @@ import java.util.Iterator;
|
||||
|
||||
class Variables
|
||||
{
|
||||
private final HashSet free = new HashSet();
|
||||
private final HashMap names = new HashMap();
|
||||
private final HashSet wides = new HashSet();
|
||||
private final HashSet declared = new HashSet();
|
||||
private final HashSet<Integer> free = new HashSet<Integer>();
|
||||
private final HashMap<Object,Integer> names = new HashMap<Object,Integer>();
|
||||
private final HashSet<Object> wides = new HashSet<Object>();
|
||||
private final HashSet<Object> declared = new HashSet<Object>();
|
||||
private boolean allocated = false;
|
||||
|
||||
public void declare(Object name)
|
||||
@@ -77,7 +76,7 @@ class Variables
|
||||
{
|
||||
// total allocation size is first unallocated slot
|
||||
int i = free.size() + names.size() + wides.size();
|
||||
names.put(name, new Integer(i));
|
||||
names.put(name, Integer.valueOf(i));
|
||||
if (size == 2) wides.add(name);
|
||||
return i;
|
||||
}
|
||||
@@ -103,10 +102,10 @@ class Variables
|
||||
if (size == 2)
|
||||
{
|
||||
// look for consecutive free slots
|
||||
for (Iterator it = free.iterator(); it.hasNext(); )
|
||||
for (Iterator<Integer> it = free.iterator(); it.hasNext(); )
|
||||
{
|
||||
Integer i = (Integer) it.next();
|
||||
Integer next = new Integer(i.intValue() + 1);
|
||||
Integer i = it.next();
|
||||
Integer next = Integer.valueOf(i.intValue() + 1);
|
||||
if (free.contains(next))
|
||||
{
|
||||
free.remove(i);
|
||||
@@ -119,7 +118,7 @@ class Variables
|
||||
}
|
||||
else if (free.size() > 0)
|
||||
{
|
||||
Integer i = (Integer) free.iterator().next();
|
||||
Integer i = free.iterator().next();
|
||||
free.remove(i);
|
||||
names.put(name, i);
|
||||
return i.intValue();
|
||||
@@ -136,11 +135,11 @@ class Variables
|
||||
if (declared.contains(name))
|
||||
throw new IllegalStateException(name + " can't be deallocated");
|
||||
|
||||
Integer i = (Integer) names.get(name);
|
||||
Integer i = names.get(name);
|
||||
names.remove(name);
|
||||
free.add(i);
|
||||
if (wides.remove(name))
|
||||
free.add(new Integer(i.intValue() + 1));
|
||||
free.add(Integer.valueOf(i.intValue() + 1));
|
||||
return i.intValue();
|
||||
}
|
||||
|
||||
@@ -149,6 +148,6 @@ class Variables
|
||||
if (! names.containsKey(name))
|
||||
throw new IllegalArgumentException("no variable " + name);
|
||||
|
||||
return ((Integer) names.get(name)).intValue();
|
||||
return names.get(name).intValue();
|
||||
}
|
||||
}
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user