JSDOC/TokenReader.js
authorAlan Knowles <alan@roojs.com>
Tue, 5 Apr 2016 07:26:39 +0000 (15:26 +0800)
committerAlan Knowles <alan@roojs.com>
Tue, 5 Apr 2016 07:26:39 +0000 (15:26 +0800)
JSDOC/TokenReader.js

index 9fe4fe7..5e5cec8 100644 (file)
@@ -464,12 +464,25 @@ const TokenReader = XObject.define(
                 )
             ) {
                 var regex = stream.next();
-                
+                var unbrace = false;
                 while (!stream.look().eof) {
+                    
+                    if (stream.look() == "[") { // escape sequence
+                        in_brace = true;
+                        continue;
+                    }
+                    
+                    if (in_brace && stream.look() == "[") { // escape sequence
+                        in_brace = true;
+                        continue;
+                    }
+                    
                     if (stream.look() == "\\") { // escape sequence
                         regex += stream.next(2);
+                        continue;
                     }
-                    else if (stream.look() == "/") {
+                    
+                    if (!in_brace && stream.look() == "/") {
                         regex += stream.next();
                         
                         while (/[gmi]/.test(stream.look())) {
@@ -479,9 +492,9 @@ const TokenReader = XObject.define(
                         tokens.push(new Token(regex, "REGX", "REGX", this.line));
                         return true;
                     }
-                    else {
-                        regex += stream.next();
-                    }
+                    
+                    regex += stream.next();
+                    
                 }
                 // error: unterminated regex
             }