MCPcopy Create free account
hub / github.com/GaijinEntertainment/daScript / preVisitForStack

Method preVisitForStack

src/ast/ast_allocate_stack.cpp:530–549  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

528 // ExprFor
529
530 virtual void preVisitForStack ( ExprFor * expr ) override {
531 Visitor::preVisitForStack(expr);
532 if ( inStruct ) return;
533 for ( auto & var : expr->iteratorVariables ) {
534 auto sz = var->type->getSizeOf();
535 var->stackTop = allocateStack(sz);
536 if ( log ) {
537 logs << "\t" << var->stackTop << "\t" << sz
538 << "\tfor " << var->name << ", line " << var->at.line << "\n";
539 }
540 }
541 /*
542 for ( auto & src : expr->sources ) {
543 if ( src->rtti_isMakeLocal() ) {
544 auto mkl = static_cast<ExprMakeLocal*>(src);
545 mkl->needTempSrc = true;
546 }
547 }
548 */
549 }
550 // ExprLet
551 virtual void preVisitLet ( ExprLet * expr, const VariablePtr & var, bool last ) override {
552 Visitor::preVisitLet(expr,var,last);

Callers

nothing calls this directly

Calls 1

getSizeOfMethod · 0.45

Tested by

no test coverage detected