@rightcapital/phpdoc-parser
Version:
TypeScript version of PHPDoc parser with support for intersection types and generics
41 lines (40 loc) • 1.68 kB
TypeScript
export declare class TokenIterator {
private tokens;
private index;
private savePoints;
private skippedTokenTypes;
private newline;
constructor(tokens: Array<[string, string, number]>, index?: number);
getTokens(): Array<[string, string, number]>;
getContentBetween(startPos: number, endPos: number): string;
getTokenCount(): number;
currentTokenValue(): string;
currentTokenType(): string;
currentTokenOffset(): number;
currentTokenLine(): number;
currentTokenIndex(): number;
endIndexOfLastRelevantToken(): number;
isCurrentTokenValue(tokenValue: string): boolean;
isCurrentTokenType(...tokenType: string[]): boolean;
isPrecededByHorizontalWhitespace(): boolean;
consumeTokenType(tokenType: string): void;
consumeTokenValue(tokenType: string, tokenValue: string): void;
tryConsumeTokenValue(tokenValue: string): boolean;
tryConsumeTokenType(tokenType: string): boolean;
private detectNewline;
getSkippedHorizontalWhiteSpaceIfAny(): string;
joinUntil(...tokenType: string[]): string;
next(): void;
private skipIrrelevantTokens;
addEndOfLineToSkippedTokens(): void;
removeEndOfLineFromSkippedTokens(): void;
forwardToTheEnd(): void;
pushSavePoint(): void;
dropSavePoint(): void;
rollback(): void;
throwError(expectedTokenType: string, expectedTokenValue?: string | null): void;
hasTokenImmediatelyBefore(pos: number, expectedTokenType: string): boolean;
hasTokenImmediatelyAfter(pos: number, expectedTokenType: string): boolean;
getDetectedNewline(): string | null;
hasParentheses(startPos: number, endPos: number): boolean;
}