nl_tokens: / * read all directives recognizes a simple form of asi but always warns if it is used
pl_tokens: function directives ( ) { var i , p , pn ; for ( ; ; ) { if ( nexttoken . id === "(string)" ) { p = peek ( 0 ) ; if ( p . id === "(endline)" ) { i = 1 ; do { pn = peek ( i ) ; i = i + 1 ; } while ( pn . id === "(endline)" ) ; if ( pn . id !== ";" ) { if ( pn . id !== "(string)" && pn . id !== "(number)" && pn . id !== "(regexp)" && pn . identifier !== true && pn . id !== "}" ) { break ; } warning ( "Missing semicolon." , nexttoken ) ; } else { p = pn ; } } else if ( p . id === "}" ) { // directive with no other statements, warn about missing semicolon warning ( "Missing semicolon." , p ) ; } else if ( p . id !== ";" ) { break ; } indentation ( ) ; advance ( ) ; if ( directive [ token . value ] ) { warning ( "Unnecessary directive \"{a}\"." , token , token . value ) ; } if ( token . value === "use strict" ) { option . newcap = true ; option . undef = true ; } // there's no directive negation, so always set to true directive [ token . value ] = <mask> ; if ( p . id === ";" ) { advance ( ";" ) ; } continue ; } break ; } }