import { Diagnostic } from '../common/diagnostic'; import { DiagnosticSink } from '../common/diagnosticSink'; import { PythonVersion } from '../common/pythonVersion'; import { TextRange } from '../common/textRange'; import { TextRangeCollection } from '../common/textRangeCollection'; import { ArgumentNode, ExpressionNode, FunctionAnnotationNode, ModuleNameNode, ModuleNode, ParseNode } from './parseNodes'; import { TokenizerOutput } from './tokenizer'; export declare class ParseOptions { isStubFile: boolean; pythonVersion: PythonVersion; reportInvalidStringEscapeSequence: boolean; skipFunctionAndClassBody: boolean; useNotebookMode: boolean; reportErrorsForParsedStringContents: boolean; constructor(); } export interface ParserOutput { parseTree: ModuleNode; importedModules: ModuleImport[]; futureImports: Set; containsWildcardImport: boolean; typingSymbolAliases: Map; hasTypeAnnotations: boolean; lines: TextRangeCollection; } export interface ParseFileResults { text: string; contentHash: number; parserOutput: ParserOutput; tokenizerOutput: TokenizerOutput; } export interface ParseExpressionTextResults { parseTree?: T | undefined; lines: TextRangeCollection; diagnostics: Diagnostic[]; } export interface ModuleImport { nameNode: ModuleNameNode; leadingDots: number; nameParts: string[]; importedSymbols: Set | undefined; } export interface ArgListResult { args: ArgumentNode[]; trailingComma: boolean; } export declare const enum ParseTextMode { Expression = 0, VariableAnnotation = 1, FunctionAnnotation = 2 } export declare class Parser { private _fileContents?; private _tokenizerOutput?; private _tokenIndex; private _areErrorsSuppressed; private _parseOptions; private _diagSink; private _isInLoop; private _isInFunction; private _isInExceptionGroup; private _isParsingTypeAnnotation; private _isParsingIndexTrailer; private _isParsingQuotedText; private _isInFinallyBlock; private _isInFinallyLoop; private _futureImports; private _importedModules; private _containsWildcardImport; private _assignmentExpressionsAllowed; private _typingImportAliases; private _typingSymbolAliases; private _maxChildDepthMap; private _hasTypeAnnotations; parseSourceFile(fileContents: string, parseOptions: ParseOptions, diagSink: DiagnosticSink): ParseFileResults; parseTextExpression(fileContents: string, textOffset: number, textLength: number, parseOptions: ParseOptions, parseTextMode: ParseTextMode.Expression, initialParenDepth?: number, typingSymbolAliases?: Map): ParseExpressionTextResults; parseTextExpression(fileContents: string, textOffset: number, textLength: number, parseOptions: ParseOptions, parseTextMode: ParseTextMode.VariableAnnotation, initialParenDepth?: number, typingSymbolAliases?: Map): ParseExpressionTextResults; parseTextExpression(fileContents: string, textOffset: number, textLength: number, parseOptions: ParseOptions, parseTextMode: ParseTextMode.FunctionAnnotation, initialParenDepth?: number, typingSymbolAliases?: Map): ParseExpressionTextResults; private _startNewParse; private _parseStatement; private _parseAsyncStatement; private _parseTypeAliasStatement; private _parseTypeParameterList; private _parseTypeParameter; private _parseMatchStatement; private _parseCaseStatement; private _isPatternIrrefutable; private _reportDuplicatePatternCaptureTargets; private _getPatternTargetNames; private _parsePatternSequence; private _parsePatternAs; private _parsePatternAtom; private _parseClassPatternArgList; private _parseClassPatternArgument; private _parsePatternLiteral; private _parsePatternLiteralNumber; private _parsePatternMapping; private _parsePatternMappingItem; private _parsePatternCaptureOrValue; private _parseIfStatement; private _parseExceptSuite; private _parseLoopSuite; private _parseSuite; private _parseForStatement; private _tryParseComprehension; private _tryParseCompForStatement; private _tryParseCompIfStatement; private _parseWhileStatement; private _parseTryStatement; private _parseFunctionDef; private _parseVarArgsList; private _parseParameter; private _parseWithStatement; private _parseWithItem; private _parseDecorated; private _parseDecorator; private _isNameOrMemberAccessExpression; private _parseClassDef; private _parsePassStatement; private _parseBreakStatement; private _parseContinueStatement; private _parseReturnStatement; private _parseFromStatement; private _parseImportStatement; private _parseDottedModuleName; private _parseGlobalStatement; private _parseNonlocalStatement; private _parseNameList; private _parseRaiseStatement; private _parseAssertStatement; private _parseDelStatement; private _parseYieldExpression; private _tryParseYieldExpression; private _parseSimpleStatement; private _parseSmallStatement; private _makeExpressionOrTuple; private _parseExpressionListAsPossibleTuple; private _parseTestListAsExpression; private _parseTestOrStarListAsExpression; private _parseExpressionList; private _parseTestExpressionList; private _parseTestOrStarExpressionList; private _parseExpression; private _parseTestOrStarExpression; private _parseTestExpression; private _parseAssignmentExpression; private _parseOrTest; private _parseAndTest; private _parseNotTest; private _parseComparison; private _parseBitwiseOrExpression; private _parseBitwiseXorExpression; private _parseBitwiseAndExpression; private _parseShiftExpression; private _parseArithmeticExpression; private _parseArithmeticTerm; private _parseArithmeticFactor; private _isTypingAnnotation; private _parseAtomExpression; private _parseSubscriptList; private _parsePossibleSlice; private _parseArgList; private _parseArgument; private _parseAtom; private _handleExpressionParseError; private _parseLambdaExpression; private _tryParseLambdaExpression; private _parseTupleAtom; private _parseListAtom; private _parseTestListWithComprehension; private _parseDictionaryOrSetAtom; private _parseExpressionListGeneric; private _parseExpressionStatement; private _parseChainAssignments; private _parseFunctionTypeAnnotation; private _parseTypeAnnotation; private _reportStringTokenErrors; private _makeStringNode; private _getTypeAnnotationCommentText; private _parseVariableTypeAnnotationComment; private _parseFunctionTypeAnnotationComment; private _parseFStringReplacementField; private _parseFStringFormatString; private _parseFormatString; private _createBinaryOperationNode; private _createUnaryOperationNode; private _parseStringList; private _reportConditionalErrorForStarTupleElement; private _isNextTokenNeverExpression; private _disallowAssignmentExpression; private _getNextToken; private _atEof; private _peekToken; private _peekTokenType; private _peekKeywordType; private _peekOperatorType; private _getTokenIfIdentifier; private _consumeTokensUntilType; private _getTokenIfType; private _consumeTokenIfType; private _consumeTokenIfKeyword; private _consumeTokenIfOperator; private _getKeywordToken; private _getLanguageVersion; private _suppressErrors; private _addSyntaxError; }