Bug 406519 - [validation] Valid JavaScript code flagged as error (regexp, infinity, non-breaking space)
Issue is fixed by specifiyng the characters u000b (VERTICAL TAB) and u00a0 (NO-BREAK SPACE) as the Whitespace ones
Signed-off-by: vrubezhny <vrubezhny@exadel.com>
diff --git a/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/internal/compiler/parser/AbstractCommentParser.java b/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/internal/compiler/parser/AbstractCommentParser.java
index ab4db6b..489680b 100644
--- a/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/internal/compiler/parser/AbstractCommentParser.java
+++ b/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/internal/compiler/parser/AbstractCommentParser.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2000, 2010 IBM Corporation and others.
+ * Copyright (c) 2000, 2013 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -289,9 +289,11 @@
this.inlineTagStart = previousPosition;
break;
case '*' :
- case '\u000c' : /* FORM FEED */
- case ' ' : /* SPACE */
- case '\t' : /* HORIZONTAL TABULATION */
+ case '\t' : /* HORIZONTAL TABULATION */
+ case '\u000b' : /* FORM FEED */
+ case '\u000c' : /* VERTICAL TAB */
+ case ' ' : /* SPACE */
+ case '\u00a0' : /* NO-BREAK SPACE */
// do nothing for space or '*' characters
break;
default :
@@ -1440,9 +1442,11 @@
}
this.index = previousPosition;
return true;
- case '\u000c' : /* FORM FEED */
- case ' ' : /* SPACE */
- case '\t' : /* HORIZONTAL TABULATION */
+ case '\t' : /* HORIZONTAL TABULATION */
+ case '\u000b' : /* FORM FEED */
+ case '\u000c' : /* VERTICAL TAB */
+ case ' ' : /* SPACE */
+ case '\u00a0' : /* NO-BREAK SPACE */
if (this.starPosition >= 0) break nextChar;
break;
case '*':
diff --git a/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/internal/compiler/parser/JavadocParser.java b/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/internal/compiler/parser/JavadocParser.java
index b328b4d..385777c 100644
--- a/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/internal/compiler/parser/JavadocParser.java
+++ b/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/internal/compiler/parser/JavadocParser.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2000, 2011 IBM Corporation and others.
+ * Copyright (c) 2000, 2013 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -149,9 +149,11 @@
char c = readChar(); // consider unicodes
switch (c) {
case '*' :
- case '\u000c' : /* FORM FEED */
- case ' ' : /* SPACE */
case '\t' : /* HORIZONTAL TABULATION */
+ case '\u000b' : /* FORM FEED */
+ case '\u000c' : /* VERTICAL TAB */
+ case ' ' : /* SPACE */
+ case '\u00a0' : /* NO-BREAK SPACE */
case '\n' : /* LINE FEED */
case '\r' : /* CR */
// do nothing for space or '*' characters
diff --git a/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/internal/compiler/parser/Scanner.java b/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/internal/compiler/parser/Scanner.java
index b841426..acec785 100644
--- a/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/internal/compiler/parser/Scanner.java
+++ b/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/internal/compiler/parser/Scanner.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2000, 2011 IBM Corporation and others.
+ * Copyright (c) 2000, 2013 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -978,11 +978,13 @@
//isWhiteSpace =
// (this.currentCharacter == ' ') || ScannerHelper.isWhitespace(this.currentCharacter);
switch (this.currentCharacter) {
+ case 9 : /* \ u0009: HORIZONTAL TABULATION */
case 10 : /* \ u000a: LINE FEED */
+ case 11 : /* \ u000b: VERTICAL TAB */
case 12 : /* \ u000c: FORM FEED */
case 13 : /* \ u000d: CARRIAGE RETURN */
case 32 : /* \ u0020: SPACE */
- case 9 : /* \ u0009: HORIZONTAL TABULATION */
+ case 160: /* \ u00a0: NO-BREAK SPACE */
isWhiteSpace = true;
break;
default :
@@ -1113,11 +1115,13 @@
//isWhiteSpace =
// (this.currentCharacter == ' ') || ScannerHelper.isWhitespace(this.currentCharacter);
switch (this.currentCharacter) {
+ case 9 : /* \ u0009: HORIZONTAL TABULATION */
case 10 : /* \ u000a: LINE FEED */
+ case 11 : /* \ u000b: VERTICAL TAB */
case 12 : /* \ u000c: FORM FEED */
case 13 : /* \ u000d: CARRIAGE RETURN */
case 32 : /* \ u0020: SPACE */
- case 9 : /* \ u0009: HORIZONTAL TABULATION */
+ case 160: /* \ u00a0: NO-BREAK SPACE */
isWhiteSpace = true;
break;
default :
diff --git a/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/internal/core/util/PublicScanner.java b/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/internal/core/util/PublicScanner.java
index 4dea3a3..067f33d 100644
--- a/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/internal/core/util/PublicScanner.java
+++ b/bundles/org.eclipse.wst.jsdt.core/src/org/eclipse/wst/jsdt/internal/core/util/PublicScanner.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2000, 2010 IBM Corporation and others.
+ * Copyright (c) 2000, 2013 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -971,11 +971,13 @@
//isWhiteSpace =
// (this.currentCharacter == ' ') || ScannerHelper.isWhitespace(this.currentCharacter);
switch (this.currentCharacter) {
+ case 9 : /* \ u0009: HORIZONTAL TABULATION */
case 10 : /* \ u000a: LINE FEED */
+ case 11 : /* \ u000b: VERTICAL TAB */
case 12 : /* \ u000c: FORM FEED */
case 13 : /* \ u000d: CARRIAGE RETURN */
case 32 : /* \ u0020: SPACE */
- case 9 : /* \ u0009: HORIZONTAL TABULATION */
+ case 160: /* \ u00a0: NO-BREAK SPACE */
isWhiteSpace = true;
break;
default :
@@ -1088,11 +1090,13 @@
//isWhiteSpace =
// (this.currentCharacter == ' ') || ScannerHelper.isWhitespace(this.currentCharacter);
switch (this.currentCharacter) {
+ case 9 : /* \ u0009: HORIZONTAL TABULATION */
case 10 : /* \ u000a: LINE FEED */
+ case 11 : /* \ u000b: VERTICAL TAB */
case 12 : /* \ u000c: FORM FEED */
case 13 : /* \ u000d: CARRIAGE RETURN */
case 32 : /* \ u0020: SPACE */
- case 9 : /* \ u0009: HORIZONTAL TABULATION */
+ case 160: /* \ u00a0: NO-BREAK SPACE */
isWhiteSpace = true;
break;
default :