components/jsl/patches/jsl-01-jsl-comment.patch
author Matt Keenan <matt.keenan@oracle.com>
Fri, 29 Mar 2013 17:28:20 +0000
changeset 1237 d1326ae31ed8
permissions -rw-r--r--
PSARC/2012/336 Javascript Lint version 0.3.0 15822402 SUNBT7204433 Request to integrate JavaScript Lint (jsl) into Userland
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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,