UNPKG

@rightcapital/phpdoc-parser

Version:

TypeScript version of PHPDoc parser with support for intersection types and generics

48 lines (47 loc) 2.08 kB
import { PhpDocNode } from '../ast/php-doc/php-doc-node'; import { PhpDocTagNode } from '../ast/php-doc/php-doc-tag-node'; import type { PhpDocTagValueNode } from '../ast/php-doc/php-doc-tag-value-node'; import type { ConstExprParser } from './const-expr-parser'; import type { TokenIterator } from './token-iterator'; import type { TypeParser } from './type-parser'; export declare class PhpDocParser { typeParser: TypeParser; constantExprParser: ConstExprParser; requireWhitespaceBeforeDescription: boolean; preserveTypeAliasesWithInvalidTypes: boolean; parseDoctrineAnnotations: boolean; private textBetweenTagsBelongsToDescription; private useLinesAttributes; private useIndexAttributes; private static readonly DISALLOWED_DESCRIPTION_START_TOKENS; constructor(typeParser: TypeParser, constantExprParser: ConstExprParser, requireWhitespaceBeforeDescription?: boolean, preserveTypeAliasesWithInvalidTypes?: boolean, usedAttributes?: { lines: boolean; indexes: boolean; }, parseDoctrineAnnotations?: boolean, textBetweenTagsBelongsToDescription?: boolean); parse(tokens: TokenIterator): PhpDocNode; private parseChild; private enrichWithAttributes; private parseText; parseTag(tokens: TokenIterator): PhpDocTagNode; parseTagValue(tokens: TokenIterator, tag: string): PhpDocTagValueNode; private parseParamTagValue; private parseVarTagValue; private parseReturnTagValue; private parseThrowsTagValue; private parseMixinTagValue; private parseDeprecatedTagValue; private parsePropertyTagValue; private parseMethodTagValue; private parseMethodTagValueParameter; private parseTemplateTagValue; private parseExtendsTagValue; private parseTypeAliasTagValue; private parseTypeAliasImportTagValue; private parseAssertTagValue; private parseAssertParameter; private parseSelfOutTagValue; private parseParamOutTagValue; private parseOptionalVariableName; private parseRequiredVariableName; private parseOptionalDescription; }