*** empty log message ***
diff --git a/org.eclipse.jdt.core/model/org/eclipse/jdt/core/jdom/DOMException.java b/org.eclipse.jdt.core/model/org/eclipse/jdt/core/jdom/DOMException.java
index 9a382d1..7d18370 100644
--- a/org.eclipse.jdt.core/model/org/eclipse/jdt/core/jdom/DOMException.java
+++ b/org.eclipse.jdt.core/model/org/eclipse/jdt/core/jdom/DOMException.java
@@ -1,5 +1,16 @@
package org.eclipse.jdt.core.jdom;
+/*
+ * (c) Copyright IBM Corp. 2000, 2001.
+ * All Rights Reserved.
+ */
+import org.eclipse.jdt.internal.core.*;
+/**
+ * Unchecked exception thrown when an illegal manipulation of the JDOM is
+ * performed, or when an attempt is made to access/set an attribute of a
+ * JDOM node that source indexes cannot be determined for (in case the source
+ * was syntactically incorrect).
+ */
public class DOMException extends RuntimeException {
/**
* Creates a new exception with no detail message.
diff --git a/org.eclipse.jdt.core/model/org/eclipse/jdt/core/jdom/IDOMCompilationUnit.java b/org.eclipse.jdt.core/model/org/eclipse/jdt/core/jdom/IDOMCompilationUnit.java
index e9702c1..83a6eac 100644
--- a/org.eclipse.jdt.core/model/org/eclipse/jdt/core/jdom/IDOMCompilationUnit.java
+++ b/org.eclipse.jdt.core/model/org/eclipse/jdt/core/jdom/IDOMCompilationUnit.java
@@ -1,5 +1,19 @@
package org.eclipse.jdt.core.jdom;
+/*
+ * (c) Copyright IBM Corp. 2000, 2001.
+ * All Rights Reserved.
+ */
+import org.eclipse.jdt.internal.core.*;
+/**
+ * Represents a Java compilation unit (<code>.java</code> source file).
+ * The corresponding syntactic unit is CompilationUnit (JLS2 7.3).
+ * Allowable child types for a compilation unit are <code>IDOMPackage</code>, <code>IDOMImport</code>,
+ * and <code>IDOMType</code>.
+ * <p>
+ * This interface is not intended to be implemented by clients.
+ * </p>
+ */
public interface IDOMCompilationUnit extends IDOMNode {
/**
* Returns the header comment for this compilation unit. The header comment
diff --git a/org.eclipse.jdt.core/model/org/eclipse/jdt/core/jdom/IDOMFactory.java b/org.eclipse.jdt.core/model/org/eclipse/jdt/core/jdom/IDOMFactory.java
index 878df04..9a5669a 100644
--- a/org.eclipse.jdt.core/model/org/eclipse/jdt/core/jdom/IDOMFactory.java
+++ b/org.eclipse.jdt.core/model/org/eclipse/jdt/core/jdom/IDOMFactory.java
@@ -1,5 +1,48 @@
package org.eclipse.jdt.core.jdom;
+/*
+ * (c) Copyright IBM Corp. 2000, 2001.
+ * All Rights Reserved.
+ */
+import org.eclipse.jdt.internal.core.*;
+/**
+ * A factory used to create document fragment (DF) nodes. An
+ * <code>IDOMCompilationUnit</code> represents the root of a complete JDOM (that
+ * is, a ".java" file). Other node types represent fragments of a compilation
+ * unit.
+ * <p>
+ * The factory can be used to create empty DFs or it can create DFs from source
+ * strings. All DFs created empty are assigned default values as required, such
+ * that a call to <code>IDOMNode.getContents</code> will generate a valid source
+ * string. See individual <code>create</code> methods for details on the default
+ * values supplied. The factory does its best to recognize Java structures in
+ * the source provided. If the factory is completely unable to recognize source
+ * constructs, the factory method returns <code>null</code>.
+ * </p>
+ * <p>
+ * Even if a DF is created successfully from source code, it does not guarantee
+ * that the source code will compile error free. Similary, the contents of a DF
+ * are not guaranteed to compile error free. However, syntactically correct
+ * source code is guaranteed to be recognized and successfully generate a DF.
+ * Similarly, if all of the fragments of a JDOM are syntactically correct, the
+ * contents of the entire document will be correct too.
+ * </p>
+ * <p>
+ * The factory does not perform or provide any code formatting. Document
+ * fragments created on source strings must be pre-formatted. The JDOM attempts
+ * to maintain the formatting of documents as best as possible. For this reason,
+ * document fragments created for nodes that are to be strung together should
+ * end with a new-line character. Failing to do so will result in a document
+ * that has elements strung together on the same line. This is especially
+ * important if a source string ends with a // comment. In this case, it would
+ * be syntactically incorrect to omit the new line character.
+ * </p>
+ * <p>
+ * This interface is not intended to be implemented by clients.
+ * </p>
+ *
+ * @see IDOMNode
+ */
public interface IDOMFactory {
/**
* Creates and return an empty JDOM. The initial content is an empty string.
diff --git a/org.eclipse.jdt.core/model/org/eclipse/jdt/core/jdom/IDOMField.java b/org.eclipse.jdt.core/model/org/eclipse/jdt/core/jdom/IDOMField.java
index c623cfc..9799b73 100644
--- a/org.eclipse.jdt.core/model/org/eclipse/jdt/core/jdom/IDOMField.java
+++ b/org.eclipse.jdt.core/model/org/eclipse/jdt/core/jdom/IDOMField.java
@@ -1,5 +1,19 @@
package org.eclipse.jdt.core.jdom;
+/*
+ * (c) Copyright IBM Corp. 2000, 2001.
+ * All Rights Reserved.
+ */
+import org.eclipse.jdt.internal.core.*;
+/**
+ * Represents a field declaration. The corresponding
+ * syntactic units are FieldDeclaration (JLS2 8.3) and ConstantDeclaration
+ * (JLS2 9.3) restricted to a single VariableDeclarator clause.
+ * A field has no children. The parent of a field is a type.
+ * <p>
+ * This interface is not intended to be implemented by clients.
+ * </p>
+ */
public interface IDOMField extends IDOMMember {
/**
* Returns the initializer expression for this field.
diff --git a/org.eclipse.jdt.core/model/org/eclipse/jdt/core/jdom/IDOMImport.java b/org.eclipse.jdt.core/model/org/eclipse/jdt/core/jdom/IDOMImport.java
index fc56e6a..c7596dd 100644
--- a/org.eclipse.jdt.core/model/org/eclipse/jdt/core/jdom/IDOMImport.java
+++ b/org.eclipse.jdt.core/model/org/eclipse/jdt/core/jdom/IDOMImport.java
@@ -1,5 +1,18 @@
package org.eclipse.jdt.core.jdom;
+/*
+ * (c) Copyright IBM Corp. 2000, 2001.
+ * All Rights Reserved.
+ */
+import org.eclipse.jdt.internal.core.*;
+/**
+ * Represents an import declaration.
+ * The corresponding syntactic unit is ImportDeclaration (JLS2 7.5).
+ * An import has no children and its parent is a compilation unit.
+ * <p>
+ * This interface is not intended to be implemented by clients.
+ * </p>
+ */
public interface IDOMImport extends IDOMNode {
/**
* The <code>IDOMImport</code> refinement of this <code>IDOMNode</code>
diff --git a/org.eclipse.jdt.core/model/org/eclipse/jdt/core/jdom/IDOMInitializer.java b/org.eclipse.jdt.core/model/org/eclipse/jdt/core/jdom/IDOMInitializer.java
index a8f82f4..beb3c51 100644
--- a/org.eclipse.jdt.core/model/org/eclipse/jdt/core/jdom/IDOMInitializer.java
+++ b/org.eclipse.jdt.core/model/org/eclipse/jdt/core/jdom/IDOMInitializer.java
@@ -1,5 +1,18 @@
package org.eclipse.jdt.core.jdom;
+/*
+ * (c) Copyright IBM Corp. 2000, 2001.
+ * All Rights Reserved.
+ */
+import org.eclipse.jdt.internal.core.*;
+/**
+ * Represents an initializer. The corresponding syntactic
+ * units are InstanceInitializer (JLS2 8.6) and StaticDeclaration (JLS2 8.7).
+ * An initializer has no children and its parent is a type.
+ * <p>
+ * This interface is not intended to be implemented by clients.
+ * </p>
+ */
public interface IDOMInitializer extends IDOMMember {
/**
* Returns the body of this initializer. The syntax for a body corresponds to
diff --git a/org.eclipse.jdt.core/model/org/eclipse/jdt/core/jdom/IDOMMember.java b/org.eclipse.jdt.core/model/org/eclipse/jdt/core/jdom/IDOMMember.java
index 6cb9542..916b1a2 100644
--- a/org.eclipse.jdt.core/model/org/eclipse/jdt/core/jdom/IDOMMember.java
+++ b/org.eclipse.jdt.core/model/org/eclipse/jdt/core/jdom/IDOMMember.java
@@ -1,5 +1,22 @@
package org.eclipse.jdt.core.jdom;
+/*
+ * (c) Copyright IBM Corp. 2000, 2001.
+ * All Rights Reserved.
+ */
+import org.eclipse.jdt.internal.core.*;
+/**
+ * An <code>IDOMMember</code> defines functionality common to nodes which
+ * can be members of types.
+ * <p>
+ * This interface is not intended to be implemented by clients.
+ * </p>
+ *
+ * @see IDOMType
+ * @see IDOMMethod
+ * @see IDOMField
+ * @see IDOMInitializer
+ */
public interface IDOMMember extends IDOMNode {
/**
* Returns the comment associated with this member (including comment delimiters).
diff --git a/org.eclipse.jdt.core/model/org/eclipse/jdt/core/jdom/IDOMMethod.java b/org.eclipse.jdt.core/model/org/eclipse/jdt/core/jdom/IDOMMethod.java
index a0b53d3..c9b1b14 100644
--- a/org.eclipse.jdt.core/model/org/eclipse/jdt/core/jdom/IDOMMethod.java
+++ b/org.eclipse.jdt.core/model/org/eclipse/jdt/core/jdom/IDOMMethod.java
@@ -1,5 +1,20 @@
package org.eclipse.jdt.core.jdom;
+/*
+ * (c) Copyright IBM Corp. 2000, 2001.
+ * All Rights Reserved.
+ */
+import org.eclipse.jdt.internal.core.*;
+/**
+ * Represents a method declaration.
+ * The corresponding syntactic units are MethodDeclaration (JLS2 8.4),
+ * ConstructorDeclaration (JLS2 8.8), and AbstractMethodDeclaration (JLS2 9.4).
+ * A method has no children and its parent is a type.
+ * Local classes are considered to be part of the body of a method, not a child.
+ * <p>
+ * This interface is not intended to be implemented by clients.
+ * </p>
+ */
public interface IDOMMethod extends IDOMMember {
/**
* Adds the given exception to the end of the list of exceptions this method
diff --git a/org.eclipse.jdt.core/model/org/eclipse/jdt/core/jdom/IDOMPackage.java b/org.eclipse.jdt.core/model/org/eclipse/jdt/core/jdom/IDOMPackage.java
index 5231e29..861cb91 100644
--- a/org.eclipse.jdt.core/model/org/eclipse/jdt/core/jdom/IDOMPackage.java
+++ b/org.eclipse.jdt.core/model/org/eclipse/jdt/core/jdom/IDOMPackage.java
@@ -1,5 +1,18 @@
package org.eclipse.jdt.core.jdom;
+/*
+ * (c) Copyright IBM Corp. 2000, 2001.
+ * All Rights Reserved.
+ */
+import org.eclipse.jdt.internal.core.*;
+/**
+ * Represents a package declaration.
+ * The corresponding syntactic unit is PackageDeclaration (JLS2 7.4).
+ * A Package has no children, and its parent is a compilation unit.
+ * <p>
+ * This interface is not intended to be implemented by clients.
+ * </p>
+ */
public interface IDOMPackage extends IDOMNode {
/**
* The <code>IDOMPackage</code> refinement of this <code>IDOMNode</code>
diff --git a/org.eclipse.jdt.core/model/org/eclipse/jdt/core/jdom/IDOMType.java b/org.eclipse.jdt.core/model/org/eclipse/jdt/core/jdom/IDOMType.java
index d5c1c2b..17a5f1a 100644
--- a/org.eclipse.jdt.core/model/org/eclipse/jdt/core/jdom/IDOMType.java
+++ b/org.eclipse.jdt.core/model/org/eclipse/jdt/core/jdom/IDOMType.java
@@ -1,5 +1,23 @@
package org.eclipse.jdt.core.jdom;
+/*
+ * (c) Copyright IBM Corp. 2000, 2001.
+ * All Rights Reserved.
+ */
+import org.eclipse.jdt.internal.core.*;
+/**
+ * Represents a source type in a compilation unit, either as a top-level type or a member type.
+ * The corresponding syntactic units are ClassDeclaration (JLS2 8.1) and InterfaceDeclaration (JLS2 9.1).
+ * <p>
+ * Allowable child types for a type are <code>IDOMType</code>, <code>IDOMField</code>,
+ * <code>IDOMMethod</code>, and <code>IDOMInitializer</code>.
+ * Children are listed in the order in which they appear in the source. The parent of a type
+ * is a type (in the case of a member type) or a compilation unit (in the case of a top-level type).
+ * </p>
+ * <p>
+ * This interface is not intended to be implemented by clients.
+ * </p>
+ */
public interface IDOMType extends IDOMMember {
/**
* Adds the given interface name to the names of interfaces that this type implements or extends
diff --git a/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/FailedReconciliationException.java b/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/FailedReconciliationException.java
index 6f799b4..61eaed2 100644
--- a/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/FailedReconciliationException.java
+++ b/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/FailedReconciliationException.java
@@ -1,4 +1,9 @@
package org.eclipse.jdt.internal.core;
+/*
+ * (c) Copyright IBM Corp. 2000, 2001.
+ * All Rights Reserved.
+ */
+import org.eclipse.jdt.core.*;
public class FailedReconciliationException extends RuntimeException {
/**
diff --git a/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/IJavaReconciler.java b/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/IJavaReconciler.java
index d407ea7..5d5778e 100644
--- a/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/IJavaReconciler.java
+++ b/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/IJavaReconciler.java
@@ -1,5 +1,22 @@
package org.eclipse.jdt.internal.core;
+/*
+ * (c) Copyright IBM Corp. 2000, 2001.
+ * All Rights Reserved.
+ */
+import org.eclipse.jdt.core.*;
+/**
+ * An <code>IJavaReconciler</code> is used to incrementally update
+ * the structure of a working copy compilation unit as edits take
+ * place in its buffer. As each contiguous edit is performed on the
+ * buffer, calls are made to the reconciler which will update the
+ * internal structure of the working copy (i.e. add/remove elements),
+ * and report structural changes as <code>IJavaElementDelta</code>s.
+ * <p>
+ * Deltas are distributed via the <code>IElementChangedListener</code>
+ * mechanism. Interested listeners must register with the
+ * <code>IJavaModelManager</code>.
+ */
public interface IJavaReconciler {
/**
* Reconciles a deletion of contiguous text.
diff --git a/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/IPathRequestor.java b/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/IPathRequestor.java
index 90e7c7a..7f2a20e 100644
--- a/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/IPathRequestor.java
+++ b/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/IPathRequestor.java
@@ -1,4 +1,9 @@
package org.eclipse.jdt.internal.core;
+/*
+ * (c) Copyright IBM Corp. 2000, 2001.
+ * All Rights Reserved.
+ */
+import org.eclipse.jdt.core.*;
public interface IPathRequestor {
void acceptPath(String path);
diff --git a/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/builder/BuildEvent.java b/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/builder/BuildEvent.java
index 87c981d..54b687e 100644
--- a/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/builder/BuildEvent.java
+++ b/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/builder/BuildEvent.java
@@ -1,5 +1,13 @@
package org.eclipse.jdt.internal.core.builder;
+/*
+ * (c) Copyright IBM Corp. 2000, 2001.
+ * All Rights Reserved.
+ */
+import org.eclipse.jdt.core.*;
+/**
+ * A BuildEvent encapsulates information passed to an IBuildListener.
+ */
public class BuildEvent {
protected ISourceFragment fSourceFragment;
protected int fNewErrorCount;
diff --git a/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/builder/IBuildMonitor.java b/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/builder/IBuildMonitor.java
index 652126f..b79e3d6 100644
--- a/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/builder/IBuildMonitor.java
+++ b/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/builder/IBuildMonitor.java
@@ -1,5 +1,15 @@
package org.eclipse.jdt.internal.core.builder;
+/*
+ * (c) Copyright IBM Corp. 2000, 2001.
+ * All Rights Reserved.
+ */
+import org.eclipse.jdt.core.*;
+/**
+ * A build monitor tracks what compilation units have been compiled during a
+ * given build. This allows test suites to evaluate the efficiency of incremental
+ * compilation.
+ */
public interface IBuildMonitor {
/**
* Signals that a new build has begun
diff --git a/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/builder/IConstructor.java b/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/builder/IConstructor.java
index 341de55..04abc2d 100644
--- a/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/builder/IConstructor.java
+++ b/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/builder/IConstructor.java
@@ -1,5 +1,25 @@
package org.eclipse.jdt.internal.core.builder;
+/*
+ * (c) Copyright IBM Corp. 2000, 2001.
+ * All Rights Reserved.
+ */
+import org.eclipse.jdt.core.*;
+/**
+ * Constructor provides information about a single
+ * constructor for a class.
+ *
+ * Changes from java.lang and java.lang.reflect:
+ * <ul>
+ * <li>toString() changed to be a handle-only method;
+ * it ignores the modifiers and exceptions.</li>
+ * </ul>
+ *
+ * @see IMember
+ * @see IType
+ * @see IType#getConstructorHandle
+ * @see IType#getDeclaredConstructors
+ */
public interface IConstructor extends IMember {
@@ -17,7 +37,7 @@
/**
* Returns an array of Type objects that represent the types of
* the checked exceptions thrown by the underlying constructor
- * represented by this Constructor object.
+ * represented by this Constructor object.
* Unchecked exceptions are not included in the result, even if
* they are declared in the source.
* Returns an array of length 0 if the constructor throws no checked
@@ -30,7 +50,7 @@
/**
* Returns an array of Type objects that represent the formal
* parameter types, in declaration order, of the constructor
- * represented by this Constructor object.
+ * represented by this Constructor object.
* Returns an array of length 0 if the underlying constructor
* takes no parameters.
* This is a handle-only method.
@@ -56,7 +76,7 @@
* followed by a parenthesized, comma-separated list of the
* constructor's formal parameter types. For example:
* <pre>
- * java.util.Hashtable(int,float)
+ * java.util.Hashtable(int,float)
* </pre>
*
* @see IHandle#toString
diff --git a/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/builder/IDeltaKey.java b/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/builder/IDeltaKey.java
index 8118823..a8543cd 100644
--- a/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/builder/IDeltaKey.java
+++ b/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/builder/IDeltaKey.java
@@ -1,4 +1,9 @@
package org.eclipse.jdt.internal.core.builder;
+/*
+ * (c) Copyright IBM Corp. 2000, 2001.
+ * All Rights Reserved.
+ */
+import org.eclipse.jdt.core.*;
public interface IDeltaKey {
/**
@@ -29,16 +34,16 @@
* Returns the key describing the receiver's parent, or null if the receiver
* is the root key.
*/
- DeltaKey parent();
+ DeltaKey parent();
/**
* Returns a new key containing the first few local names in the
* receiver.
*
* @param count
- * number of local names to copy (length of prefix)
+ * number of local names to copy (length of prefix)
* @exception IllegalArgumentException
- * receiver contains fewer than count local names, or count is
- * negative."
+ * receiver contains fewer than count local names, or count is
+ * negative."
*/
DeltaKey prefix (int count);
/**
@@ -50,10 +55,10 @@
* names in the receiver.
*
* @param count
- * number of local names in the key to leave out (length of prefix to cut)
+ * number of local names in the key to leave out (length of prefix to cut)
* @exception IllegalArgumentException
- * receiver contains fewer than count local names, or count is
- * negative.
+ * receiver contains fewer than count local names, or count is
+ * negative.
*/
DeltaKey withoutPrefix (int count);
}
diff --git a/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/builder/IDependencyGraph.java b/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/builder/IDependencyGraph.java
index acf201b..002e5b6 100644
--- a/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/builder/IDependencyGraph.java
+++ b/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/builder/IDependencyGraph.java
@@ -1,5 +1,14 @@
package org.eclipse.jdt.internal.core.builder;
+/*
+ * (c) Copyright IBM Corp. 2000, 2001.
+ * All Rights Reserved.
+ */
+import org.eclipse.jdt.core.*;
+/**
+ * The dependency graph describes the dependencies between elements in a given state.
+ * It is navigated using non-state-specific class or interface handles.
+ */
public interface IDependencyGraph {
/**
* Returns the namespaces on which the given type depends.
diff --git a/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/builder/IField.java b/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/builder/IField.java
index 763e943..e4c8401 100644
--- a/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/builder/IField.java
+++ b/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/builder/IField.java
@@ -1,5 +1,28 @@
package org.eclipse.jdt.internal.core.builder;
+/*
+ * (c) Copyright IBM Corp. 2000, 2001.
+ * All Rights Reserved.
+ */
+import org.eclipse.jdt.core.*;
+/**
+ * A Field provides information about a
+ * single field of a class or an interface. The field may
+ * be a class (static) field or an instance field.
+ *
+ * Changes from java.lang and java.lang.reflect:
+ * <ul>
+ * <li>equals(Object) changed to ignore field type
+ * (field type is not an identity criterion for field handles).</li>
+ * <li>toString() changed to be a handle-only method;
+ * it ignores the modifiers and field type.</li>
+ * </ul>
+ *
+ * @see IMember
+ * @see IType
+ * @see IType#getFieldHandle
+ * @see IType#getDeclaredFields
+ */
public interface IField extends IMember {
@@ -38,8 +61,8 @@
* followed by a period, followed by the name of the field.
* For example:
* <pre>
- * java.lang.Thread.MIN_PRIORITY
- * java.io.FileDescriptor.fd
+ * java.lang.Thread.MIN_PRIORITY
+ * java.io.FileDescriptor.fd
* </pre>
*
* @see IHandle#toString
diff --git a/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/builder/IHandle.java b/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/builder/IHandle.java
index a341e51..a4233f5 100644
--- a/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/builder/IHandle.java
+++ b/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/builder/IHandle.java
@@ -1,5 +1,95 @@
package org.eclipse.jdt.internal.core.builder;
+/*
+ * (c) Copyright IBM Corp. 2000, 2001.
+ * All Rights Reserved.
+ */
+import org.eclipse.jdt.core.*;
+/**
+ * The <code>IHandle</code> defines messages common to objects
+ * in the image (for Java, these would be things such as packages, types,
+ * methods, and fields).
+ * Each one of these has an identifying handle, which represents the object.
+ * There can only be at most one such object in the image.
+ * <p>
+ * Handles come in two flavours: state-specific, and non-state-specific.
+ * A state-specific handle is tied to a specific state and refers to an
+ * object in that state. The state of a state-specific handle cannot
+ * be changed.
+ * A non-state-specific handle is not tied to a specific state and refers
+ * to an object in whichever state is the current state of the development context.
+ * The current state may change, in which case all non-state-specific handles
+ * now refer to the object in the new current state.
+ * Normally a client is dealing with non state-specific handles, occasionally with
+ * state-specific handles, and very rarely with a combination of the two.
+ * <p>
+ * It is possible for the object refered to by a handle to be
+ * missing from the image (e.g. a class which was deleted).
+ * The isPresent() method can be used to determine whether the object
+ * is present in a state of the development context or not.
+ * For state-specific handles, isPresent() returns true if and only if the
+ * object is present in the state the handle is tied to.
+ * For non-state-specific handles, isPresent() returns true if and only if
+ * the object is present in the current state of the DC.
+ * <p>
+ * Certain methods on handles require that the object it represents be present
+ * (these are called 'non-handle-only methods'), whereas others operate only on
+ * the handles themselves and will work correctly whether or not the object
+ * is present (these are called 'handle-only methods').
+ * If a non-handle-only method is invoked on a handle whose object is not present,
+ * a <code>NotPresentException</code> is thrown (except for the isPresent() method).
+ * <p>
+ * The development context tries to ensure that any objects obtained by navigating
+ * from a present object are also present. For example, in Java, the classes
+ * returned by Package.getAllClasses() will all be present.
+ * For cases where an object referenced in the source is not present in the image,
+ * the image builder either creates a <em>fictional</em> object to take its place or makes
+ * it appear as if the reference never existed.
+ * These fictional objects are considered to be present (although it is not generally
+ * true that if an object is fictional then it is present).
+ * For example, if a class B subclasses a class A, and B is present in the image
+ * but A is not, then the image builder could invent a fictional class A. So the
+ * navigation B.getSuperclass() would result in an object that is present.
+ * For this reason, NotPresentException is an unchecked RuntimeException, to allow
+ * clients to operate under the assumption that all reachable objects are present.
+ * Special care must be taken when creating handles
+ * (i.e. <code>Package.getClassHandle(String)</type), since the objects
+ * referred to may not be present. Other methods where this assumption does not
+ * hold are explicitly marked (e.g. <code>Package.getReferencedPackages()</code>).
+ * <p>
+ * The following table defines the identity criteria for the principle kinds
+ * of Java handles. For two handles to be considered the same, they must satisfy
+ * these criteria. In addition, the handles must either both be non-state-specific,
+ * or both be state-specific on the same state.
+ * <p>
+ * <dl>
+ * <b><dt>Kind of handle</dt> <dd>Identity criteria</dd></b>
+ * <dt>Image</dt> <dd>Same development context.</dd>
+ * <dt>Package</dt> <dd>Same development context, same package name.</dd>
+ * <dt>Type</dt>
+ * <dd>Same development context.
+ * For classes and interfaces, same type name (same fully qualified name,
+ * excluding package name) and same containing package.
+ * For array types, same component type.
+ * For primitive types, same primitive type name.</dd>
+ * <dt>Field</dt> <dd>Same development context, same declaring type, same field name.</dd>
+ * <dt>Method</dt>
+ * <dd>Same development context, same declaring type, same method name,
+ * same argument types.</dd>
+ * <dt>Constructor</dt>
+ * <dd>Same development context, same declaring type, same argument types.</dd>
+ * </dl>
+ *
+ * @see IImage
+ * @see IPackage
+ * @see IType
+ * @see IField
+ * @see IMethod
+ * @see IConstructor
+ * @see INotPresentException
+ *
+ * @see #equals
+ */
public interface IHandle
{
int K_JAVA_IMAGE = 1;
@@ -47,7 +137,7 @@
/**
* Returns a state-specific object which refers to the same object
* as this object, but restricted to the given state. This object
- * must be non-state-specific.
+ * must be non-state-specific.
* It is an error to invoke this on a state-specific object.
* This is a handle-only method; the object may or may not be present
* in the given state.
@@ -99,7 +189,7 @@
*/
IHandle nonStateSpecific() throws StateSpecificException;
/**
- * Return a string describing this handle.
+ * Return a string describing this handle.
* This is a handle-only method.
* Extending interfaces provide more details.
*
diff --git a/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/builder/IImageBuilder.java b/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/builder/IImageBuilder.java
index 6192f06..ffe56bc 100644
--- a/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/builder/IImageBuilder.java
+++ b/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/builder/IImageBuilder.java
@@ -1,5 +1,17 @@
package org.eclipse.jdt.internal.core.builder;
+/*
+ * (c) Copyright IBM Corp. 2000, 2001.
+ * All Rights Reserved.
+ */
+import org.eclipse.jdt.core.*;
+/**
+ * An ImageBuilder represents the process of building
+ * a state. It can be queried for the State being built.
+ * If the state is being built incrementally as a change to
+ * a previous state, this object can be queried for the
+ * image delta between the old state and the new state.
+ */
public interface IImageBuilder
{
@@ -33,12 +45,12 @@
IState getOldState();
/**
* Return a string of the form:
- * batch image builder for:
- * new state: this.data.newstate
+ * batch image builder for:
+ * new state: this.data.newstate
* OR
- * incremental image builder for:
- * new state: this.data.newstate
- * old state: this.data.oldstate
+ * incremental image builder for:
+ * new state: this.data.newstate
+ * old state: this.data.oldstate
* Obviously, which string gets returned depends
* on the type of image builder.
* The string returned is only for debugging purposes,
diff --git a/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/builder/IImageContext.java b/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/builder/IImageContext.java
index 90deeba..9324d64 100644
--- a/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/builder/IImageContext.java
+++ b/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/builder/IImageContext.java
@@ -1,5 +1,27 @@
package org.eclipse.jdt.internal.core.builder;
+/*
+ * (c) Copyright IBM Corp. 2000, 2001.
+ * All Rights Reserved.
+ */
+import org.eclipse.jdt.core.*;
+/**
+ * The <code>IImageContext</code> represents a subset of
+ * a Java image. ImageContext objects are used in queries, such as
+ * getSubclasses(), which require more context than just the local
+ * definition of a class. This is to allow the Image to contain
+ * a very large (conceptually infinite) number of packages, without
+ * forcing them all to be considered when performing such non-local
+ * queries.
+ *
+ * <p>For now, an ImageContext is defined as a set of non-state-specific packages.
+ * The ImageContext itself is conceptually non-state-specific.
+ *
+ * @see IImage#createImageContext
+ * @see IImage#getPackages
+ * @see IImage#getAllClasses
+ * @see IType#getSubclasses
+ */
public interface IImageContext
{
@@ -16,12 +38,12 @@
IPackage[] getPackages();
/**
* Return a string of the form:
- * image context with packages:
- * this.data.package[0]
- * this.data.package[1]
- * ...
- * this.data.package[n-1]
- *
+ * image context with packages:
+ * this.data.package[0]
+ * this.data.package[1]
+ * ...
+ * this.data.package[n-1]
+ *
* The string returned is only for debugging purposes,
* and the contents of the string may change in the future.
* @return java.lang.String
diff --git a/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/builder/IMember.java b/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/builder/IMember.java
index 39401fe..41d9055 100644
--- a/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/builder/IMember.java
+++ b/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/builder/IMember.java
@@ -1,5 +1,19 @@
package org.eclipse.jdt.internal.core.builder;
+/*
+ * (c) Copyright IBM Corp. 2000, 2001.
+ * All Rights Reserved.
+ */
+import org.eclipse.jdt.core.*;
+/**
+ * Member is a mixin interface that represents identifying information about
+ * a single member (a field or method), a constructor, or a nested class.
+ *
+ * @see IType
+ * @see IField
+ * @see IMethod
+ * @see IConstructor
+ */
public interface IMember extends IHandle {
@@ -34,8 +48,8 @@
* A binary member is one for which the declaring class is in
* .class file format in the workspace.
*
- * @return <code>true</code> if this object represents a binary member;
- * <code>false</code> otherwise.
+ * @return <code>true</code> if this object represents a binary member;
+ * <code>false</code> otherwise.
* @exception NotPresentException if this type is not present.
*/
boolean isBinary() throws NotPresentException;
@@ -45,8 +59,8 @@
* A deprecated object is one that has a 'deprecated' tag in
* its doc comment.
*
- * @return <code>true</code> if this object represents a deprecated member;
- * <code>false</code> otherwise.
+ * @return <code>true</code> if this object represents a deprecated member;
+ * <code>false</code> otherwise.
* @exception NotPresentException if this type is not present.
*/
boolean isDeprecated() throws NotPresentException;
diff --git a/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/builder/IMethod.java b/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/builder/IMethod.java
index 2de8e6e..b6eeafe 100644
--- a/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/builder/IMethod.java
+++ b/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/builder/IMethod.java
@@ -1,5 +1,26 @@
package org.eclipse.jdt.internal.core.builder;
+/*
+ * (c) Copyright IBM Corp. 2000, 2001.
+ * All Rights Reserved.
+ */
+import org.eclipse.jdt.core.*;
+/**
+ * A Method provides information about a single method
+ * on a class or interface. The method may be a class method
+ * or an instance method (including an abstract method).
+ *
+ * Changes from java.lang and java.lang.reflect:
+ * <ul>
+ * <li>toString() changed to be a handle-only method;
+ * it ignores the modifiers, return type, and exceptions.</li>
+ * </ul>
+ *
+ * @see IMember
+ * @see IType
+ * @see IType#getMethodHandle
+ * @see IType#getDeclaredMethods()
+ */
public interface IMethod extends IMember {
@@ -58,7 +79,7 @@
*/
boolean isPresent();
/**
- * Returns a string describing this Method handle. The string is
+ * Returns a string describing this Method handle. The string is
* formatted as the fully qualified name of the declaring class,
* followed by a period, followed by the method name,
* followed by a parenthesized, comma-separated list of the method's
diff --git a/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/builder/IPackage.java b/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/builder/IPackage.java
index 6b98250..3cfc9d3 100644
--- a/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/builder/IPackage.java
+++ b/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/builder/IPackage.java
@@ -1,5 +1,13 @@
package org.eclipse.jdt.internal.core.builder;
+/*
+ * (c) Copyright IBM Corp. 2000, 2001.
+ * All Rights Reserved.
+ */
+import org.eclipse.jdt.core.*;
+/**
+ * The <code>IPackage</code> represents a package.
+ */
public interface IPackage extends IHandle {
@@ -58,8 +66,8 @@
* string of this unnamed packaged.
* This is a handle-only method.
*
- * @return the fully qualified name of the package
- * represented by this object.
+ * @return the fully qualified name of the package
+ * represented by this object.
*/
String getName();
/**
@@ -88,7 +96,7 @@
*
* @exception NotPresentException if this package is not present.
*/
- IPackage[] getReferencedPackages() throws NotPresentException;
+ IPackage[] getReferencedPackages() throws NotPresentException;
/**
* Returns an array of Package objects representing all packages
* in the given image context which directly reference this package.
diff --git a/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/builder/IProblemDetail.java b/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/builder/IProblemDetail.java
index fd1d212..e87937f 100644
--- a/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/builder/IProblemDetail.java
+++ b/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/builder/IProblemDetail.java
@@ -1,5 +1,16 @@
package org.eclipse.jdt.internal.core.builder;
+/*
+ * (c) Copyright IBM Corp. 2000, 2001.
+ * All Rights Reserved.
+ */
+import org.eclipse.jdt.core.*;
+/**
+ * <code>IProblemDetail</code> provides details about a problem
+ * with the image.
+ *
+ * @see IState#getReportCard(IImageContext)
+ */
public interface IProblemDetail {
/**
diff --git a/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/builder/ISearch.java b/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/builder/ISearch.java
index 353f64c..68da8e8 100644
--- a/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/builder/ISearch.java
+++ b/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/builder/ISearch.java
@@ -1,5 +1,31 @@
package org.eclipse.jdt.internal.core.builder;
+/*
+ * (c) Copyright IBM Corp. 2000, 2001.
+ * All Rights Reserved.
+ */
+import org.eclipse.jdt.core.*;
+/**
+ * An <code>ISearch</code> represents an image search and its results.
+ * <code>ISearch</code>es are created by <code>ISearchFactory</code> objects.
+ * They can be queried for results and report progress as the search runs. A
+ * search can be stopped before it finishes and can be run again.
+ * <code>ISearch</code> is implemented in a thread safe manner.
+ * <p>
+ * The search is not precise. Instead it provides a best-effort search.
+ * No occurrences of what is being searched for will be missed, and no duplicate
+ * results will be returned. However, the search may occasionally return additional
+ * matches which don't actually relate to what was being searched for.
+ * This will only be an issue when searching for source references. An
+ * example of this would be if a search for references to a field called <code>io</code> was
+ * performed. Any methods which contained a reference to <code>java.io.</code><i>something</i>
+ * would be returned as matches, because in the source, it is unclear whether
+ * <code>io</code> is a field in some class called <code>java</code> or not.
+ * <p>
+ * ISearchFactory shows examples of using ISearch.
+ *
+ * @see ISearchFactory
+ */
public interface ISearch extends Runnable
{
/**
@@ -7,11 +33,11 @@
* from this search. Progress events occur as a search examines the types
* and packages in the search scope. Result events occur as a search finds
* matches to the search criteria.
- * @param listener the search listener
- * @see ISearchListener
- * @see SearchProgressEvent
- * @see SearchResultEvent
- * @see ISearch#removeSearchListener
+ * @param listener the search listener
+ * @see ISearchListener
+ * @see SearchProgressEvent
+ * @see SearchResultEvent
+ * @see ISearch#removeSearchListener
*/
void addSearchListener(ISearchListener listener);
/**
@@ -26,9 +52,9 @@
* <ul>
* <li> neither is equal to null AND
* <li> both searches have the same kind (i.e.. search for type), name
- * (i.e., type named 'Foo') return type, number and type of parameters
- * (even if not used -- as in the case of search for type), and search
- * context (i.e., ISearchFactory.SEARCH_FOR_DECLS)
+ * (i.e., type named 'Foo') return type, number and type of parameters
+ * (even if not used -- as in the case of search for type), and search
+ * context (i.e., ISearchFactory.SEARCH_FOR_DECLS)
* <li> their scopes are equal (contain the same IPackage and IType handles, in any order)
* </ul>
*/
@@ -57,11 +83,11 @@
/**
* Removes the specified action listener so that it no longer
* receives progress and result events from the search.
- * @param listener the search listener
- * @see ISearchListener
- * @see SearchProgressEvent
- * @see SearchResultEvent
- * @see ISearch#addSearchListener
+ * @param listener the search listener
+ * @see ISearchListener
+ * @see SearchProgressEvent
+ * @see SearchResultEvent
+ * @see ISearch#addSearchListener
*/
void removeSearchListener(ISearchListener listener);
/**
diff --git a/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/builder/ISearchFactory.java b/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/builder/ISearchFactory.java
index 217f472..3df5910 100644
--- a/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/builder/ISearchFactory.java
+++ b/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/builder/ISearchFactory.java
@@ -1,7 +1,62 @@
package org.eclipse.jdt.internal.core.builder;
+/*
+ * (c) Copyright IBM Corp. 2000, 2001.
+ * All Rights Reserved.
+ */
+import org.eclipse.jdt.core.*;
+/**
+ * <code>ISearchFactory</code> creates <code>ISearch</code> objects which can
+ * search some subset of the image. These <code>ISearch</code> objects can
+ * be configured with a name, a scope, and a search context.
+ * <p>
+ * <ul>
+ * <li><b>Name:</b>
+ * The name of the search specifies what the search is actually looking for.
+ * It can be the name of a type, a field, a package, a method, or a constructor.
+ * Searches for methods and constructors may also supply parameter and return
+ * type information. Wildcarding is supported.
+ * <li><b>Scope:</b>
+ * The scope of the search defines the subset of the image that is to be searched.
+ * Including a type in the scope includes all inner types, fields, methods and
+ * constructors of that type in the search. Inner types also have all of their
+ * inner types, fields, methods and constructors included in the scope of the
+ * search, recursively. Including a package in the scope includes all types contained
+ * in the package in the scope and, therefore, all inner types, fields, methods and
+ * constructors. The items in the scope must belong to the same state as the
+ * image from which this search engine was obtained. Results of the search will also
+ * be in the same state as the image. If the image is non-state-specific, the
+ * items in the scope must be non-state-specific as well. Furthermore, results
+ * found by the search will also be non-state-specific.
+ * <li><b>Context:</b>
+ * The search context is defined using flags which specify whether the search is
+ * looking for declarations or references. Furthermore, when looking for
+ * references, the search can look either in the principle structure or the
+ * source of each type in the search scope. The flags can be 'OR'ed
+ * together to allow searches for declarations and references.
+ * </ul>
+ * <p>
+ * <b>Example:</b><br>
+ * Search for all references to a type named "String" in the scope of the
+ * package "hanoiExample". Wait for the results, and then print them out.
+ * <pre><code>
+ * IImage image = dc.getImage();
+ * ISearchFactory sf = image.newSearchFactory();
+ * IHandle[] scope = {image.getPackageHandle("hanoiExample", false)};
+ * ISearch search =
+ * sf.searchForType(
+ * "String",
+ * scope,
+ * ISearchFactory.SEARCH_FOR_PRINCIPLE_STRUCTURE_REFS |
+ * ISearchFactory.SEARCH_FOR_SOURCE_REFS);
+ * search.run(); // perform the search
+ * for (int i = 0; i < search.getItemCount(); i++)
+ * System.out.println(search.getItem(i));
+ * </code></pre>
+ * @see ISearch
+ */
public interface ISearchFactory
-{
+{
/* Flags for search context */
/**
@@ -35,26 +90,26 @@
* name.
* <p>
* <b>Example:</b> Searching for declarations of fields named <code>width</code>
- * in package <code>java.awt</code>.
+ * in package <code>java.awt</code>.
* <pre><code>
* IImage image = dc.getImage();
* ISearchFactory sf = image.newSearchFactory();
* IHandle[] scope = {image.getPackageHandle("java.awt", false)};
* ISearch search =
- * sf.searchForField(
- * "width",
- * scope,
- * ISearchFactory.SEARCH_FOR_DECLS);
+ * sf.searchForField(
+ * "width",
+ * scope,
+ * ISearchFactory.SEARCH_FOR_DECLS);
* search.run();
* </code></pre>
* @param fieldName the name of the field to search for, possibly containing
- * wildcards ("*")
+ * wildcards ("*")
* @param scope the packages and types to search in
* @param context the context flags. SEARCH_FOR_DECLS, and
- * SEARCH_FOR_SOURCE_REFS are valid flags for field searches.
- * SEARCH_FOR_PRINCIPLE_STRUCTURE_REFS will not have any effect on
- * the search because there are no field references in the principle
- * structure.
+ * SEARCH_FOR_SOURCE_REFS are valid flags for field searches.
+ * SEARCH_FOR_PRINCIPLE_STRUCTURE_REFS will not have any effect on
+ * the search because there are no field references in the principle
+ * structure.
*
*
* @see ISearch
@@ -72,34 +127,34 @@
* <b>Example:</b> Search for declarations of methods named <code>toString</code>
* whose second argument is <code>int</code>. The search will be conducted
* in the scope of the <code>hanoiExample</code> package.
- * <code><pre>
+ * <code><pre>
* IImage image = dc.getImage();
* ISearchFactory factory = image.newSearchFactory();
* IHandle[] scope = {image.getPackageHandle("hanoiExample")};
* ISearch search =
- * factory.searchForMethod(
- * "toString",
- * new String[] {"*", "int"},
- * "*",
- * scope,
- * SEARCH_FOR_DECLS);
+ * factory.searchForMethod(
+ * "toString",
+ * new String[] {"*", "int"},
+ * "*",
+ * scope,
+ * SEARCH_FOR_DECLS);
* search.run();
- * </code></pre>
+ * </code></pre>
* <br>
* @param methodName the method name to search for, possibly containing wildcards ("*")
* @param paramTypes the names of parameter types the method being searched for must
- * have, possibly containing wildcards. An empty array indicates a method with
- * zero parameters.
+ * have, possibly containing wildcards. An empty array indicates a method with
+ * zero parameters.
* @param returnType the name of the return type the method being
- * searched for must have, possibly containing wildcards. A return type
- * of "*" effectively ignores the return type.
+ * searched for must have, possibly containing wildcards. A return type
+ * of "*" effectively ignores the return type.
* @param scope the packages and types to search in
* @param context the context flags. SEARCH_FOR_DECLS make sense as a flag for
- * this method search. Using SEARCH_FOR_PRINCIPLE_STRUCTURE_REFS will have no effect since methods
- * cannot be referenced in the principle structure. When searching the source,
- * SEARCH_FOR_SOURCE_REFS will ignore the return type, and only use the
- * number of parameters, not the parameter types. This is because at the source
- * level only the method name and number of parameters are
+ * this method search. Using SEARCH_FOR_PRINCIPLE_STRUCTURE_REFS will have no effect since methods
+ * cannot be referenced in the principle structure. When searching the source,
+ * SEARCH_FOR_SOURCE_REFS will ignore the return type, and only use the
+ * number of parameters, not the parameter types. This is because at the source
+ * level only the method name and number of parameters are
* known.
* @see ISearch
*/
@@ -120,50 +175,50 @@
* which have 2 arguments. The search will be conducted in the scope of the <code>hanoiExample</code>
* package. Note that the principle structure is not searched for references
* since it never contains information about references to methods.
- * <code><pre>
+ * <code><pre>
* IImage image = dc.getImage();
* ISearchFactory factory = image.newSearchFactory();
* IHandle[] scope = {image.getPackageHandle("hanoiExample")};
* ISearch search =
- * factory.searchForMethod(
- * "add",
- * 2,
- * "*",
- * scope,
- * SEARCH_FOR_DECLS |
- * SEARCH_FOR_SOURCE_REFS);
+ * factory.searchForMethod(
+ * "add",
+ * 2,
+ * "*",
+ * scope,
+ * SEARCH_FOR_DECLS |
+ * SEARCH_FOR_SOURCE_REFS);
* search.run();
- * </code></pre>
+ * </code></pre>
* <br>
* <b>Example 2:</b> Search for references to a constructor for a class named
* <code>Disk</code> which takes any number of arguments. The search will be conducted in
* the scope of the <code>hanoiExample</code> package. Note that the principle structure is not searched for references
* since it never contains information about references to methods.
- * <code><pre>
+ * <code><pre>
* IImage image = dc.getImage();
* ISearchFactory factory = image.newSearchFactory();
* IHandle[] scope = {image.getPackageHandle("hanoiExample")};
* ISearch search =
- * factory.searchForMethod(
- * "Disk",
- * -1,
- * "", // return type ignored for constructors
- * scope,
- * SEARCH_FOR_SOURCE_REFS);
+ * factory.searchForMethod(
+ * "Disk",
+ * -1,
+ * "", // return type ignored for constructors
+ * scope,
+ * SEARCH_FOR_SOURCE_REFS);
* search.run();
- * </code></pre>
+ * </code></pre>
*
* @param methodName the method name to search for, possibly containing wildcards ("*")
* @param parameterCount the number of parameters the method being
- * searched for has. Use -1 if number of parameters doesn't matter
+ * searched for has. Use -1 if number of parameters doesn't matter
* @param returnType the name of the return type the method being
- * searched for must have, possibly containing wildcards. A return type of
- * "*" effectively ignores return type.
+ * searched for must have, possibly containing wildcards. A return type of
+ * "*" effectively ignores return type.
* @param scope the packages and types to search in
* @param context the context flags. SEARCH_FOR_DECLS and
- * SEARCH_FOR_SOURCE_REFS make sense as flags for this method search.
- * SEARCH_FOR_PRINCIPLE_STRUCTURE_REFS will not have any effect since
- * principle structures cannot reference methods.
+ * SEARCH_FOR_SOURCE_REFS make sense as flags for this method search.
+ * SEARCH_FOR_PRINCIPLE_STRUCTURE_REFS will not have any effect since
+ * principle structures cannot reference methods.
*
* @see ISearch
*/
@@ -186,21 +241,21 @@
* ISearchFactory sf = image.newSearchFactory();
* IHandle[] scope = {image.getPackageHandle("hanoiExample", false)};
* ISearch search =
- * sf.searchForPackage(
- * "java.aw*",
- * scope,
- * ISearchFactory.SEARCH_FOR_PRINCIPLE_STRUCTURE_REFS |
- * ISearchFactory.SEARCH_FOR_SOURCE_REFS);
+ * sf.searchForPackage(
+ * "java.aw*",
+ * scope,
+ * ISearchFactory.SEARCH_FOR_PRINCIPLE_STRUCTURE_REFS |
+ * ISearchFactory.SEARCH_FOR_SOURCE_REFS);
* search.run();
* </code></pre>
*
* @param packageName the name of the package to search for, possibly
- * containing wildcards ("*")
+ * containing wildcards ("*")
* @param scope the packages and types to search in
* @param context the context flags. SEARCH_FOR_PRINCIPLE_STRUCTURE_REFS,
- * and SEARCH_FOR_SOURCE_REFS make sense as flags for package
- * searches. Using SEARCH_FOR_DECLS will not have any effect because
- * packages are not declared anywhere.
+ * and SEARCH_FOR_SOURCE_REFS make sense as flags for package
+ * searches. Using SEARCH_FOR_DECLS will not have any effect because
+ * packages are not declared anywhere.
*
* @see ISearch
*/
@@ -220,17 +275,17 @@
* ISearchFactory sf = image.newSearchFactory();
* IHandle[] scope = {image.getPackageHandle("hanoiExample", false)};
* ISearch search =
- * sf.searchForType(
- * "Post",
- * scope,
- * ISearchFactory.SEARCH_FOR_DECLS);
+ * sf.searchForType(
+ * "Post",
+ * scope,
+ * ISearchFactory.SEARCH_FOR_DECLS);
* search.run();
* </code></pre>
* @param typeName the simple name of the type to search for, possibly
- * containing wildcards ("*")
+ * containing wildcards ("*")
* @param scope the packages and types to search in
* @param context the context flags. SEARCH_FOR_DECLS, SEARCH_FOR_PRINCIPLE_STRUCTURE_REFS,
- * and SEARCH_FOR_SOURCE_REFS all make sense as flags for type searches.
+ * and SEARCH_FOR_SOURCE_REFS all make sense as flags for type searches.
*
* @see ISearch
*/
diff --git a/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/builder/ISearchListener.java b/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/builder/ISearchListener.java
index d4031d2..c37af37 100644
--- a/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/builder/ISearchListener.java
+++ b/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/builder/ISearchListener.java
@@ -1,5 +1,16 @@
package org.eclipse.jdt.internal.core.builder;
+/*
+ * (c) Copyright IBM Corp. 2000, 2001.
+ * All Rights Reserved.
+ */
+import org.eclipse.jdt.core.*;
+/**
+ * The event listener interface for receiving progress and result updates
+ * from an <code>ISearch</code>.
+ *
+ * @see ISearch
+ */
public interface ISearchListener extends java.util.EventListener {
/**
* Reports that the search has been cancelled and is no longer running.
diff --git a/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/builder/IType.java b/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/builder/IType.java
index 2603694..7cbe537 100644
--- a/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/builder/IType.java
+++ b/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/builder/IType.java
@@ -1,10 +1,64 @@
package org.eclipse.jdt.internal.core.builder;
+/*
+ * (c) Copyright IBM Corp. 2000, 2001.
+ * All Rights Reserved.
+ */
+import org.eclipse.jdt.core.*;
+/**
+ * The <code>Type</code> interface represents classes, interfaces, array
+ * types, the primitive Java types (boolean, byte, char, short, int,
+ * long, float, and double) and the keyword void.
+ *
+ * <p>This interface is based on the <code>java.lang.Class</code> class in JDK 1.1.
+ *
+ * <p>The following terminology is used for inner classes, and applies also
+ * to interfaces.
+ * This terminology is consistent with the Java Inner Classes Specification.
+ *
+ * <p>A 'package member' class is declared as a member of a package.
+ * That is, a 'normal' class, as defined in the <em>Java Language Specification</em>.
+ *
+ * <p>An 'inner class' is one which is declared in another class, either as a member
+ * of that class or within a method or other block within that class.
+ * The class in which an inner class is declared is referred to as its 'outer class'.
+ * An inner class must be instantiated in the context of an instance of its outer class.
+ * The instance of the outer class is referred to as the 'outer instance'.
+ *
+ * <p>A 'top-level class' is declared either as a package member or as a
+ * static member of another top-level class. A top-level class can be referred to
+ * by a fully qualified name (given the right access), and is instanciated
+ * directly; it is not instanciated in the context of an outer instance.
+ * A class can be either a top-level class or an inner class, but cannot be both.
+ *
+ * <p>A 'nested class' is one which is not a package member: either an
+ * inner class, or a top-level class declared as a member of a class.
+ *
+ * <p>A 'local class' is an inner class declared within a method or other block
+ * within its outer class. Since a local class is a kind of inner class,
+ * it cannot be a top-level class.
+ *
+ * <p>An 'anonymous class' is a local inner class with no declared name.
+ *
+ * Changes from java.lang and java.lang.reflect:
+ * <ul>
+ * <li>renamed to Type from Class
+ * <li>toString() clarified for array types</li>
+ * <li>major additions (see below)</li>
+ * <li>removed isAssignableFrom(Type)</li>
+ * <li>removed getFields()</li>
+ * <li>removed getMethods()</li>
+ * <li>removed getConstructors()</li>
+ * <li>removed getField(String), getMethod(String, Type[]), getConstructor(Type[])</li>
+ * <li>removed getDeclaredField(String), getDeclaredMethod(String, Type[]), getDeclaredConstructor(Type[])</li>
+ * <li>added handle methods getFieldHandle(String) etc.</li>
+ * </ul>
+ */
public interface IType extends IMember {
/**
- * Compares this Type handle against the specified object. Returns
+ * Compares this Type handle against the specified object. Returns
* true if the objects are the same. Two Types handles are the same if
* they both represent a class or interface and have the same fully qualified name,
* or if they both represent the same primitive type,
@@ -43,7 +97,7 @@
* This is a handle-only method; the specified constructor may
* or may not actually be present in the class or interface.
*
- * @see IConstructor
+ * @see IConstructor
*/
IConstructor getConstructorHandle(IType[] parameterTypes);
/**
@@ -155,8 +209,8 @@
* If this does not represent a class or interface, it returns
* a String of length 0.
*
- * @return the declared name of the class or interface
- * represented by this object.
+ * @return the declared name of the class or interface
+ * represented by this object.
* @exception NotPresentException if this class or interface is not present.
*/
String getDeclaredName() throws NotPresentException;
@@ -201,7 +255,7 @@
* Returns an array of length 0 if this object does not represent
* an interface.
* The resulting Types are in no particular order.
- * See <em>The Java Language Specification</em> section 8.1.4
+ * See <em>The Java Language Specification</em> section 8.1.4
* for more details.
*
* @param imageContext the ImageContext in which to restrict the search.
@@ -228,10 +282,10 @@
* object represents neither a class nor an interface, this method
* returns an array of length 0.
*
- * See <em>The Java Language Specification</em> sections 8.1.4 and 9.1.3
+ * See <em>The Java Language Specification</em> sections 8.1.4 and 9.1.3
* for more details.
*
- * @return an array of interfaces implemented by this class.
+ * @return an array of interfaces implemented by this class.
* @exception NotPresentException if this class or interface is not present.
*/
IType[] getInterfaces() throws NotPresentException;
@@ -246,7 +300,7 @@
* This is a handle-only method; the specified method may
* or may not actually be present in the class or interface.
*
- * @see IMethod
+ * @see IMethod
*/
IMethod getMethodHandle(String name, IType[] parameterTypes);
/**
@@ -281,7 +335,7 @@
* For primitive types, the name is the keyword for the primitive type.
* This is a handle-only method.
*
- * @return the fully qualified name of the type represented by this object.
+ * @return the fully qualified name of the type represented by this object.
*/
String getName();
/**
@@ -299,7 +353,7 @@
* For primitive types, this is the keyword for the primitive type.
* This is a handle-only method.
*
- * @return the simple name of the type represented by this object.
+ * @return the simple name of the type represented by this object.
*/
String getSimpleName();
/**
@@ -319,7 +373,7 @@
* Returns an array of length 0 if this object does not represent
* a class.
* The resulting Types are in no particular order.
- * See <em>The Java Language Specification</em> sections 8.1.3 and 20.3.4
+ * See <em>The Java Language Specification</em> sections 8.1.3 and 20.3.4
* for more details.
*
* @param imageContext the ImageContext in which to restrict the search.
@@ -333,7 +387,7 @@
* Returns an array of length 0 if this object does not represent
* an interface.
* The resulting Types are in no particular order.
- * See <em>The Java Language Specification</em> section 9.1.3
+ * See <em>The Java Language Specification</em> section 9.1.3
* for more details.
*
* @param imageContext the ImageContext in which to restrict the search.
@@ -351,10 +405,10 @@
* If this object represents an array type, then the Type that represents
* class <code>java.lang.Object</code> is returned.
* <p>
- * See <em>The Java Language Specification</em> sections 8.1.3 and 20.3.4
+ * See <em>The Java Language Specification</em> sections 8.1.3 and 20.3.4
* for more details.
*
- * @return the superclass of the class represented by this object.
+ * @return the superclass of the class represented by this object.
* @exception NotPresentException if this type is not present.
*/
IType getSuperclass() throws NotPresentException;
@@ -386,8 +440,8 @@
* A binary type is one which is in .class file format in the workspace.
* Returns <code>false</code> if this represents a primitive type or an array type.
*
- * @return <code>true</code> if this object represents a binary class or interface;
- * <code>false</code> otherwise.
+ * @return <code>true</code> if this object represents a binary class or interface;
+ * <code>false</code> otherwise.
* @exception NotPresentException if this type is not present.
*/
boolean isBinary() throws NotPresentException;
@@ -396,8 +450,8 @@
* This returns false if this object represents an interface,
* an array type, or a primitive type.
*
- * @return <code>true</code> if this object represents a class;
- * <code>false</code> otherwise.
+ * @return <code>true</code> if this object represents a class;
+ * <code>false</code> otherwise.
* @exception NotPresentException if this type is not present.
*
* @see #isArray
@@ -412,8 +466,8 @@
* its doc comment.
* Returns <code>false</code> if this represents a primitive type or an array type.
*
- * @return <code>true</code> if this object represents a deprecated member;
- * <code>false</code> otherwise.
+ * @return <code>true</code> if this object represents a deprecated member;
+ * <code>false</code> otherwise.
* @exception NotPresentException if this type is not present.
*/
boolean isDeprecated() throws NotPresentException;
@@ -421,8 +475,8 @@
* Returns true if this object represents an inner class or interface,
* false otherwise.
* An inner class is one which can only be created in the context of
- * an instance of its outer class. This does not include package member
- * classes or other top-level classes. Such a class cannot be static.
+ * an instance of its outer class. This does not include package member
+ * classes or other top-level classes. Such a class cannot be static.
* <p>
* See the <em>Java Inner Classes Specification</em> for more details.
*
@@ -436,8 +490,8 @@
* This returns false if this object represents a class,
* an array type, or a primitive type.
*
- * @return <code>true</code> if this object represents an interface;
- * <code>false</code> otherwise.
+ * @return <code>true</code> if this object represents an interface;
+ * <code>false</code> otherwise.
* @exception NotPresentException if this type is not present.
*
* @see #isArray
@@ -554,7 +608,7 @@
* If this represents an array type, the string representation is
* that of its component type followed by <code>"[]"</code>.
*
- * @return a string representation of this class object.
+ * @return a string representation of this class object.
* @see IHandle#toString
*/
String toString();
diff --git a/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/builder/InvalidKeyException.java b/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/builder/InvalidKeyException.java
index e633ea9..4028f02 100644
--- a/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/builder/InvalidKeyException.java
+++ b/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/builder/InvalidKeyException.java
@@ -1,5 +1,23 @@
package org.eclipse.jdt.internal.core.builder;
+/*
+ * (c) Copyright IBM Corp. 2000, 2001.
+ * All Rights Reserved.
+ */
+import org.eclipse.jdt.core.*;
+/**
+ * Thrown when a DeltaKey is invalid.
+ *
+ * This exception is indicative of design flaws in the code.
+ * The offending code has constructed a key which could not possibly
+ * appear in a Delta.
+ * This is an unchecked exception (a subclass of RuntimeException)
+ * so that client code does not have to worry about catching this exception,
+ * which should never be thrown (or caught) in properly written code.
+ *
+ * @see DeltaKey
+ * @see IDelta#follow
+ */
public class InvalidKeyException extends RuntimeException {
/**
* Constructs an <code>InvalidKeyException</code> without a detail message.
@@ -10,7 +28,7 @@
/**
* Constructs an <code>InvalidKeyException</code> with a detail message.
*
- * @param s the detail message.
+ * @param s the detail message.
*/
public InvalidKeyException(String s) {
super(s);
diff --git a/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/builder/NotPresentException.java b/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/builder/NotPresentException.java
index 270104a..8547df4 100644
--- a/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/builder/NotPresentException.java
+++ b/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/builder/NotPresentException.java
@@ -1,5 +1,26 @@
package org.eclipse.jdt.internal.core.builder;
+/*
+ * (c) Copyright IBM Corp. 2000, 2001.
+ * All Rights Reserved.
+ */
+import org.eclipse.jdt.core.*;
+/**
+ * Thrown when a method is invoked on a handle whose object
+ * is not present. See <code>IHandle</code> for more details.
+ *
+ * This is an unchecked exception (a subclass of RuntimeException)
+ * because most of the time, code can ignore it if it is known to be
+ * navigating a state (see <code>IHandle</code> for more details).
+ * In some situations however, such as creating handles, the user
+ * would have to either
+ * <ol>
+ * <li>catch the exception, or</li>
+ * <li>test with <code>isPresent()</code> before performing the operation.</li>
+ * </ol>
+ *
+ * @see IHandle
+ */
public class NotPresentException extends RuntimeException
{
@@ -13,7 +34,7 @@
/**
* Constructs a <code>NotPresentException</code> with a detail message.
*
- * @param s the detail message.
+ * @param s the detail message.
*/
public NotPresentException(String s) {
super(s);
diff --git a/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/builder/SearchProgressEvent.java b/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/builder/SearchProgressEvent.java
index 7e36a1a..1cad2fb 100644
--- a/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/builder/SearchProgressEvent.java
+++ b/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/builder/SearchProgressEvent.java
@@ -1,5 +1,17 @@
package org.eclipse.jdt.internal.core.builder;
+/*
+ * (c) Copyright IBM Corp. 2000, 2001.
+ * All Rights Reserved.
+ */
+import org.eclipse.jdt.core.*;
+/**
+ * The listener event which is sent to all <code>ISearchListener</code>s
+ * when an <code>ISearch</code> has progress to report.
+ *
+ * @see ISearch
+ * @see ISearchListener
+ */
public class SearchProgressEvent extends java.util.EventObject {
String name;
/**
diff --git a/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/builder/SearchResultEvent.java b/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/builder/SearchResultEvent.java
index 1e36d7c..37c2e86 100644
--- a/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/builder/SearchResultEvent.java
+++ b/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/builder/SearchResultEvent.java
@@ -1,5 +1,17 @@
package org.eclipse.jdt.internal.core.builder;
+/*
+ * (c) Copyright IBM Corp. 2000, 2001.
+ * All Rights Reserved.
+ */
+import org.eclipse.jdt.core.*;
+/**
+ * The listener event which is sent to all <code>ISearchListener</code>s
+ * when an <code>ISearch</code> has a result to report.
+ *
+ * @see ISearch
+ * @see ISearchListener
+ */
public class SearchResultEvent extends java.util.EventObject {
IHandle result;
int[] fMatchingPositions;
diff --git a/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/builder/StateSpecificException.java b/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/builder/StateSpecificException.java
index c8d38bf..972165a 100644
--- a/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/builder/StateSpecificException.java
+++ b/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/builder/StateSpecificException.java
@@ -1,5 +1,25 @@
package org.eclipse.jdt.internal.core.builder;
+/*
+ * (c) Copyright IBM Corp. 2000, 2001.
+ * All Rights Reserved.
+ */
+import org.eclipse.jdt.core.*;
+/**
+ * Thrown when an operation is performed on a state-specific handle
+ * when it should be non-state-specific, or vice-versa.
+ * See <code>IHandle</code> for more details.
+ *
+ * This exception is indicative of design flaws in the code.
+ * The offending code is confused as to whether it is on the state-specific
+ * vs. non-state-specific side of the fence.
+ * This is an unchecked exception (a subclass of RuntimeException)
+ * so that client code does not have to worry about catching this exception,
+ * which should never be thrown (or caught) in properly written code.
+ *
+ * @see IHandle
+ * @see IState
+ */
public class StateSpecificException extends RuntimeException
{
@@ -13,7 +33,7 @@
/**
* Constructs a <code>StateSpecificException</code> with a detail message.
*
- * @param s the detail message.
+ * @param s the detail message.
*/
public StateSpecificException(String s) {
super(s);
diff --git a/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/builder/impl/FieldCollaboratorIndictment.java b/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/builder/impl/FieldCollaboratorIndictment.java
index f7556bb..9f30f02 100644
--- a/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/builder/impl/FieldCollaboratorIndictment.java
+++ b/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/builder/impl/FieldCollaboratorIndictment.java
@@ -1,4 +1,9 @@
package org.eclipse.jdt.internal.core.builder.impl;
+/*
+ * (c) Copyright IBM Corp. 2000, 2001.
+ * All Rights Reserved.
+ */
+import org.eclipse.jdt.core.*;
class FieldCollaboratorIndictment extends Indictment {
/**
diff --git a/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/builder/impl/ImageBuilderInternalException.java b/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/builder/impl/ImageBuilderInternalException.java
index e72f0bd..3c67b9e 100644
--- a/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/builder/impl/ImageBuilderInternalException.java
+++ b/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/builder/impl/ImageBuilderInternalException.java
@@ -1,5 +1,14 @@
package org.eclipse.jdt.internal.core.builder.impl;
+/*
+ * (c) Copyright IBM Corp. 2000, 2001.
+ * All Rights Reserved.
+ */
+import org.eclipse.jdt.core.*;
+/**
+ * Exception thrown when there is an internal error in the image builder.
+ * May wrapper another exception.
+ */
public class ImageBuilderInternalException extends RuntimeException {
protected Throwable fThrowable;
/**
diff --git a/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/builder/impl/NewBuilderType.java b/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/builder/impl/NewBuilderType.java
index 115de37..1b40365 100644
--- a/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/builder/impl/NewBuilderType.java
+++ b/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/builder/impl/NewBuilderType.java
@@ -1,5 +1,13 @@
package org.eclipse.jdt.internal.core.builder.impl;
+/*
+ * (c) Copyright IBM Corp. 2000, 2001.
+ * All Rights Reserved.
+ */
+import org.eclipse.jdt.core.*;
+/**
+ * A type that only exists in the new state (an addition)
+ */
public class NewBuilderType extends BuilderType {
/**
* The tsEntry in the new state
diff --git a/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/builder/impl/OrderedSet.java b/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/builder/impl/OrderedSet.java
index 84f5dc1..a37998d 100644
--- a/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/builder/impl/OrderedSet.java
+++ b/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/builder/impl/OrderedSet.java
@@ -1,4 +1,9 @@
package org.eclipse.jdt.internal.core.builder.impl;
+/*
+ * (c) Copyright IBM Corp. 2000, 2001.
+ * All Rights Reserved.
+ */
+import org.eclipse.jdt.core.*;
public class OrderedSet {
protected int elementCount;
@@ -21,7 +26,7 @@
* Constructs a new OrderedSet using the specified capacity
* and the default load factor.
*
- * @param capacity the initial capacity
+ * @param capacity the initial capacity
*/
public OrderedSet (int capacity) {
this(capacity, 0.75f);
@@ -30,7 +35,7 @@
* Constructs a new OrderedSet using the specified capacity
* and load factor.
*
- * @param loadFactor the initial load factor
+ * @param loadFactor the initial load factor
*/
public OrderedSet (int capacity, float loadFactor) {
if (capacity <= 0) throw new IllegalArgumentException();
@@ -62,11 +67,11 @@
* Answers the object associated with the specified index in
* this OrderedSet.
*
- * @param index the index to use
- * @return the object associated with the specified index
+ * @param index the index to use
+ * @return the object associated with the specified index
* @throws ArrayIndexOutOfBoundsException if the index is out of range
*
- * @see #put
+ * @see #put
*/
public Object get(int index) {
if (index >= elementCount) {
@@ -78,10 +83,10 @@
* Answers whether the specified object is in
* this OrderedSet.
*
- * @param obj the object, which must not be null
- * @return true if the object is in the set, false otherwise
+ * @param obj the object, which must not be null
+ * @return true if the object is in the set, false otherwise
*
- * @see #put
+ * @see #put
*/
public boolean includes(Object obj) {
if (obj == null) {
@@ -94,11 +99,11 @@
* Answers the index associated with the specified object in
* this OrderedSet.
*
- * @param obj the object, which must not be null
- * @return the index associated with the object
+ * @param obj the object, which must not be null
+ * @return the index associated with the object
* @throws IllegalArgumentException if the key is not in the pool
*
- * @see #put
+ * @see #put
*/
public int index(Object obj) {
if (obj == null) {
@@ -117,11 +122,11 @@
* But the object is retrievable using get(int index).
* The index must not yet have been assigned.
*
- * @param index the index of the object
- * @param obj the object to add
+ * @param index the index of the object
+ * @param obj the object to add
*
- * @see #get
- * @see java.lang.Object#equals
+ * @see #get
+ * @see java.lang.Object#equals
*/
public void put(int index, Object obj) {
if (obj == null) throw new NullPointerException ();
@@ -141,11 +146,11 @@
* Associate the given object with the next index in this OrderedSet.
* If the object is already present, its index is unchanged. The object cannot be null.
*
- * @param obj the object to add
- * @return the index associated with the specified obj
+ * @param obj the object to add
+ * @return the index associated with the specified obj
*
- * @see #index
- * @see java.lang.Object#equals
+ * @see #index
+ * @see java.lang.Object#equals
*/
public int put (Object obj) {
if (obj == null) throw new NullPointerException ();
@@ -192,7 +197,7 @@
/**
* Answers the number of objects in this OrderedSet.
*
- * @return the number of objects in this OrderedSet
+ * @return the number of objects in this OrderedSet
*/
public int size () {
return elementCount;
@@ -200,7 +205,7 @@
/**
* Answers the string representation of this OrderedSet.
*
- * @return the string representation of this OrderedSet
+ * @return the string representation of this OrderedSet
*/
public String toString () {
Object key;
diff --git a/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/builder/impl/TypeCollaboratorIndictment.java b/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/builder/impl/TypeCollaboratorIndictment.java
index d1fade3..622b1e5 100644
--- a/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/builder/impl/TypeCollaboratorIndictment.java
+++ b/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/builder/impl/TypeCollaboratorIndictment.java
@@ -1,5 +1,14 @@
package org.eclipse.jdt.internal.core.builder.impl;
+/*
+ * (c) Copyright IBM Corp. 2000, 2001.
+ * All Rights Reserved.
+ */
+import org.eclipse.jdt.core.*;
+/**
+ * These indictments are issued when there is a T1 change to a
+ * type, including change of visibility, change of gender, abstractness, etc.
+ */
class TypeCollaboratorIndictment extends Indictment {
/**
* Creates a new TypeCollaboratorIndictment.
diff --git a/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/builder/impl/TypeHierarchyIndictment.java b/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/builder/impl/TypeHierarchyIndictment.java
index bcbc993..cf0bf75 100644
--- a/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/builder/impl/TypeHierarchyIndictment.java
+++ b/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/builder/impl/TypeHierarchyIndictment.java
@@ -1,5 +1,14 @@
package org.eclipse.jdt.internal.core.builder.impl;
+/*
+ * (c) Copyright IBM Corp. 2000, 2001.
+ * All Rights Reserved.
+ */
+import org.eclipse.jdt.core.*;
+/**
+ * Type hierarchy indictments are issued whenever there is any
+ * change to the supertype hierarchy graph for a given type.
+ */
public class TypeHierarchyIndictment extends Indictment {
/**
* Creates a new TypeHierarchyIndictment.
diff --git a/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/jdom/ILineStartFinder.java b/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/jdom/ILineStartFinder.java
index 0c8ee08..e3b2d87 100644
--- a/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/jdom/ILineStartFinder.java
+++ b/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/jdom/ILineStartFinder.java
@@ -1,5 +1,14 @@
package org.eclipse.jdt.internal.core.jdom;
+/*
+ * (c) Copyright IBM Corp. 2000, 2001.
+ * All Rights Reserved.
+ */
+import org.eclipse.jdt.core.*;
+/**
+ * The <coe>ILineSeparatorFinder</code> finds previous and next line separators
+ * in source.
+ */
interface ILineStartFinder {
/**
* Returns the position of the start of the line at or before the given source position.
diff --git a/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/lookup/ReferenceInfo.java b/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/lookup/ReferenceInfo.java
index ea4d48b..6a73282 100644
--- a/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/lookup/ReferenceInfo.java
+++ b/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/lookup/ReferenceInfo.java
@@ -1,4 +1,9 @@
package org.eclipse.jdt.internal.core.lookup;
+/*
+ * (c) Copyright IBM Corp. 2000, 2001.
+ * All Rights Reserved.
+ */
+import org.eclipse.jdt.core.*;
public class ReferenceInfo {
@@ -23,7 +28,7 @@
public static final byte REFTYPE_type = 0x20;
public static final byte REFTYPE_class = 0x40;
public static final byte REFTYPE_constant = (byte)0x80;
-// public static final byte REFTYPE_label = 256;
+// public static final byte REFTYPE_label = 256;
/**
* Creates a new ReferenceInfo object. There should be one per compilation unit.
diff --git a/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/util/CharArrayBuffer.java b/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/util/CharArrayBuffer.java
index 00b18b2..37fa2e5 100644
--- a/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/util/CharArrayBuffer.java
+++ b/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/util/CharArrayBuffer.java
@@ -1,5 +1,26 @@
package org.eclipse.jdt.internal.core.util;
+/*
+ * (c) Copyright IBM Corp. 2000, 2001.
+ * All Rights Reserved.
+ */
+import org.eclipse.jdt.core.*;
+/**
+ * The <code>CharArrayBuffer</code> is intended as a lightweight partial implementation
+ * of the StringBuffer class, but using <code>char[]'s</code> instead of Strings.
+ *
+ * <p>The <code>CharArrayBuffer</code> maintains a list of <code>char[]'s</code>
+ * which don't get appended until the user asks for them. The following
+ * code illustrates how to use the class.
+ *
+ * <code>
+ * CharArrayBuffer buffer = new CharArrayBuffer(myCharArray);
+ * buffer.append(moreBytes, 0, someLength);
+ * myCharArray = buffer.getContents();
+ * </code>
+ *
+ * <p>NOTE: This class is not Thread safe!
+ */
public class CharArrayBuffer {
/**
* This is the buffer of char arrays which must be appended together
diff --git a/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/util/CharArrayOps.java b/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/util/CharArrayOps.java
index f8c98a9..66c4306 100644
--- a/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/util/CharArrayOps.java
+++ b/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/util/CharArrayOps.java
@@ -1,5 +1,14 @@
package org.eclipse.jdt.internal.core.util;
+/*
+ * (c) Copyright IBM Corp. 2000, 2001.
+ * All Rights Reserved.
+ */
+import org.eclipse.jdt.core.*;
+/**
+ * A class to do characters operations so that we can use
+ * char arrays more effectively.
+ */
public class CharArrayOps {
/**
* Returns the char arrays as an array of Strings
@@ -80,9 +89,9 @@
* Extracts a sub-array from the given array, starting
* at the given startIndex and proceeding for length characters.
* Returns null if:
- * 1. the src array is null
- * 2. the start index is out of bounds
- * 3. the length parameter specifies a end point which is out of bounds
+ * 1. the src array is null
+ * 2. the start index is out of bounds
+ * 3. the length parameter specifies a end point which is out of bounds
* Does not return a copy of the array if possible, i.e. if start is zero
* and length equals the length of the src array.
*
@@ -110,9 +119,9 @@
* Extracts a substring from the given array, starting
* at the given startIndex and proceeding for length characters.
* Returns null if:
- * 1. the src array is null
- * 2. the start index is out of bounds
- * 3. the length parameter specifies a end point which is out of bounds
+ * 1. the src array is null
+ * 2. the start index is out of bounds
+ * 3. the length parameter specifies a end point which is out of bounds
* Does not return a copy of the array if possible, i.e. if start is zero
* and length equals the length of the src array.
*
diff --git a/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/util/DiskCacheEntry.java b/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/util/DiskCacheEntry.java
index d5d374f..085b429 100644
--- a/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/util/DiskCacheEntry.java
+++ b/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/util/DiskCacheEntry.java
@@ -1,5 +1,15 @@
package org.eclipse.jdt.internal.core.util;
+/*
+ * (c) Copyright IBM Corp. 2000, 2001.
+ * All Rights Reserved.
+ */
+import org.eclipse.jdt.core.*;
+/**
+ * A <code>DiskCacheEntry</code> represents the results of looking up an
+ * entry in a <code>DiskCache</code>. It is part of the DiskCache API and is
+ * not necessarily used as the internal representation.
+ */
public class DiskCacheEntry {
String fKey;
int fSize;
diff --git a/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/util/HackFinder.java b/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/util/HackFinder.java
index a060884..71aae5a 100644
--- a/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/util/HackFinder.java
+++ b/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/util/HackFinder.java
@@ -1,4 +1,9 @@
package org.eclipse.jdt.internal.core.util;
+/*
+ * (c) Copyright IBM Corp. 2000, 2001.
+ * All Rights Reserved.
+ */
+import org.eclipse.jdt.core.*;
public class HackFinder {
/**
diff --git a/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/util/IComparator.java b/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/util/IComparator.java
index 80b583d..24dfa25 100644
--- a/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/util/IComparator.java
+++ b/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/util/IComparator.java
@@ -1,5 +1,13 @@
package org.eclipse.jdt.internal.core.util;
+/*
+ * (c) Copyright IBM Corp. 2000, 2001.
+ * All Rights Reserved.
+ */
+import org.eclipse.jdt.core.*;
+/**
+ * An interface for comparing two objects according to a partial order.
+ */
public interface IComparator {
/**
* Returns an integer < 0 if o1 is less than o2, > 0 if o1 is greater
diff --git a/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/util/ILRUCacheable.java b/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/util/ILRUCacheable.java
index e73634a..5b1e6d3 100644
--- a/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/util/ILRUCacheable.java
+++ b/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/util/ILRUCacheable.java
@@ -1,5 +1,17 @@
package org.eclipse.jdt.internal.core.util;
+/*
+ * (c) Copyright IBM Corp. 2000, 2001.
+ * All Rights Reserved.
+ */
+import org.eclipse.jdt.core.*;
+/**
+ * Types implementing this interface can occupy a variable amount of space
+ * in an LRUCache. Cached items that do not implement this interface are
+ * considered to occupy one unit of space.
+ *
+ * @see LRUCache
+ */
public interface ILRUCacheable {
/**
* Returns the space the receiver consumes in an LRU Cache. The default space
diff --git a/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/util/IProgressListener.java b/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/util/IProgressListener.java
index ffce4a3..226cb7c 100644
--- a/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/util/IProgressListener.java
+++ b/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/util/IProgressListener.java
@@ -1,5 +1,27 @@
package org.eclipse.jdt.internal.core.util;
+/*
+ * (c) Copyright IBM Corp. 2000, 2001.
+ * All Rights Reserved.
+ */
+import org.eclipse.jdt.core.*;
+/**
+The <code>IProgressListener</code> interface is implemented
+by objects that monitor the progress of an activity.
+
+<p> All activity is broken down into a linear sequence of tasks against
+which progress is reported. When a task begins, a <code>begin</code>
+notification is reported, followed by any number and mixture of progress
+reports (<code>worked()</code>) and subtask
+notifications (<code>nowDoing()</code>). When the task
+is eventually completed, a <code>done()</code> notification is reported.
+
+<p> Since notification is synchronous with the activity itself,
+the listener should provide a fast and robust implementation.
+If the handling of notifications would involve blocking operations,
+or operations which might throw uncaught exceptions, the notifications
+should be queued, and the actual processing delegated to a separate thread.
+ */
public interface IProgressListener {
/** Notifies that the main task is beginning.
diff --git a/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/util/ReferenceInfoAdapter.java b/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/util/ReferenceInfoAdapter.java
index 6c6e7c5..1ad3ebf 100644
--- a/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/util/ReferenceInfoAdapter.java
+++ b/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/util/ReferenceInfoAdapter.java
@@ -1,5 +1,14 @@
package org.eclipse.jdt.internal.core.util;
+/*
+ * (c) Copyright IBM Corp. 2000, 2001.
+ * All Rights Reserved.
+ */
+import org.eclipse.jdt.core.*;
+/**
+ * An adapter which implements the methods for handling
+ * reference information from the parser.
+ */
public abstract class ReferenceInfoAdapter {
/**
* Does nothing.
diff --git a/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/util/StringHashtableOfInt.java b/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/util/StringHashtableOfInt.java
index f9bd538..6846b44 100644
--- a/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/util/StringHashtableOfInt.java
+++ b/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/util/StringHashtableOfInt.java
@@ -1,5 +1,13 @@
package org.eclipse.jdt.internal.core.util;
+/*
+ * (c) Copyright IBM Corp. 2000, 2001.
+ * All Rights Reserved.
+ */
+import org.eclipse.jdt.core.*;
+/**
+ * A hash table keyed by strings and with int values.
+ */
public class StringHashtableOfInt {
// to avoid using Enumerations, walk the individual tables skipping nulls
public String[] keyTable;
diff --git a/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/util/ToStringSorter.java b/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/util/ToStringSorter.java
index ede2146..d2e6e66 100644
--- a/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/util/ToStringSorter.java
+++ b/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/util/ToStringSorter.java
@@ -1,17 +1,28 @@
package org.eclipse.jdt.internal.core.util;
+/*
+ * (c) Copyright IBM Corp. 2000, 2001.
+ * All Rights Reserved.
+ */
+import org.eclipse.jdt.core.*;
+/**
+ * The SortOperation takes a collection of objects and returns
+ * a sorted collection of these objects. The sorting of these
+ * objects is based on their toString(). They are sorted in
+ * alphabetical order.
+ */
public class ToStringSorter {
Object[] sortedObjects;
String[] sortedStrings;
/**
- * Returns true if stringTwo is 'greater than' stringOne
- * This is the 'ordering' method of the sort operation.
+ * Returns true if stringTwo is 'greater than' stringOne
+ * This is the 'ordering' method of the sort operation.
*/
public boolean compare(String stringOne, String stringTwo) {
return stringOne.compareTo(stringTwo) < 0;
}
/**
- * Sort the objects in sorted collection and return that collection.
+ * Sort the objects in sorted collection and return that collection.
*/
private void quickSort(int left, int right) {
int originalLeft = left;
@@ -43,15 +54,15 @@
quickSort(left, originalRight);
}
/**
- * Return a new sorted collection from this unsorted collection.
- * Sort using quick sort.
+ * Return a new sorted collection from this unsorted collection.
+ * Sort using quick sort.
*/
public void sort(Object[] unSortedObjects, String[] unsortedStrings) {
int size = unSortedObjects.length;
this.sortedObjects = new Object[size];
this.sortedStrings = new String[size];
- //copy the array so can return a new sorted collection
+ //copy the array so can return a new sorted collection
System.arraycopy(unSortedObjects, 0, this.sortedObjects, 0, size);
System.arraycopy(unsortedStrings, 0, this.sortedStrings, 0, size);
if (size > 1)