docs: function parseContinueStatement(node) {
          var label = null, key;
  
          expectKeyword('continue');
  
          // Optimize the most common form: 'continue;'.
          if (source.charCodeAt(startIndex) === 0x3B) {
              lex();
  
              if (!state.inIteration) {
                  throwError(Messages.IllegalContinue);
              }
  
              return node.finishContinueStatement(null);
          }
  
          if (hasLineTerminator) {
              if (!state.inIteration) {
                  throwError(Messages.IllegalContinue);
              }
  
              return node.finishContinueStatement(null);
          }
  
          if (lookahead.type === Token.Identifier) {
              label = parseVariableIdentifier();
  
              key = '$' + label.name;
              if (!Object.prototype.hasOwnProperty.call(state.labelSet, key)) {
                  throwError(Messages.UnknownLabel, label.name);
              }
          }
  
          consumeSemicolon();
  
          if (label === null && !state.inIteration) {
              throwError(Messages.IllegalContinue);
          }
  
          return node.finishContinueStatement(label);
      }