update javadoc
diff --git a/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/core/BindingKey.java b/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/core/BindingKey.java
index 24f081b..19162f9 100644
--- a/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/core/BindingKey.java
+++ b/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/core/BindingKey.java
@@ -45,8 +45,7 @@
 	 * For example:
 	 * <pre>
 	 * <code>
-	 * createArrayTypeBindingKey("Ljava/lang/Object;", 1) -> "[Ljava/lang/Object;"
-	 * createArrayTypeBindingKey("I", 2) -> "[[I"
+	 * createArrayTypeBindingKey("LObject;", 1) -> "[LObject;"
 	 * </code>
 	 * </pre>
 	 * </p>
@@ -54,6 +53,8 @@
 	 * @param typeKey the binding key of the given type
 	 * @param arrayDimension the given array dimension
 	 * @return a new array type binding key
+	 * 
+	 * <b>This Method only applies to ECMAScript 4 which is not yet supported</b>
 	 */
 	public static String createArrayTypeBindingKey(String typeKey, int arrayDimension) {
 		// Note this implementation is heavily dependent on ArrayTypeBinding#computeUniqueKey()
@@ -72,12 +73,12 @@
 	 * <pre>
 	 * <code>
 	 * createParameterizedTypeBindingKey(
-	 *     "Ljava/util/Map&lt;TK;TV;&gt;;",
-	 *     new String[] {"Ljava/lang/String;", "Ljava/lang/Object;"}) -&gt;
-	 *       "Ljava/util/Map&lt;Ljava/lang/String;Ljava/lang/Object;&gt;;"
+	 *     "LArray&lt;TK;TV;&gt;;",
+	 *     new String[] {"LString;", "LObject;"}) -&gt;
+	 *       "LArray&lt;LString;LObject;&gt;;"
 	 * createParameterizedTypeBindingKey(
-	 *     "Ljava/util/List&lt;TE;&gt;;", new String[] {}) -&gt;
-	 *       "Ljava/util/List&lt;&gt;;"
+	 *     "LArray&lt;TE;&gt;;", new String[] {}) -&gt;
+	 *       "LArray&lt;&gt;;"
 	 * </code>
 	 * </pre>
 	 * </p>
@@ -100,23 +101,20 @@
 	}
 
 	/**
-	 * Creates a new type binding key from the given type name. The type name must be either
-	 * a fully qualified name, an array type name or a primitive type name.
-	 * If the type name is fully qualified, then it is expected to be dot-based.
-	 * Note that inner types, generic types and parameterized types are not supported.
+	 * Creates a new type binding key from the given type name. 
 	 * <p>
 	 * For example:
 	 * <pre>
 	 * <code>
-	 * createTypeBindingKey("int") -> "I"
-	 * createTypeBindingKey("java.lang.String") -> "Ljava/lang/String;"
-	 * createTypeBindingKey("boolean[]") -> "[Z"
+	 * createTypeBindingKey("String") -> "LString;"
 	 * </code>
 	 * </pre>
 	 * </p>
 	 *
 	 * @param typeName the possibly qualified type name
 	 * @return a new type binding key
+	 * 
+	 * <b>This Method only applies to ECMAScript 4 which is not yet supported</b>
 	 */
 	public static String createTypeBindingKey(String typeName) {
 		// Note this implementation is heavily dependent on TypeBinding#computeUniqueKey() and its subclasses
@@ -130,10 +128,8 @@
 	 * For example:
 	 * <pre>
 	 * <code>
-	 * createTypeVariableBindingKey("T", "Ljava/util/List&lt;TE;&gt;;") -&gt;
-	 *   "Ljava/util/List&lt;TE;&gt;;:TT;"
-	 * createTypeVariableBindingKey("SomeTypeVariable", "Lp/X;.foo()V") -&gt;
-	 *   "Lp/X;.foo()V:TSomeTypeVariable;"
+	 * createTypeVariableBindingKey("T", "LArray&lt;TE;&gt;;") -&gt;
+	 *   "LArray&lt;TE;&gt;;:TT;"
 	 * </code>
 	 * </pre>
 	 * </p>
@@ -141,6 +137,8 @@
 	 * @param typeVariableName the name of the given type variable
 	 * @param declaringKey the binding key of the type or method the type variable belongs to
 	 * @return a new type variable binding key
+	 *
+	 * <b>This Method only applies to ECMAScript 4 which is not yet supported</b>
 	 */
 	public static String createTypeVariableBindingKey(String typeVariableName, String declaringKey) {
 		// Note this implementation is heavily dependent on TypeVariableBinding#computeUniqueKey()
@@ -162,9 +160,9 @@
 	 * <pre>
 	 * <code>
 	 * createWilcardTypeBindingKey(null, Signature.C_STAR) -&gt; "*"
-	 * createWilcardTypeBindingKey("Ljava/util/List&lt;TE;&gt;;",
-	 *    Signature.C_SUPER) -&gt; "-Ljava/util/List&lt;TE;&gt;;"
-	 * createWilcardTypeBindingKey("Ljava/util/ArrayList;", Signature.C_EXTENDS) -&gt;
+	 * createWilcardTypeBindingKey("LArray&lt;TE;&gt;;",
+	 *    Signature.C_SUPER) -&gt; "-LArray&lt;TE;&gt;;"
+	 * createWilcardTypeBindingKey("LArray;", Signature.C_EXTENDS) -&gt;
 	 *    "+Ljava/util/ArrayList;"
 	 * </code>
 	 * </pre>
@@ -173,6 +171,8 @@
 	 * @param typeKey the binding key of the given type
 	 * @param kind one of {@link Signature#C_STAR}, {@link Signature#C_SUPER}, or {@link Signature#C_EXTENDS}
 	 * @return a new wildcard type binding key
+	 *
+	 * <b>This Method only applies to ECMAScript 4 which is not yet supported</b>
 	 */
 	public static String createWilcardTypeBindingKey(String typeKey, char kind) {
 		// Note this implementation is heavily dependent on WildcardBinding#computeUniqueKey()
@@ -189,11 +189,13 @@
 
 	/**
 	 * Returns the thrown exception signatures of the element represented by this binding key.
-	 * If this binding key does not  represent a method or does not throw any exception,
+	 * If this binding key does not  represent a function or does not throw any exception,
 	 * returns an empty array.
 	 *
 	 * @return the thrown exceptions signatures
 	 * @since 3.3
+	 *
+	 * <b>This Method only applies to ECMAScript 4 which is not yet supported</b>
 	 */
 	public String[] getThrownExceptions() {
 		KeyToSignature keyToSignature = new KeyToSignature(this.key, KeyToSignature.THROWN_EXCEPTIONS);
@@ -218,6 +220,8 @@
 	 * Returns whether this binding key represents a raw type.
 	 *
 	 * @return whether this binding key represents a raw type
+	 *
+	 * <b>This Method only applies to ECMAScript 4 which is not yet supported</b>
 	 */
 	public boolean isRawType() {
 		KeyKind kind = new KeyKind(this.key);
@@ -229,6 +233,8 @@
 	 * Returns whether this binding key represents a parameterized type, or if its declaring type is a parameterized type.
 	 *
 	 * @return whether this binding key represents a parameterized type
+	 *
+	 * <b>This Method only applies to ECMAScript 4 which is not yet supported</b>
 	 */
 	public boolean isParameterizedType() {
 		KeyKind kind = new KeyKind(this.key);
@@ -240,6 +246,8 @@
 	 * Returns whether this binding key represents a parameterized method, or if its declaring method is a parameterized method.
 	 *
 	 * @return whether this binding key represents a parameterized method
+	 *
+	 * <b>This Method only applies to ECMAScript 4 which is not yet supported</b>
 	 */
 	public boolean isParameterizedMethod() {
 		KeyKind kind = new KeyKind(this.key);
diff --git a/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/core/BufferChangedEvent.java b/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/core/BufferChangedEvent.java
index 8bd3403..207ba45 100644
--- a/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/core/BufferChangedEvent.java
+++ b/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/core/BufferChangedEvent.java
@@ -38,7 +38,7 @@
  * </p>
  * <p>
  * This class is not intended to be instantiated or subclassed by clients.
- * Instances of this class are automatically created by the Java model.
+ * Instances of this class are automatically created by the JavaScript model.
  * </p>
  *
  * @see IBuffer
diff --git a/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/core/CompletionContext.java b/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/core/CompletionContext.java
index da73820..892f9c4 100644
--- a/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/core/CompletionContext.java
+++ b/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/core/CompletionContext.java
@@ -32,28 +32,24 @@
 
 	/**
 	 * The completion token is unknown.
-	 * @since 3.2
 	 */
 	public static final int TOKEN_KIND_UNKNOWN = 0;
 
 	/**
 	 * The completion token is a name.
-	 * @since 3.2
 	 */
 	public static final int TOKEN_KIND_NAME = 1;
 	/**
 	 * The completion token is a string literal.
 	 * The string literal ends quote can be not present the source.
 	 * <code>"foo"</code> or <code>"foo</code>.
-	 * @since 3.2
 	 */
 
 	public static final int TOKEN_KIND_STRING_LITERAL = 2;
 	/**
-	 * Tell user whether completion takes place in a javadoc comment or not.
+	 * Tell user whether completion takes place in a jSdoc comment or not.
 	 *
-	 * @return boolean true if completion takes place in a javadoc comment, false otherwise.
-	 * @since 3.2
+	 * @return boolean true if completion takes place in a jsdoc comment, false otherwise.
 	 * @deprecated Use {@link #isInJsdoc()} instead
 	 */
 	public boolean isInJavadoc() {
@@ -61,20 +57,18 @@
 	}
 
 	/**
-	 * Tell user whether completion takes place in a javadoc comment or not.
+	 * Tell user whether completion takes place in a jsdoc comment or not.
 	 *
-	 * @return boolean true if completion takes place in a javadoc comment, false otherwise.
-	 * @since 3.2
+	 * @return boolean true if completion takes place in a jsdoc comment, false otherwise.
 	 */
 	public boolean isInJsdoc() {
 		return this.javadoc != 0;
 	}
 
 	/**
-	 * Tell user whether completion takes place in text area of a javadoc comment or not.
+	 * Tell user whether completion takes place in text area of a jsdoc comment or not.
 	 *
-	 * @return boolean true if completion takes place in a text area of a javadoc comment, false otherwise.
-	 * @since 3.2
+	 * @return boolean true if completion takes place in a text area of a jsdoc comment, false otherwise.
 	 * @deprecated Use {@link #isInJsdocText()} instead
 	 */
 	public boolean isInJavadocText() {
@@ -82,17 +76,16 @@
 	}
 
 	/**
-	 * Tell user whether completion takes place in text area of a javadoc comment or not.
+	 * Tell user whether completion takes place in text area of a jsdoc comment or not.
 	 *
-	 * @return boolean true if completion takes place in a text area of a javadoc comment, false otherwise.
-	 * @since 3.2
+	 * @return boolean true if completion takes place in a text area of a jsdoc comment, false otherwise.
 	 */
 	public boolean isInJsdocText() {
 		return (this.javadoc & CompletionOnJavadoc.TEXT) != 0;
 	}
 
 	/**
-	 * Tell user whether completion takes place in a formal reference of a javadoc tag or not.
+	 * Tell user whether completion takes place in a formal reference of a jsdoc tag or not.
 	 * Tags with formal reference are:
 	 * <ul>
 	 * 	<li>&#64;see</li>
@@ -103,8 +96,7 @@
 	 * 	<li>{&#64;value} when compiler compliance is set at leats to 1.5</li>
 	 * </ul>
 	 *
-	 * @return boolean true if completion takes place in formal reference of a javadoc tag, false otherwise.
-	 * @since 3.2
+	 * @return boolean true if completion takes place in formal reference of a jsdoc tag, false otherwise.
 	 * @deprecated Use {@link #isInJsdocFormalReference()} instead
 	 */
 	public boolean isInJavadocFormalReference() {
@@ -112,7 +104,7 @@
 	}
 
 	/**
-	 * Tell user whether completion takes place in a formal reference of a javadoc tag or not.
+	 * Tell user whether completion takes place in a formal reference of a jsdoc tag or not.
 	 * Tags with formal reference are:
 	 * <ul>
 	 * 	<li>&#64;see</li>
@@ -123,8 +115,7 @@
 	 * 	<li>{&#64;value} when compiler compliance is set at leats to 1.5</li>
 	 * </ul>
 	 *
-	 * @return boolean true if completion takes place in formal reference of a javadoc tag, false otherwise.
-	 * @since 3.2
+	 * @return boolean true if completion takes place in formal reference of a jsdoc tag, false otherwise.
 	 */
 	public boolean isInJsdocFormalReference() {
 		return (this.javadoc & CompletionOnJavadoc.FORMAL_REFERENCE) != 0;
@@ -159,14 +150,13 @@
 
 	/**
 	 * Returns the completed token.
-	 * This token is either the identifier or Java language keyword
+	 * This token is either the identifier or JavaScript language keyword
 	 * or the string literal under, immediately preceding,
 	 * the original request offset. If the original request offset
 	 * is not within or immediately after an identifier or keyword or
 	 * a string literal then the returned value is <code>null</code>.
 	 *
 	 * @return completed token or <code>null</code>
-	 * @since 3.2
 	 */
 	public char[] getToken() {
 		return this.token;
@@ -185,7 +175,6 @@
 	 * @return the kind; one of the kind constants declared on
 	 * this class whose name starts with <code>TOKEN_KIND</code>,
 	 * or possibly a kind unknown to the caller
-	 * @since 3.2
 	 */
 	public int getTokenKind() {
 		return this.tokenKind;
@@ -195,7 +184,7 @@
 	 * Returns the character index of the start of the
 	 * subrange in the source file buffer containing the
 	 * relevant token being completed. This
-	 * token is either the identifier or Java language keyword
+	 * token is either the identifier or JavaScript language keyword
 	 * under, or immediately preceding, the original request
 	 * offset. If the original request offset is not within
 	 * or immediately after an identifier or keyword, then the
@@ -203,7 +192,6 @@
 	 * token range is empty.
 	 *
 	 * @return character index of token start position (inclusive)
-	 * @since 3.2
 	 */
 	public int getTokenStart() {
 		return this.tokenStart;
@@ -217,9 +205,7 @@
 	 * (<code>getTokenEnd() == getTokenStart() - 1</code>).
 	 *
 	 * @return character index of token end position (exclusive)
-	 * @since 3.2
 	 */
-	// TODO (david) https://bugs.eclipse.org/bugs/show_bug.cgi?id=132558
 	public int getTokenEnd() {
 		return this.tokenEnd;
 	}
@@ -229,7 +215,6 @@
 	 * after which code assist is requested.
 	 *
 	 * @return offset position in the source file buffer
-	 * @since 3.2
 	 */
 	public int getOffset() {
 		return this.offset;
diff --git a/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/core/CompletionProposal.java b/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/core/CompletionProposal.java
index 51be069..8f3382d 100644
--- a/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/core/CompletionProposal.java
+++ b/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/core/CompletionProposal.java
@@ -17,12 +17,12 @@
 /**
  * Completion proposal.
  * <p>
- * In typical usage, the user working in a Java code editor issues
+ * In typical usage, the user working in a JavaScript code editor issues
  * a code assist command. This command results in a call to
  * <code>ICodeAssist.codeComplete(position, completionRequestor)</code>
  * passing the current position in the source code. The code assist
  * engine analyzes the code in the buffer, determines what kind of
- * Java language construct is at that position, and proposes ways
+ * JavaScript language construct is at that position, and proposes ways
  * to complete that construct. These proposals are instances of
  * the class <code>CompletionProposal</code>. These proposals,
  * perhaps after sorting and filtering, are presented to the user
@@ -35,7 +35,7 @@
  * {@linkplain #getReplaceStart() the start}
  * and {@linkplain #getReplaceEnd() end}. The string
  * can be arbitrary; for example, it might include not only the
- * name of a method but a set of parentheses. Moreover, the source
+ * name of a function but a set of parentheses. Moreover, the source
  * range may include source positions before or after the source
  * position where <code>ICodeAssist.codeComplete</code> was invoked.
  * The rest of the information associated with the proposal is
@@ -102,7 +102,7 @@
 	 * the type signature of the type that declares the field that is referenced
 	 * </li>
 	 * <li>{@link #getFlags()} -
-	 * the modifiers flags (including ACC_ENUM) of the field that is referenced
+	 * the modifiers flags  of the field that is referenced
 	 * </li>
 	 * <li>{@link #getName()} -
 	 * the simple name of the field that is referenced
@@ -122,8 +122,8 @@
 	/**
 	 * Completion is a keyword.
 	 * This kind of completion might occur in a context like
-	 * <code>"public cl^ Foo {}"</code> and complete it to
-	 * <code>"public class Foo {}"</code>.
+	 * <code>"fu Foo {}"</code> and complete it to
+	 * <code>"function Foo {}"</code>.
 	 * <p>
 	 * The following additional context information is available
 	 * for this kind of completion proposal at little extra cost:
@@ -188,8 +188,8 @@
 	/**
 	 * Completion is a reference to a method.
 	 * This kind of completion might occur in a context like
-	 * <code>"System.out.pr^();"</code> and complete it to
-	 * <code>""System.out.println();"</code>.
+	 * <code>"myObject.pr^();"</code> and complete it to
+	 * <code>""myObject.println();"</code>.
 	 * <p>
 	 * The following additional context information is available
 	 * for this kind of completion proposal at little extra cost:
@@ -214,10 +214,7 @@
 	public static final int METHOD_REF = 6;
 
 	/**
-	 * Completion is a declaration of a method.
-	 * This kind of completion might occur in a context like
-	 * <code>"new List() {si^};"</code> and complete it to
-	 * <code>"new List() {public int size() {} };"</code>.
+	 * Completion is a declaration of a function.
 	 * <p>
 	 * The following additional context information is available
 	 * for this kind of completion proposal at little extra cost:
@@ -269,30 +266,27 @@
 	 * </p>
 	 *
 	 * @see #getKind()
+	 *
+	 * <b>This completion only applies to ECMAScript 4 which is not yet supported</b>
 	 */
 	public static final int PACKAGE_REF = 8;
 
 	/**
-	 * Completion is a reference to a type. Any kind of type
-	 * is allowed, including primitive types, reference types,
-	 * array types, parameterized types, and type variables.
+	 * Completion is a reference to a type.
 	 * This kind of completion might occur in a context like
-	 * <code>"public static Str^ key;"</code> and complete it to
-	 * <code>"public static String key;"</code>.
+	 * <code>"var c=new Str^ ;"</code> and complete it to
+	 * <code>"var c=new String ;"</code>.
 	 * <p>
 	 * The following additional context information is available
 	 * for this kind of completion proposal at little extra cost:
 	 * <ul>
 	 * <li>{@link #getDeclarationSignature()} -
-	 * the dot-based package name of the package that contains
-	 * the type that is referenced
 	 * </li>
 	 * <li>{@link #getSignature()} -
 	 * the type signature of the type that is referenced
 	 * </li>
 	 * <li>{@link #getFlags()} -
-	 * the modifiers flags (including Flags.AccInterface, AccEnum,
-	 * and AccAnnotation) of the type that is referenced
+	 * the modifiers flags (including Flags.AccInterface) of the type that is referenced
 	 * </li>
 	 * </ul>
 	 * </p>
@@ -325,10 +319,8 @@
 	public static final int VARIABLE_DECLARATION = 10;
 
 	/**
-	 * Completion is a declaration of a new potential method.
+	 * Completion is a declaration of a new potential function.
 	 * This kind of completion might occur in a context like
-	 * <code>"new List() {si^};"</code> and complete it to
-	 * <code>"new List() {public int si() {} };"</code>.
 	 * <p>
 	 * The following additional context information is available
 	 * for this kind of completion proposal at little extra cost:
@@ -352,15 +344,11 @@
 	 * </p>
 	 *
 	 * @see #getKind()
-     * @since 3.1
 	 */
 	public static final int POTENTIAL_METHOD_DECLARATION = 11;
 
 	/**
-	 * Completion is a reference to a method name.
-	 * This kind of completion might occur in a context like
-	 * <code>"import p.X.fo^"</code> and complete it to
-	 * <code>"import p.X.foo;"</code>.
+	 * Completion is a reference to a function name.
 	 * <p>
 	 * The following additional context information is available
 	 * for this kind of completion proposal at little extra cost:
@@ -381,43 +369,13 @@
 	 * </p>
 	 *
 	 * @see #getKind()
-     * @since 3.1
 	 */
 	public static final int METHOD_NAME_REFERENCE = 12;
 
-	/**
-	 * Completion is a reference to annotation's attribute.
-	 * This kind of completion might occur in a context like
-	 * <code>"@Annot(attr^=value)"</code> and complete it to
-	 * <code>"@Annot(attribute^=value)"</code>.
-	 * <p>
-	 * The following additional context information is available
-	 * for this kind of completion proposal at little extra cost:
-	 * <ul>
-	 * <li>{@link #getDeclarationSignature()} -
-	 * the type signature of the annotation that declares the attribute that is referenced
-	 * </li>
-	 * <li>{@link #getFlags()} -
-	 * the modifiers flags of the attribute that is referenced
-	 * </li>
-	 * <li>{@link #getName()} -
-	 * the simple name of the attribute that is referenced
-	 * </li>
-	 * <li>{@link #getSignature()} -
-	 * the type signature of the attribute's type (as opposed to the
-	 * signature of the type in which the referenced attribute
-	 * is declared)
-	 * </li>
-	 * </ul>
-	 * </p>
-	 *
-	 * @see #getKind()
-	 * @since 3.1
-	 */
 	public static final int ANNOTATION_ATTRIBUTE_REF = 13;
 
 	/**
-	 * Completion is a link reference to a field in a javadoc text.
+	 * Completion is a link reference to a field in a JSdoc text.
 	 * This kind of completion might occur in a context like
 	 * <code>"	* blabla System.o^ blabla"</code> and complete it to
 	 * <code>"	* blabla {&#64;link System#out } blabla"</code>.
@@ -443,15 +401,14 @@
 	 * </p>
 	 *
 	 * @see #getKind()
-	 * @since 3.2
 	 */
 	public static final int JSDOC_FIELD_REF = 14;
 
 	/**
-	 * Completion is a link reference to a method in a javadoc text.
+	 * Completion is a link reference to a function in a JSdoc text.
 	 * This kind of completion might occur in a context like
-	 * <code>"	* blabla Runtime#get^ blabla"</code> and complete it to
-	 * <code>"	* blabla {&#64;link Runtime#getRuntime() }"</code>.
+	 * <code>"	* blabla Object#va^ blabla"</code> and complete it to
+	 * <code>"	* blabla {&#64;link Object#valueOf() }"</code>.
 	 * <p>
 	 * The following additional context information is available
 	 * for this kind of completion proposal at little extra cost:
@@ -472,12 +429,11 @@
 	 * </p>
 	 *
 	 * @see #getKind()
-	 * @since 3.2
 	 */
 	public static final int JSDOC_METHOD_REF = 15;
 
 	/**
-	 * Completion is a link reference to a type in a javadoc text.
+	 * Completion is a link reference to a type in a JSdoc text.
 	 * Any kind of type is allowed, including primitive types, reference types,
 	 * array types, parameterized types, and type variables.
 	 * This kind of completion might occur in a context like
@@ -495,22 +451,20 @@
 	 * the type signature of the type that is referenced
 	 * </li>
 	 * <li>{@link #getFlags()} -
-	 * the modifiers flags (including Flags.AccInterface, AccEnum,
-	 * and AccAnnotation) of the type that is referenced
+	 * the modifiers flags  of the type that is referenced
 	 * </li>
 	 * </ul>
 	 * </p>
 	 *
 	 * @see #getKind()
-	 * @since 3.2
 	 */
 	public static final int JSDOC_TYPE_REF = 16;
 
 	/**
-	 * Completion is a value reference to a static field in a javadoc text.
+	 * Completion is a value reference to a static field in a JSdoc text.
 	 * This kind of completion might occur in a context like
-	 * <code>"	* blabla System.o^ blabla"</code> and complete it to
-	 * <code>"	* blabla {&#64;value System#out } blabla"</code>.
+	 * <code>"	* blabla Number.N^ blabla"</code> and complete it to
+	 * <code>"	* blabla {&#64;value Number#NaN } blabla"</code>.
 	 * <p>
 	 * The following additional context information is available
 	 * for this kind of completion proposal at little extra cost:
@@ -519,7 +473,7 @@
 	 * the type signature of the type that declares the field that is referenced
 	 * </li>
 	 * <li>{@link #getFlags()} -
-	 * the modifiers flags (including ACC_ENUM) of the field that is referenced
+	 * the modifiers flags of the field that is referenced
 	 * </li>
 	 * <li>{@link #getName()} -
 	 * the simple name of the field that is referenced
@@ -533,19 +487,12 @@
 	 * </p>
 	 *
 	 * @see #getKind()
-	 * @since 3.2
 	 */
 	public static final int JSDOC_VALUE_REF = 17;
 
 	/**
 	 * Completion is a method argument or a class/method type parameter
-	 * in javadoc param tag.
-	 * This kind of completion might occur in a context like
-	 * <code>"	* @param arg^ blabla"</code> and complete it to
-	 * <code>"	* @param argument blabla"</code>.
-	 * or
-	 * <code>"	* @param &lt;T^ blabla"</code> and complete it to
-	 * <code>"	* @param &lt;TT&gt; blabla"</code>.
+	 * in JSdoc param tag.
 	 * <p>
 	 * The following additional context information is available
 	 * for this kind of completion proposal at little extra cost:
@@ -567,13 +514,14 @@
 	 * </ul>
 	 * </p>
 	 *
+	 * <b>This field only applies to ECMAScript 4 which is not yet supported</b>
+	 *
 	 * @see #getKind()
-	 * @since 3.2
 	 */
 	public static final int JSDOC_PARAM_REF = 18;
 
 	/**
-	 * Completion is a javadoc block tag.
+	 * Completion is a JSdoc block tag.
 	 * This kind of completion might occur in a context like
 	 * <code>"	* @s^ blabla"</code> and complete it to
 	 * <code>"	* @see blabla"</code>.
@@ -585,7 +533,7 @@
 	 * the type signature of the type that declares the field that is referenced
 	 * </li>
 	 * <li>{@link #getFlags()} -
-	 * the modifiers flags (including ACC_ENUM) of the field that is referenced
+	 * the modifiers flags of the field that is referenced
 	 * </li>
 	 * <li>{@link #getName()} -
 	 * the simple name of the field that is referenced
@@ -599,12 +547,11 @@
 	 * </p>
 	 *
 	 * @see #getKind()
-	 * @since 3.2
 	 */
 	public static final int JSDOC_BLOCK_TAG = 19;
 
 	/**
-	 * Completion is a javadoc inline tag.
+	 * Completion is a JSdoc inline tag.
 	 * This kind of completion might occur in a context like
 	 * <code>"	* Insert @l^ Object"</code> and complete it to
 	 * <code>"	* Insert {&#64;link Object }"</code>.
@@ -616,7 +563,7 @@
 	 * the type signature of the type that declares the field that is referenced
 	 * </li>
 	 * <li>{@link #getFlags()} -
-	 * the modifiers flags (including ACC_ENUM) of the field that is referenced
+	 * the modifiers flags of the field that is referenced
 	 * </li>
 	 * <li>{@link #getName()} -
 	 * the simple name of the field that is referenced
@@ -630,7 +577,6 @@
 	 * </p>
 	 *
 	 * @see #getKind()
-	 * @since 3.2
 	 */
 	public static final int JSDOC_INLINE_TAG = 20;
 
@@ -663,7 +609,6 @@
 	 *
 	 * @see #getKind()
 	 *
-	 * @since 3.3
 	 */
 	public static final int FIELD_IMPORT = 21;
 
@@ -694,7 +639,6 @@
 	 *
 	 * @see #getKind()
 	 *
-	 * @since 3.3
 	 */
 	public static final int METHOD_IMPORT = 22;
 
@@ -725,21 +669,18 @@
 	 *
 	 * @see #getKind()
 	 *
-	 * @since 3.3
 	 */
 	public static final int TYPE_IMPORT = 23;
 
 	/**
 	 * First valid completion kind.
 	 *
-	 * @since 3.1
 	 */
 	protected static final int FIRST_KIND = ANONYMOUS_CLASS_DECLARATION;
 
 	/**
 	 * Last valid completion kind.
 	 *
-	 * @since 3.1
 	 */
 	protected static final int LAST_KIND = TYPE_IMPORT;
 
@@ -816,14 +757,14 @@
 	private char[] name = null;
 
 	/**
-	 * Signature of the method, field type, member type,
+	 * Signature of the function, field type, member type,
 	 * relevant in the context, or <code>null</code> if none.
 	 * Defaults to null.
 	 */
 	private char[] signature = null;
 
 	/**
-	 * Unique of the method, field type, member type,
+	 * Unique of the function, field type, member type,
 	 * relevant in the context, or <code>null</code> if none.
 	 * Defaults to null.
 	 */
@@ -867,7 +808,7 @@
 	 * field have plausible default values unless otherwise noted.
 	 * <p>
 	 * Note that the constructors for this class are internal to the
-	 * Java model implementation. Clients cannot directly create
+	 * JavaScript model implementation. Clients cannot directly create
 	 * CompletionProposal objects.
 	 * </p>
 	 *
@@ -884,7 +825,7 @@
 	 * field have plausible default values unless otherwise noted.
 	 * <p>
 	 * Note that the constructors for this class are internal to the
-	 * Java model implementation. Clients cannot directly create
+	 * JavaScript model implementation. Clients cannot directly create
 	 * CompletionProposal objects.
 	 * </p>
 	 *
@@ -934,7 +875,6 @@
 	 * <code>CompletionFlags.Default</code> if none
 	 * @see CompletionFlags
 	 *
-	 * @since 3.3
 	 */
 	public int getAdditionalFlags() {
 		return this.additionalFlags;
@@ -953,7 +893,6 @@
 	 * @param additionalFlags the completion flags, or
 	 * <code>CompletionFlags.Default</code> if none
 	 *
-	 * @since 3.3
 	 */
 	public void setAdditionalFlags(int additionalFlags) {
 		this.additionalFlags = additionalFlags;
@@ -995,7 +934,7 @@
 	 * Returns the character index of the start of the
 	 * subrange in the source file buffer containing the
 	 * relevant token being completed. This
-	 * token is either the identifier or Java language keyword
+	 * token is either the identifier or JavaScript language keyword
 	 * under, or immediately preceding, the original request
 	 * offset. If the original request offset is not within
 	 * or immediately after an identifier or keyword, then the
@@ -1025,7 +964,7 @@
 	 * Sets the character indices of the subrange in the
 	 * source file buffer containing the relevant token being
 	 * completed. This token is either the identifier or
-	 * Java language keyword under, or immediately preceding,
+	 * JavaScript language keyword under, or immediately preceding,
 	 * the original request offset. If the original request
 	 * offset is not within or immediately after an identifier
 	 * or keyword, then the source range begins at original
@@ -1203,7 +1142,7 @@
 	}
 
 	/**
-	 * Returns the type signature or package name of the relevant
+	 * Returns the type signature of the relevant
 	 * declaration in the context, or <code>null</code> if none.
 	 * <p>
 	 * This field is available for the following kinds of
@@ -1266,14 +1205,13 @@
 	 *
 	 * @return a key, or <code>null</code> if none
 	 * @see org.eclipse.wst.jsdt.core.dom.ASTParser#createASTs(IJavaScriptUnit[], String[], org.eclipse.wst.jsdt.core.dom.ASTRequestor, IProgressMonitor)
-     * @since 3.1
 	 */
 	public char[] getDeclarationKey() {
 		return this.declarationKey;
 	}
 
 	/**
-	 * Sets the type or package signature of the relevant
+	 * Sets the type signature of the relevant
 	 * declaration in the context, or <code>null</code> if none.
 	 * <p>
 	 * If not set, defaults to none.
@@ -1291,7 +1229,7 @@
 	}
 
 	/**
-	 * Sets the type or package key of the relevant
+	 * Sets the type  key of the relevant
 	 * declaration in the context, or <code>null</code> if none.
 	 * <p>
 	 * If not set, defaults to none.
@@ -1303,14 +1241,13 @@
 	 *
 	 * @param key the type or package key, or
 	 * <code>null</code> if none
-     * @since 3.1
 	 */
 	public void setDeclarationKey(char[] key) {
 		this.declarationKey = key;
 	}
 
 	/**
-	 * Returns the simple name of the method, field,
+	 * Returns the simple name of the function, field,
 	 * member, or variable relevant in the context, or
 	 * <code>null</code> if none.
 	 * <p>
@@ -1425,7 +1362,6 @@
 	 *
 	 * @return the key, or <code>null</code> if none
 	 * @see org.eclipse.wst.jsdt.core.dom.ASTParser#createASTs(IJavaScriptUnit[], String[], org.eclipse.wst.jsdt.core.dom.ASTRequestor, IProgressMonitor)
-     * @since 3.1
 	 */
 	public char[] getKey() {
 		return this.key;
@@ -1458,7 +1394,6 @@
 //	 * @see #getDeclarationSignature()
 //	 * @see #getSignature()
 //	 *
-//	 * @since 3.1
 //	 */
 //	public char[] getDeclarationPackageName() {
 //		return this.declarationPackageName;
@@ -1494,7 +1429,6 @@
 //	 * @see #getDeclarationSignature()
 //	 * @see #getSignature()
 //	 *
-//	 * @since 3.1
 //	 */
 	public char[] getDeclarationTypeName() {
 		return this.declarationTypeName;
@@ -1533,7 +1467,6 @@
 //	 * @see #getDeclarationSignature()
 //	 * @see #getSignature()
 //	 *
-//	 * @since 3.1
 //	 */
 //	public char[] getPackageName() {
 //		return this.packageName;
@@ -1570,7 +1503,6 @@
 //	 * @see #getDeclarationSignature()
 //	 * @see #getSignature()
 //	 *
-//	 * @since 3.1
 //	 */
 //	public char[] getTypeName() {
 //		return this.typeName;
@@ -1600,7 +1532,6 @@
 //	 * @see #getDeclarationSignature()
 //	 * @see #getSignature()
 //	 *
-//	 * @since 3.1
 //	 */
 //	public char[][] getParameterPackageNames() {
 //		return this.parameterPackageNames;
@@ -1630,14 +1561,13 @@
 //	 * @see #getDeclarationSignature()
 //	 * @see #getSignature()
 //	 *
-//	 * @since 3.1
 //	 */
 //	public char[][] getParameterTypeNames() {
 //		return this.parameterTypeNames;
 //	}
 
 	/**
-	 * Sets the signature of the method, field type, member type,
+	 * Sets the signature of the function, method, field type, member type,
 	 * relevant in the context, or <code>null</code> if none.
 	 * <p>
 	 * If not set, defaults to none.
@@ -1665,7 +1595,6 @@
 	 * </p>
 	 *
 	 * @param key the key, or <code>null</code> if none
-     * @since 3.1
 	 */
 	public void setKey(char[] key) {
 		this.key = key;
@@ -1786,7 +1715,6 @@
 	 *
 	 * @see CompletionRequestor#setAllowsRequiredProposals(int, int,boolean)
 	 *
-	 * @since 3.3
 	 */
 	public CompletionProposal[] getRequiredProposals() {
 		return this.requiredProposals;
@@ -1805,14 +1733,13 @@
 	 *
 	 * @param proposals the list of required completion proposals, or
 	 * <code>null</code> if none
-     * @since 3.3
 	 */
 	public void setRequiredProposals(CompletionProposal[] proposals) {
 		this.requiredProposals = proposals;
 	}
 
 	/**
-	 * Finds the method parameter names.
+	 * Finds the method or function parameter names.
 	 * This information is relevant to method reference (and
 	 * method declaration proposals). Returns <code>null</code>
 	 * if not available or not relevant.
@@ -1821,7 +1748,7 @@
 	 * </p>
 	 * <p>
 	 * <b>Note that this is an expensive thing to compute, which may require
-	 * parsing Java source files, etc. Use sparingly.</b>
+	 * parsing JavaScript source files, etc. Use sparingly.</b>
 	 * </p>
 	 *
 	 * @param monitor the progress monitor, or <code>null</code> if none
@@ -1890,7 +1817,7 @@
 	}
 
 	/**
-	 * Sets the method parameter names.
+	 * Sets the method or function parameter names.
 	 * This information is relevant to method reference (and
 	 * method declaration proposals).
 	 * <p>
@@ -1923,7 +1850,6 @@
 	 *
 	 * @return the accessibility of the proposal
 	 *
-	 * @since 3.1
 	 */
 	public int getAccessibility() {
 		return this.accessibility;
@@ -1945,7 +1871,6 @@
 	 * </p>
 	 *
 	 * @return <code>true</code> if the proposal is a constructor.
-	 * @since 3.1
 	 */
 	public boolean isConstructor() {
 		return this.isConstructor;
diff --git a/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/core/CompletionRequestor.java b/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/core/CompletionRequestor.java
index 4e8fc14..988a94c 100644
--- a/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/core/CompletionRequestor.java
+++ b/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/core/CompletionRequestor.java
@@ -43,10 +43,6 @@
  * <code>endReporting</code> calls are always made as well as
  * <code>acceptContext</code> call.
  * </p>
- * <p>
- * The class was introduced in 3.0 as a more evolvable replacement
- * for the <code>ICompletionRequestor</code> interface.
- * </p>
  *
  * @see ICodeAssist
  *  
@@ -141,7 +137,6 @@
 	 * @see CompletionProposal#getKind()
 	 * @see CompletionProposal#getRequiredProposals()
 	 *
-	 * @since 3.3
 	 */
 	public boolean isAllowingRequiredProposals(int proposalKind, int requiredProposalKind) {
 		if (proposalKind < CompletionProposal.FIRST_KIND
@@ -176,7 +171,6 @@
 	 * @see CompletionProposal#getKind()
 	 * @see CompletionProposal#getRequiredProposals()
 	 *
-	 * @since 3.3
 	 */
 	public void setAllowsRequiredProposals(int proposalKind, int requiredProposalKind, boolean allow) {
 		if (proposalKind < CompletionProposal.FIRST_KIND
@@ -202,21 +196,14 @@
 	/**
 	 * Returns the favorite references which are used to compute some completion proposals.
 	 * <p>
-	 * A favorite reference is a qualified reference as it can be seen in an import statement.<br>
-	 * e.g. <code>{"java.util.Arrays"}</code><br>
-	 * It can be an on demand reference.<br>
-	 * e.g. <code>{"java.util.Arrays.*"}</code>
-	 * It can be a reference to a static method or field (as in a static import)<br>
-	 * e.g. <code>{"java.util.Arrays.equals"}</code>
-	 * </p>
-	 * <p>
 	 * Currently only on demand type references (<code>"java.util.Arrays.*"</code>),
 	 * references to a static method or a static field are used to compute completion proposals.
 	 * Other kind of reference could be used in the future.
 	 * </p>
 	 * @return favorite imports
 	 *
-	 * @since 3.3
+	 *
+	 * <b>This Method only applies to ECMAScript 4 which is not yet supported</b>
 	 */
 	public String[] getFavoriteReferences() {
 		return this.favoriteReferences;
@@ -230,7 +217,8 @@
 	 *
 	 * @see #getFavoriteReferences()
 	 *
-	 * @since 3.3
+	 * <b>This Method only applies to ECMAScript 4 which is not yet supported</b>
+	 *
 	 */
 	public void setFavoriteReferences(String[] favoriteImports) {
 		this.favoriteReferences = favoriteImports;
@@ -301,7 +289,6 @@
 	 * </p>
 	 * @param context the completion context
 	 *
-	 * @since 3.1
 	 */
 	public void acceptContext(CompletionContext context) {
 		// do nothing
diff --git a/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/core/CorrectionEngine.java b/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/core/CorrectionEngine.java
index 7013206..7a115e0 100644
--- a/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/core/CorrectionEngine.java
+++ b/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/core/CorrectionEngine.java
@@ -115,7 +115,6 @@
 	 * @exception IllegalArgumentException if <code>requestor</code> is <code>null</code>
 	 * @exception JavaScriptModelException currently this exception is never thrown, but the opportunity to thrown an exception
 	 * 	when the correction failed is kept for later.
-	 * @since 2.0
 	 */
 	public void computeCorrections(IMarker marker, IJavaScriptUnit targetUnit, int positionOffset, ICorrectionRequestor requestor) throws JavaScriptModelException {
 
@@ -149,7 +148,6 @@
 	 * @exception IllegalArgumentException if <code>targetUnit</code> or <code>requestor</code> is <code>null</code>
 	 * @exception JavaScriptModelException currently this exception is never thrown, but the opportunity to thrown an exception
 	 * 	when the correction failed is kept for later.
-	 * @since 2.0
 	 */
 	public void computeCorrections(IProblem problem, IJavaScriptUnit targetUnit, ICorrectionRequestor requestor) throws JavaScriptModelException {
 		if (requestor == null) {
@@ -186,7 +184,6 @@
 	 * @exception IllegalArgumentException if <code>requestor</code> is <code>null</code>
 	 * @exception JavaScriptModelException currently this exception is never thrown, but the opportunity to thrown an exception
 	 * 	when the correction failed is kept for later.
-	 * @since 2.0
 	 */
 	private void computeCorrections(IJavaScriptUnit unit, int id, int start, int end, String[] arguments, ICorrectionRequestor requestor) {
 
@@ -411,14 +408,13 @@
 	 * neither null nor empty, it contains at least the String <code>all</code>.
 	 * It should not be modified by the caller (please take a copy if modifications
 	 * are needed).<br>
-	 * <b>Note:</b> The tokens returned are not necessarily standardized across Java
-	 * compilers. If you were to use one of these tokens in a <code>@SuppressWarnings</code>
-	 * annotation in the Java source code, the effects (if any) may vary from
-	 * compiler to compiler.
+	 * <b>Note:</b> The tokens returned are not necessarily standardized across JavaScript
+	 * validators. If you were to use one of these tokens in a <code>@SuppressWarnings</code>
+	 * annotation in the JavaScript source code, the effects (if any) may vary from
+	 * validator to validator.
 	 *
 	 * @return an array of strings which contains one entry per warning token
 	 * 			accepted by the <code>@SuppressWarnings</code> annotation.
-	 * @since 3.2
 	 */
 	public static String[] getAllWarningTokens() {
 		return CompilerOptions.warningTokens;
@@ -432,7 +428,6 @@
 	 * @param problemMarker
 	 * 		the problem marker to decode arguments from.
 	 * @return an array of String arguments, or <code>null</code> if unable to extract arguments
-	 * @since 2.1
 	 */
 	public static String[] getProblemArguments(IMarker problemMarker){
 		String argumentsString = problemMarker.getAttribute(IJavaScriptModelMarker.ARGUMENTS, null);
@@ -455,16 +450,15 @@
 	 * <code>"all"</code> so as to suppress all possible warnings at once.
 	 * </p>
 	 * <p>
-	 * <b>Note:</b> The tokens returned are not necessarily standardized across Java
-	 * compilers. If you were to use one of these tokens in an @SuppressWarnings
-	 * annotation in the Java source code, the effects (if any) may vary from
-	 * compiler to compiler.
+	 * <b>Note:</b> The tokens returned are not necessarily standardized across JavaScript
+	 * validators. If you were to use one of these tokens in an @SuppressWarnings
+	 * annotation in the JavaScript source code, the effects (if any) may vary from
+	 * validator to validator.
 	 * </p>
 	 * @param problemID
 	 *         the ID of a given warning to suppress
 	 * @return a String which can be used in <code>@SuppressWarnings</code> annotation,
 	 * or <code>null</code> if unable to suppress this warning.
-	 * @since 3.1
 	 */
 	public static String getWarningToken(int problemID){
 		long irritant = ProblemReporter.getIrritant(problemID);
diff --git a/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/core/ElementChangedEvent.java b/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/core/ElementChangedEvent.java
index 1a58564..026ea77 100644
--- a/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/core/ElementChangedEvent.java
+++ b/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/core/ElementChangedEvent.java
@@ -14,11 +14,11 @@
 
 /**
  * An element changed event describes a change to the structure or contents
- * of a tree of Java elements. The changes to the elements are described by
+ * of a tree of JavaScript elements. The changes to the elements are described by
  * the associated delta object carried by this event.
  * <p>
  * This class is not intended to be instantiated or subclassed by clients.
- * Instances of this class are automatically created by the Java model.
+ * Instances of this class are automatically created by the JavaScript model.
  * </p>
  *
  * @see IElementChangedListener
@@ -34,38 +34,36 @@
 	/**
 	 * Event type constant (bit mask) indicating an after-the-fact
 	 * report of creations, deletions, and modifications
-	 * to one or more Java element(s) expressed as a hierarchical
+	 * to one or more JavaScript element(s) expressed as a hierarchical
 	 * java element delta as returned by <code>getDelta()</code>.
 	 *
 	 * Note: this notification occurs during the corresponding POST_CHANGE
 	 * resource change notification, and contains a full delta accounting for
-	 * any JavaModel operation  and/or resource change.
+	 * any JavaScriptModel operation  and/or resource change.
 	 *
 	 * @see IJavaScriptElementDelta
 	 * @see org.eclipse.core.resources.IResourceChangeEvent
 	 * @see #getDelta()
-	 * @since 2.0
 	 */
 	public static final int POST_CHANGE = 1;
 
 	/**
 	 * Event type constant (bit mask) indicating an after-the-fact
 	 * report of creations, deletions, and modifications
-	 * to one or more Java element(s) expressed as a hierarchical
+	 * to one or more JavaScript element(s) expressed as a hierarchical
 	 * java element delta as returned by <code>getDelta</code>.
 	 *
 	 * Note: this notification occurs during the corresponding PRE_AUTO_BUILD
 	 * resource change notification. The delta, which is notified here, only contains
-	 * information relative to the previous JavaModel operations (in other words,
-	 * it ignores the possible resources which have changed outside Java operations).
-	 * In particular, it is possible that the JavaModel be inconsistent with respect to
-	 * resources, which got modified outside JavaModel operations (it will only be
+	 * information relative to the previous JavaScriptModel operations (in other words,
+	 * it ignores the possible resources which have changed outside JavaScript operations).
+	 * In particular, it is possible that the JavaScriptModel be inconsistent with respect to
+	 * resources, which got modified outside JavaScriptModel operations (it will only be
 	 * fully consistent once the POST_CHANGE notification has occurred).
 	 *
 	 * @see IJavaScriptElementDelta
 	 * @see org.eclipse.core.resources.IResourceChangeEvent
 	 * @see #getDelta()
-	 * @since 2.0
 	 * @deprecated - no longer used, such deltas are now notified during POST_CHANGE
 	 */
 	public static final int PRE_AUTO_BUILD = 2;
@@ -73,7 +71,7 @@
 	/**
 	 * Event type constant (bit mask) indicating an after-the-fact
 	 * report of creations, deletions, and modifications
-	 * to one or more Java element(s) expressed as a hierarchical
+	 * to one or more JavaScript element(s) expressed as a hierarchical
 	 * java element delta as returned by <code>getDelta</code>.
 	 *
 	 * Note: this notification occurs as a result of a working copy reconcile
@@ -82,7 +80,6 @@
 	 * @see IJavaScriptElementDelta
 	 * @see org.eclipse.core.resources.IResourceChangeEvent
 	 * @see #getDelta()
-	 * @since 2.0
 	 */
 	public static final int 	POST_RECONCILE = 4;
 
@@ -100,7 +97,7 @@
 	/**
 	 * Creates an new element changed event (based on a <code>IJavaScriptElementDelta</code>).
 	 *
-	 * @param delta the Java element delta.
+	 * @param delta the JavaScript element delta.
 	 * @param type the type of delta (ADDED, REMOVED, CHANGED) this event contains
 	 */
 	public ElementChangedEvent(IJavaScriptElementDelta delta, int type) {
@@ -123,7 +120,6 @@
 	 * @see #POST_CHANGE
 	 * @see #PRE_AUTO_BUILD
 	 * @see #POST_RECONCILE
-	 * @since 2.0
 	 */
 	public int getType() {
 		return this.type;
diff --git a/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/core/Flags.java b/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/core/Flags.java
index 65acf5e..266422a 100644
--- a/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/core/Flags.java
+++ b/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/core/Flags.java
@@ -15,17 +15,11 @@
 import org.eclipse.wst.jsdt.internal.compiler.classfmt.ClassFileConstants;
 
 /**
- * Utility class for decoding modifier flags in Java elements.
+ * Utility class for decoding modifier flags in JavaScript elements.
  * <p>
  * This class provides static methods only; it is not intended to be
  * instantiated or subclassed by clients.
  * </p>
- * <p>
- * Note that the numeric values of these flags match the ones for class files
- * as described in the Java Virtual Machine Specification. The AST class
- * <code>Modifier</code> provides the same functionality as this class, only in
- * the <code>org.eclipse.wst.jsdt.core.dom</code> package.
- * </p>
  *
  * @see IMember#getFlags()
  *  
@@ -38,113 +32,93 @@
 
 	/**
 	 * Constant representing the absence of any flag
-	 * @since 3.0
 	 */
 	public static final int AccDefault = ClassFileConstants.AccDefault;
 	/**
-	 * Public access flag. See The Java Virtual Machine Specification for more details.
-	 * @since 2.0
+	 * Public access flag. 
+	 *
+	 * <b>This flag only applies to ECMAScript 4 which is not yet supported</b>
 	 */
 	public static final int AccPublic = ClassFileConstants.AccPublic;
 	/**
-	 * Private access flag. See The Java Virtual Machine Specification for more details.
-	 * @since 2.0
+	 * Private access flag.  
+	 *
+	 * <b>This flag only applies to ECMAScript 4 which is not yet supported</b>
 	 */
 	public static final int AccPrivate = ClassFileConstants.AccPrivate;
 	/**
-	 * Protected access flag. See The Java Virtual Machine Specification for more details.
-	 * @since 2.0
+	 * Protected access flag.  
+	 *
+	 * <b>This flag only applies to ECMAScript 4 which is not yet supported</b>
 	 */
 	public static final int AccProtected = ClassFileConstants.AccProtected;
 	/**
-	 * Static access flag. See The Java Virtual Machine Specification for more details.
-	 * @since 2.0
+	 * Static access flag. 
 	 */
 	public static final int AccStatic = ClassFileConstants.AccStatic;
-	/**
-	 * Final access flag. See The Java Virtual Machine Specification for more details.
-	 * @since 2.0
+	/*
+	 * Final access flag. 
 	 */
 	public static final int AccFinal = ClassFileConstants.AccFinal;
-	/**
-	 * Synchronized access flag. See The Java Virtual Machine Specification for more details.
-	 * @since 2.0
+	/*
+	 * Synchronized access flag.
 	 */
 	public static final int AccSynchronized = ClassFileConstants.AccSynchronized;
-	/**
-	 * Volatile property flag. See The Java Virtual Machine Specification for more details.
-	 * @since 2.0
+	/*
+	 * Volatile property flag. 
 	 */
 	public static final int AccVolatile = ClassFileConstants.AccVolatile;
-	/**
-	 * Transient property flag. See The Java Virtual Machine Specification for more details.
-	 * @since 2.0
+	/*
+	 * Transient property flag. 
 	 */
 	public static final int AccTransient = ClassFileConstants.AccTransient;
-	/**
-	 * Native property flag. See The Java Virtual Machine Specification for more details.
-	 * @since 2.0
+	/*
+	 * Native property flag.
 	 */
 	public static final int AccNative = ClassFileConstants.AccNative;
 	/**
-	 * Interface property flag. See The Java Virtual Machine Specification for more details.
-	 * @since 2.0
+	 * Interface property flag.
+	 *
+	 * <b>This flag only applies to ECMAScript 4 which is not yet supported</b>
 	 */
 	public static final int AccInterface = ClassFileConstants.AccInterface;
 	/**
-	 * Abstract property flag. See The Java Virtual Machine Specification for more details.
-	 * @since 2.0
+	 * Abstract property flag. 
+	 *
+	 * <b>This flag only applies to ECMAScript 4 which is not yet supported</b>
 	 */
 	public static final int AccAbstract = ClassFileConstants.AccAbstract;
-	/**
+	/*
 	 * Strictfp property flag. See The Java Virtual Machine Specification for more details.
-	 * @since 2.0
 	 */
 	public static final int AccStrictfp = ClassFileConstants.AccStrictfp;
 	/**
-	 * Super property flag. See The Java Virtual Machine Specification for more details.
-	 * @since 2.0
+	 * Super property flag.  
+	 *
+	 * <b>This flag only applies to ECMAScript 4 which is not yet supported</b>
 	 */
 	public static final int AccSuper = ClassFileConstants.AccSuper;
-	/**
-	 * Synthetic property flag. See The Java Virtual Machine Specification for more details.
-	 * @since 2.0
+	/*
+	 * Synthetic property flag.  
 	 */
 	public static final int AccSynthetic = ClassFileConstants.AccSynthetic;
 	/**
-	 * Deprecated property flag. See The Java Virtual Machine Specification for more details.
-	 * @since 2.0
+	 * Deprecated property flag.  
 	 */
 	public static final int AccDeprecated = ClassFileConstants.AccDeprecated;
 
-	/**
-	 * Bridge method property flag (added in J2SE 1.5). Used to flag a compiler-generated
-	 * bridge methods.
-	 * See The Java Virtual Machine Specification for more details.
-	 * @since 3.0
-	 */
 	public static final int AccBridge = ClassFileConstants.AccBridge;
 
-	/**
-	 * Varargs method property flag (added in J2SE 1.5).
+	/**=
+	 * Varargs method property 
 	 * Used to flag variable arity method declarations.
-	 * See The Java Virtual Machine Specification for more details.
-	 * @since 3.0
+	 *
+	 * <b>This flag only applies to ECMAScript 4 which is not yet supported</b>
 	 */
 	public static final int AccVarargs = ClassFileConstants.AccVarargs;
 
-	/**
-	 * Enum property flag (added in J2SE 1.5).
-	 * See The Java Virtual Machine Specification for more details.
-	 * @since 3.0
-	 */
 	public static final int AccEnum = ClassFileConstants.AccEnum;
 
-	/**
-	 * Annotation property flag (added in J2SE 1.5).
-	 * See The Java Virtual Machine Specification for more details.
-	 * @since 3.0
-	 */
 	public static final int AccAnnotation = ClassFileConstants.AccAnnotation;
 
 	/**
@@ -158,6 +132,8 @@
 	 *
 	 * @param flags the flags
 	 * @return <code>true</code> if the <code>abstract</code> modifier is included
+	 *
+	 * <b>This method only applies to ECMAScript 4 which is not yet supported</b>
 	 */
 	public static boolean isAbstract(int flags) {
 		return (flags & AccAbstract) != 0;
@@ -172,7 +148,7 @@
 	public static boolean isDeprecated(int flags) {
 		return (flags & AccDeprecated) != 0;
 	}
-	/**
+	/*
 	 * Returns whether the given integer includes the <code>final</code> modifier.
 	 *
 	 * @param flags the flags
@@ -186,12 +162,13 @@
 	 *
 	 * @param flags the flags
 	 * @return <code>true</code> if the <code>interface</code> modifier is included
-	 * @since 2.0
+	 *
+	 * <b>This method only applies to ECMAScript 4 which is not yet supported</b>
 	 */
 	public static boolean isInterface(int flags) {
 		return (flags & AccInterface) != 0;
 	}
-	/**
+	/*
 	 * Returns whether the given integer includes the <code>native</code> modifier.
 	 *
 	 * @param flags the flags
@@ -200,13 +177,14 @@
 	public static boolean isNative(int flags) {
 		return (flags & AccNative) != 0;
 	}
-	/**
+	/*
 	 * Returns whether the given integer does not include one of the
 	 * <code>public</code>, <code>private</code>, or <code>protected</code> flags.
 	 *
 	 * @param flags the flags
 	 * @return <code>true</code> if no visibility flag is set
-	 * @since 3.2
+	 *
+	 * <b>This method only applies to ECMAScript 4 which is not yet supported</b>
 	 */
 	public static boolean isPackageDefault(int flags) {
 		return (flags & (AccPublic | AccPrivate | AccProtected)) == 0;
@@ -216,6 +194,8 @@
 	 *
 	 * @param flags the flags
 	 * @return <code>true</code> if the <code>private</code> modifier is included
+	 *
+	 * <b>This method only applies to ECMAScript 4 which is not yet supported</b>
 	 */
 	public static boolean isPrivate(int flags) {
 		return (flags & AccPrivate) != 0;
@@ -225,6 +205,8 @@
 	 *
 	 * @param flags the flags
 	 * @return <code>true</code> if the <code>protected</code> modifier is included
+	 *
+	 * <b>This method only applies to ECMAScript 4 which is not yet supported</b>
 	 */
 	public static boolean isProtected(int flags) {
 		return (flags & AccProtected) != 0;
@@ -234,6 +216,8 @@
 	 *
 	 * @param flags the flags
 	 * @return <code>true</code> if the <code>public</code> modifier is included
+	 *
+	 * <b>This method only applies to ECMAScript 4 which is not yet supported</b>
 	 */
 	public static boolean isPublic(int flags) {
 		return (flags & AccPublic) != 0;
@@ -252,12 +236,13 @@
 	 *
 	 * @param flags the flags
 	 * @return <code>true</code> if the <code>super</code> modifier is included
-	 * @since 3.2
+	 *
+	 * <b>This method only applies to ECMAScript 4 which is not yet supported</b>
 	 */
 	public static boolean isSuper(int flags) {
 		return (flags & AccSuper) != 0;
 	}
-	/**
+	/*
 	 * Returns whether the given integer includes the <code>strictfp</code> modifier.
 	 *
 	 * @param flags the flags
@@ -266,7 +251,7 @@
 	public static boolean isStrictfp(int flags) {
 		return (flags & AccStrictfp) != 0;
 	}
-	/**
+	/*
 	 * Returns whether the given integer includes the <code>synchronized</code> modifier.
 	 *
 	 * @param flags the flags
@@ -275,7 +260,7 @@
 	public static boolean isSynchronized(int flags) {
 		return (flags & AccSynchronized) != 0;
 	}
-	/**
+	/*
 	 * Returns whether the given integer includes the indication that the
 	 * element is synthetic.
 	 *
@@ -285,7 +270,7 @@
 	public static boolean isSynthetic(int flags) {
 		return (flags & AccSynthetic) != 0;
 	}
-	/**
+	/*
 	 * Returns whether the given integer includes the <code>transient</code> modifier.
 	 *
 	 * @param flags the flags
@@ -294,7 +279,7 @@
 	public static boolean isTransient(int flags) {
 		return (flags & AccTransient) != 0;
 	}
-	/**
+	/*
 	 * Returns whether the given integer includes the <code>volatile</code> modifier.
 	 *
 	 * @param flags the flags
@@ -304,53 +289,49 @@
 		return (flags & AccVolatile) != 0;
 	}
 
-	/**
+	/*
 	 * Returns whether the given integer has the <code>AccBridge</code>
 	 * bit set.
 	 *
 	 * @param flags the flags
 	 * @return <code>true</code> if the <code>AccBridge</code> flag is included
 	 * @see #AccBridge
-	 * @since 3.0
 	 */
 	public static boolean isBridge(int flags) {
 		return (flags & AccBridge) != 0;
 	}
 
-	/**
+	/*
 	 * Returns whether the given integer has the <code>AccVarargs</code>
 	 * bit set.
 	 *
 	 * @param flags the flags
 	 * @return <code>true</code> if the <code>AccVarargs</code> flag is included
 	 * @see #AccVarargs
-	 * @since 3.0
 	 */
 	public static boolean isVarargs(int flags) {
 		return (flags & AccVarargs) != 0;
 	}
 
-	/**
+	/*
 	 * Returns whether the given integer has the <code>AccEnum</code>
 	 * bit set.
 	 *
 	 * @param flags the flags
 	 * @return <code>true</code> if the <code>AccEnum</code> flag is included
 	 * @see #AccEnum
-	 * @since 3.0
 	 */
 	public static boolean isEnum(int flags) {
 		return (flags & AccEnum) != 0;
 	}
 
-	/**
+	/*
 	 * Returns whether the given integer has the <code>AccAnnotation</code>
 	 * bit set.
 	 *
 	 * @param flags the flags
 	 * @return <code>true</code> if the <code>AccAnnotation</code> flag is included
 	 * @see #AccAnnotation
-	 * @since 3.0
 	 */
 	public static boolean isAnnotation(int flags) {
 		return (flags & AccAnnotation) != 0;
@@ -367,19 +348,6 @@
 	 *   <code>static</code>
 	 *   <code>abstract</code> <code>final</code> <code>native</code> <code>synchronized</code> <code>transient</code> <code>volatile</code> <code>strictfp</code>
 	 * </pre>
-	 * This is a compromise between the orders specified in sections 8.1.1,
-	 * 8.3.1, 8.4.3, 8.8.3, 9.1.1, and 9.3 of <em>The Java Language
-	 * Specification, Second Edition</em> (JLS2).
-	 * </p>
-	 * <p>
-	 * Note that the flags of a method can include the AccVarargs flag that has no standard description. Since the AccVarargs flag has the same value as
-	 * the AccTransient flag (valid for fields only), attempting to get the description of method modifiers with the AccVarargs flag set would result in an
-	 * unexpected description. Clients should ensure that the AccVarargs is not included in the flags of a method as follows:
-	 * <pre>
-	 * IFunction method = ...
-	 * int flags = method.getFlags() & ~Flags.AccVarargs;
-	 * return Flags.toString(flags);
-	 * </pre>
 	 * </p>
 	 * <p>
 	 * Examples results:
diff --git a/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/core/IAccessRule.java b/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/core/IAccessRule.java
index be7973a..e6ff7b2 100644
--- a/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/core/IAccessRule.java
+++ b/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/core/IAccessRule.java
@@ -13,23 +13,23 @@
 import org.eclipse.core.runtime.IPath;
 
 /**
- * Describes an access rule to source and class files on a classpath entry.
+ * Describes an access rule to source and class files on a includepath entry.
  * An access rule is composed of a file pattern and a kind (accessible,
  * non accessible, or discouraged).
  * <p>
- * On a given classpath entry, the access rules are considered in the order given
- * when the entry was created. When a source or class file matches an access
+ * On a given includepath entry, the access rules are considered in the order given
+ * when the entry was created. When a source matches an access
  * rule's pattern, the access rule's kind define whether the file is considered
- * accessible, non accessible, or its access is discouraged. If the source or class
- * file doesn't match any accessible rule, it is considered accessible. A source or class
+ * accessible, non accessible, or its access is discouraged. If the source
+ * file doesn't match any accessible rule, it is considered accessible. A source
  * file that is not accessible or discouraged can still be refered to but it is tagged as being not
- * accessible - the Java builder will create a problem marker for example.
+ * accessible - the JavaScript validator will create a problem marker for example.
  * The severity of the marker created from a non accessible rule is controled through
  * the {@link JavaScriptCore#COMPILER_PB_FORBIDDEN_REFERENCE} compiler option.
  * The severity of the marker created from a discouraged rule is controled through
  * the {@link JavaScriptCore#COMPILER_PB_DISCOURAGED_REFERENCE} compiler option.
- * Note this is different from inclusion and exclusion patterns on source classpath entries,
- * where a source file that is excluded is not even compiled.
+ * Note this is different from inclusion and exclusion patterns on source includepath entries,
+ * where a source file that is excluded is not even validated.
  * Files patterns look like relative file paths with wildcards and are interpreted relative
  * to each entry's path.
  * File patterns are case-sensitive and they can contain '**', '*' or '?' wildcards (see
@@ -39,16 +39,6 @@
  * <code>com/xyz/tests/MyClass</code> is a valid file pattern, whereas
  * <code>com/xyz/tests/MyClass.class</code> is not valid.
  * </p>
- * <p>
- * For example, if one of the entry path is <code>/Project/someLib.jar</code>,
- * there are no accessible rules, and there is one non accessible rule whith pattern
- * <code>com/xyz/tests/&#42;&#42;</code>, then class files
- * like <code>/Project/someLib.jar/com/xyz/Foo.class</code>
- * and <code>/Project/someLib.jar/com/xyz/utils/Bar.class</code> would be accessible,
- * whereas <code>/Project/someLib.jar/com/xyz/tests/T1.class</code>
- * and <code>/Project/someLib.jar/com/xyz/tests/quick/T2.class</code> would not be
- * accessible.
- * </p>
  *
  *  
  * Provisional API: This class/interface is part of an interim API that is still under development and expected to 
@@ -75,15 +65,14 @@
 
 	/**
 	 * <p>Flag indicating that whether a type matching this rule should be ignored iff a type with
-	 * the same qualified name can be found on a later classpath entry with a better
+	 * the same qualified name can be found on a later includepath entry with a better
 	 * accessibility.</p>
 	 * <p>E.g. if a type p.X matches a rule K_NON_ACCESSIBLE | IGNORE_IF_BETTER
 	 * on a library entry 'lib1' and another type p.X also matches a rule
 	 * K_DISCOURAGED on library entry 'lib2' ('lib2' being after 'lib1' on the
-	 * classpath), then p.X from 'lib2' will be used and reported as
+	 * includepath), then p.X from 'lib2' will be used and reported as
 	 * discouraged.</p>
 	 *
-	 * @since 3.2
 	 */
 	int IGNORE_IF_BETTER = 0x100;
 
@@ -104,18 +93,17 @@
 
 	/**
 	 * <p>Returns whether a type matching this rule should be ignored iff a type with
-	 * the same qualified name can be found on a later classpath entry with a better
+	 * the same qualified name can be found on a later includepath entry with a better
 	 * accessibility.</p>
 	 * <p>E.g. if a type p.X matches a rule K_NON_ACCESSIBLE | IGNORE_IF_BETTER
 	 * on a library entry 'lib1' and another type p.X also matches a rule
 	 * K_DISCOURAGED on library entry 'lib2' ('lib2' being after 'lib1' on the
-	 * classpath), then p.X from 'lib2' will be used and reported as
+	 * includepath), then p.X from 'lib2' will be used and reported as
 	 * discouraged.</p>
 	 *
 	 * @return whether a type matching this rule should be ignored iff a type
-	 *              with the same qualified name can be found on a later classpath
+	 *              with the same qualified name can be found on a later includepath
 	 *              entry with a better accessibility
-	 * @since 3.2
 	 */
 	boolean ignoreIfBetter();