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

Function generateForStatement

python/executor.py:553–573  ·  view source on GitHub ↗
(for_node, traced, lineno)

Source from the content-addressed store, hash-verified

551
552
553def generateForStatement(for_node, traced, lineno):
554 target = generateAstAssignableExpression(for_node["childSets"]["target"])
555 iterable = generateAstExpression(for_node["childSets"]["iterable"][0])
556 if traced:
557 iterable = iterableLogExpressionResultAndStartFrame('PYTHON_FOR_LOOP_ITERATION', 'iterable', iterable)
558
559 blockStatements = getStatementsFromBlock(for_node["childSets"]["block"], traced)
560 if len(blockStatements) == 0:
561 blockStatements = [ast.Pass()]
562
563 if not traced:
564 return [ast.For(target, iterable, blockStatements, [], lineno=lineno)]
565
566 blockStatements.insert(0, startChildSetStatement('block'))
567 blockStatements.append(endFrame())
568
569 return [
570 startFrameStatement('PYTHON_FOR_LOOP', 'frames'),
571 ast.For(target, iterable, blockStatements, [], lineno=lineno),
572 endFrame()
573 ]
574
575
576def generateWhileStatement(while_node, traced, lineno):

Callers 1

Calls 7

startChildSetStatementFunction · 0.85
endFrameFunction · 0.85
startFrameStatementFunction · 0.85
generateAstExpressionFunction · 0.70
getStatementsFromBlockFunction · 0.70

Tested by

no test coverage detected