MCPcopy Create free account
hub / github.com/SplootCode/splootcode / parseToPyright

Function parseToPyright

packages/language-python/src/nodes/utils.ts:208–231  ·  view source on GitHub ↗
(parseMapper: ParseMapper, tokens: SplootNode[])

Source from the content-addressed store, hash-verified

206}
207
208export function parseToPyright(parseMapper: ParseMapper, tokens: SplootNode[]): ExpressionNode {
209 if (tokens.length === 0) {
210 return {
211 nodeType: ParseNodeType.Error,
212 category: ErrorExpressionCategory.MissingExpression,
213 id: parseMapper.getNextId(),
214 start: 0,
215 length: 0,
216 }
217 }
218 const [valid, index, leftNode] = parseLeafToPyright(parseMapper, tokens, 0)
219 if (!valid) {
220 // No valid leaf at the start
221 return {
222 nodeType: ParseNodeType.Error,
223 category: ErrorExpressionCategory.MissingExpression,
224 id: parseMapper.getNextId(),
225 start: 0,
226 length: 0,
227 }
228 }
229 const [, , overallNode] = parseExpressionToPyright(parseMapper, tokens, leftNode, index, 0)
230 return overallNode
231}
232
233function parseLeaf(tokens: SplootNode[], currentIndex: number): [boolean, number] {
234 if (currentIndex >= tokens.length) {

Callers 4

generateParseTreeMethod · 0.90
generateParseTreeMethod · 0.90
generateParseTreeMethod · 0.90

Calls 3

parseLeafToPyrightFunction · 0.85
parseExpressionToPyrightFunction · 0.85
getNextIdMethod · 0.80

Tested by

no test coverage detected