| /** | 
|  * @fileoverview Define the cursor which ignores the first few tokens. | 
|  * @author Toru Nagashima | 
|  */ | 
| "use strict"; | 
|   | 
| //------------------------------------------------------------------------------ | 
| // Requirements | 
| //------------------------------------------------------------------------------ | 
|   | 
| const DecorativeCursor = require("./decorative-cursor"); | 
|   | 
| //------------------------------------------------------------------------------ | 
| // Exports | 
| //------------------------------------------------------------------------------ | 
|   | 
| /** | 
|  * The decorative cursor which ignores the first few tokens. | 
|  */ | 
| module.exports = class SkipCursor extends DecorativeCursor { | 
|   | 
|     /** | 
|      * Initializes this cursor. | 
|      * @param {Cursor} cursor The cursor to be decorated. | 
|      * @param {number} count The count of tokens this cursor skips. | 
|      */ | 
|     constructor(cursor, count) { | 
|         super(cursor); | 
|         this.count = count; | 
|     } | 
|   | 
|     /** @inheritdoc */ | 
|     moveNext() { | 
|         while (this.count > 0) { | 
|             this.count -= 1; | 
|             if (!super.moveNext()) { | 
|                 return false; | 
|             } | 
|         } | 
|         return super.moveNext(); | 
|     } | 
| }; |