author | Matt Keenan <matt.keenan@oracle.com> |
Fri, 29 Mar 2013 17:28:20 +0000 | |
changeset 1237 | d1326ae31ed8 |
permissions | -rw-r--r-- |
1237
d1326ae31ed8
PSARC/2012/336 Javascript Lint version 0.3.0
Matt Keenan <matt.keenan@oracle.com>
parents:
diff
changeset
|
1 |
--- jsl-0.3.0/src/jsscan.c.orig Wed Oct 25 20:41:48 2006 |
d1326ae31ed8
PSARC/2012/336 Javascript Lint version 0.3.0
Matt Keenan <matt.keenan@oracle.com>
parents:
diff
changeset
|
2 |
+++ jsl-0.3.0/src/jsscan.c Thu Oct 11 16:45:39 2012 |
d1326ae31ed8
PSARC/2012/336 Javascript Lint version 0.3.0
Matt Keenan <matt.keenan@oracle.com>
parents:
diff
changeset
|
3 |
@@ -875,7 +875,7 @@ |
d1326ae31ed8
PSARC/2012/336 Javascript Lint version 0.3.0
Matt Keenan <matt.keenan@oracle.com>
parents:
diff
changeset
|
4 |
* with the syntax for the @...@ control comments and JScript conditional comments. The "jsl:" syntax |
d1326ae31ed8
PSARC/2012/336 Javascript Lint version 0.3.0
Matt Keenan <matt.keenan@oracle.com>
parents:
diff
changeset
|
5 |
* is preferred for this reason. |
d1326ae31ed8
PSARC/2012/336 Javascript Lint version 0.3.0
Matt Keenan <matt.keenan@oracle.com>
parents:
diff
changeset
|
6 |
*/ |
d1326ae31ed8
PSARC/2012/336 Javascript Lint version 0.3.0
Matt Keenan <matt.keenan@oracle.com>
parents:
diff
changeset
|
7 |
- jschar controlCommentPrefix[4]; |
d1326ae31ed8
PSARC/2012/336 Javascript Lint version 0.3.0
Matt Keenan <matt.keenan@oracle.com>
parents:
diff
changeset
|
8 |
+ jschar controlCommentPrefix[5]; |
d1326ae31ed8
PSARC/2012/336 Javascript Lint version 0.3.0
Matt Keenan <matt.keenan@oracle.com>
parents:
diff
changeset
|
9 |
if (PeekChars(ts, 4, controlCommentPrefix) && |
d1326ae31ed8
PSARC/2012/336 Javascript Lint version 0.3.0
Matt Keenan <matt.keenan@oracle.com>
parents:
diff
changeset
|
10 |
JS_TOLOWER(controlCommentPrefix[0]) == 'j' && |
d1326ae31ed8
PSARC/2012/336 Javascript Lint version 0.3.0
Matt Keenan <matt.keenan@oracle.com>
parents:
diff
changeset
|
11 |
JS_TOLOWER(controlCommentPrefix[1]) == 's' && |
d1326ae31ed8
PSARC/2012/336 Javascript Lint version 0.3.0
Matt Keenan <matt.keenan@oracle.com>
parents:
diff
changeset
|
12 |
@@ -885,6 +885,16 @@ |
d1326ae31ed8
PSARC/2012/336 Javascript Lint version 0.3.0
Matt Keenan <matt.keenan@oracle.com>
parents:
diff
changeset
|
13 |
SkipChars(ts, 4); |
d1326ae31ed8
PSARC/2012/336 Javascript Lint version 0.3.0
Matt Keenan <matt.keenan@oracle.com>
parents:
diff
changeset
|
14 |
jslCC->isAtFormat = JS_FALSE; |
d1326ae31ed8
PSARC/2012/336 Javascript Lint version 0.3.0
Matt Keenan <matt.keenan@oracle.com>
parents:
diff
changeset
|
15 |
} |
d1326ae31ed8
PSARC/2012/336 Javascript Lint version 0.3.0
Matt Keenan <matt.keenan@oracle.com>
parents:
diff
changeset
|
16 |
+ else if (PeekChars(ts, 5, controlCommentPrefix) && |
d1326ae31ed8
PSARC/2012/336 Javascript Lint version 0.3.0
Matt Keenan <matt.keenan@oracle.com>
parents:
diff
changeset
|
17 |
+ JS_TOLOWER(controlCommentPrefix[0]) == ' ' && |
d1326ae31ed8
PSARC/2012/336 Javascript Lint version 0.3.0
Matt Keenan <matt.keenan@oracle.com>
parents:
diff
changeset
|
18 |
+ JS_TOLOWER(controlCommentPrefix[1]) == 'j' && |
d1326ae31ed8
PSARC/2012/336 Javascript Lint version 0.3.0
Matt Keenan <matt.keenan@oracle.com>
parents:
diff
changeset
|
19 |
+ JS_TOLOWER(controlCommentPrefix[2]) == 's' && |
d1326ae31ed8
PSARC/2012/336 Javascript Lint version 0.3.0
Matt Keenan <matt.keenan@oracle.com>
parents:
diff
changeset
|
20 |
+ JS_TOLOWER(controlCommentPrefix[3]) == 'l' && |
d1326ae31ed8
PSARC/2012/336 Javascript Lint version 0.3.0
Matt Keenan <matt.keenan@oracle.com>
parents:
diff
changeset
|
21 |
+ JS_TOLOWER(controlCommentPrefix[4]) == ':') { |
d1326ae31ed8
PSARC/2012/336 Javascript Lint version 0.3.0
Matt Keenan <matt.keenan@oracle.com>
parents:
diff
changeset
|
22 |
+ /* pre-spaced jsl format */ |
d1326ae31ed8
PSARC/2012/336 Javascript Lint version 0.3.0
Matt Keenan <matt.keenan@oracle.com>
parents:
diff
changeset
|
23 |
+ SkipChars(ts, 5); |
d1326ae31ed8
PSARC/2012/336 Javascript Lint version 0.3.0
Matt Keenan <matt.keenan@oracle.com>
parents:
diff
changeset
|
24 |
+ jslCC->isAtFormat = JS_FALSE; |
d1326ae31ed8
PSARC/2012/336 Javascript Lint version 0.3.0
Matt Keenan <matt.keenan@oracle.com>
parents:
diff
changeset
|
25 |
+ } |
d1326ae31ed8
PSARC/2012/336 Javascript Lint version 0.3.0
Matt Keenan <matt.keenan@oracle.com>
parents:
diff
changeset
|
26 |
else if (lint->enableLegacyControlComments && MatchChar(ts, '@')) { |
d1326ae31ed8
PSARC/2012/336 Javascript Lint version 0.3.0
Matt Keenan <matt.keenan@oracle.com>
parents:
diff
changeset
|
27 |
/* legacy format */ |
d1326ae31ed8
PSARC/2012/336 Javascript Lint version 0.3.0
Matt Keenan <matt.keenan@oracle.com>
parents:
diff
changeset
|
28 |
jslCC->isAtFormat = JS_TRUE; |
d1326ae31ed8
PSARC/2012/336 Javascript Lint version 0.3.0
Matt Keenan <matt.keenan@oracle.com>
parents:
diff
changeset
|
29 |
@@ -1561,6 +1571,10 @@ |
d1326ae31ed8
PSARC/2012/336 Javascript Lint version 0.3.0
Matt Keenan <matt.keenan@oracle.com>
parents:
diff
changeset
|
30 |
while ((c = GetChar(ts)) != EOF && |
d1326ae31ed8
PSARC/2012/336 Javascript Lint version 0.3.0
Matt Keenan <matt.keenan@oracle.com>
parents:
diff
changeset
|
31 |
!(c == '*' && MatchChar(ts, '/'))) { |
d1326ae31ed8
PSARC/2012/336 Javascript Lint version 0.3.0
Matt Keenan <matt.keenan@oracle.com>
parents:
diff
changeset
|
32 |
|
d1326ae31ed8
PSARC/2012/336 Javascript Lint version 0.3.0
Matt Keenan <matt.keenan@oracle.com>
parents:
diff
changeset
|
33 |
+ /* allow for spaces around jsl: declarations */ |
d1326ae31ed8
PSARC/2012/336 Javascript Lint version 0.3.0
Matt Keenan <matt.keenan@oracle.com>
parents:
diff
changeset
|
34 |
+ if (c == ' ' && PeekChar(ts) == '*') |
d1326ae31ed8
PSARC/2012/336 Javascript Lint version 0.3.0
Matt Keenan <matt.keenan@oracle.com>
parents:
diff
changeset
|
35 |
+ continue; |
d1326ae31ed8
PSARC/2012/336 Javascript Lint version 0.3.0
Matt Keenan <matt.keenan@oracle.com>
parents:
diff
changeset
|
36 |
+ |
d1326ae31ed8
PSARC/2012/336 Javascript Lint version 0.3.0
Matt Keenan <matt.keenan@oracle.com>
parents:
diff
changeset
|
37 |
/* check for nested comments */ |
d1326ae31ed8
PSARC/2012/336 Javascript Lint version 0.3.0
Matt Keenan <matt.keenan@oracle.com>
parents:
diff
changeset
|
38 |
if (c == '/' && PeekChar(ts) == '*' && |
d1326ae31ed8
PSARC/2012/336 Javascript Lint version 0.3.0
Matt Keenan <matt.keenan@oracle.com>
parents:
diff
changeset
|
39 |
!js_ReportCompileErrorNumber(cx, ts, NULL, |