Lines Matching refs:evaluate

101       evaluate::ExpressionAnalyzer &a, const std::list<DSV> &list)  in DataInitializationCompiler()
118 bool InitElement(const evaluate::OffsetSymbol &, const SomeExpr &designator);
121 const SomeExpr &, const evaluate::DynamicType &);
124 evaluate::ExpressionAnalyzer &exprAnalyzer_;
179 evaluate::FoldingContext &context{exprAnalyzer_.GetFoldingContext()}; in Scan()
182 auto foldedStep{evaluate::Fold(context, SomeExpr{*stepExpr})}; in Scan()
190 auto foldedLower{evaluate::Fold(context, SomeExpr{*lowerExpr})}; in Scan()
192 auto foldedUpper{evaluate::Fold(context, SomeExpr{*upperExpr})}; in Scan()
195 int kind{evaluate::ResultType<evaluate::ImpliedDoIndex>::kind}; in Scan()
196 if (const auto dynamicType{evaluate::DynamicType::From(*name.symbol)}) { in Scan()
239 auto designator{exprAnalyzer_.Designate(evaluate::DataRef{symbol})}; in Scan()
247 evaluate::FoldingContext &context{exprAnalyzer_.GetFoldingContext()}; in InitDesignator()
248 evaluate::DesignatorFolder folder{context}; in InitDesignator()
251 if (auto bad{evaluate::OffsetToDesignator(context, *offsetSymbol)}) { in InitDesignator()
273 const SomeExpr &expr, const evaluate::DynamicType &type) { in ConvertElement()
274 if (auto converted{evaluate::ConvertToType(type, SomeExpr{expr})}) { in ConvertElement()
279 if (auto converted{evaluate::HollerithToBOZ( in ConvertElement()
285 if (MaybeExpr converted{evaluate::DataConstantConversionExtension( in ConvertElement()
301 const evaluate::OffsetSymbol &offsetSymbol, const SomeExpr &designator) { in InitElement()
306 evaluate::FoldingContext &context{exprAnalyzer_.GetFoldingContext()}; in InitElement()
313 evaluate::OffsetToDesignator(context, offsetSymbol)}) { in InitElement()
324 const auto GetImage{[&]() -> evaluate::InitialImage & { in InitElement()
332 evaluate::AttachDeclaration( in InitElement()
359 } else if (evaluate::IsNullPointer(*expr)) { in InitElement()
363 if (evaluate::IsProcedure(*expr)) { in InitElement()
369 evaluate::AttachDeclaration( in InitElement()
381 } else if (evaluate::IsProcedure(*expr)) { in InitElement()
389 } else if (evaluate::IsNullPointer(*expr)) { in InitElement()
392 } else if (evaluate::IsProcedure(*expr)) { in InitElement()
415 auto folded{evaluate::Fold(context, std::move(converted->first))}; in InitElement()
418 case evaluate::InitialImage::Ok: in InitElement()
420 case evaluate::InitialImage::NotAConstant: in InitElement()
425 case evaluate::InitialImage::OutOfRange: in InitElement()
444 evaluate::ExpressionAnalyzer &exprAnalyzer, in AccumulateDataInitializations()
461 evaluate::ExpressionAnalyzer &exprAnalyzer, const Symbol &symbol, in AccumulateDataInitializations()
499 evaluate::FoldingContext &foldingContext);
503 evaluate::FoldingContext &foldingContext, const Symbol &symbol) { in PopulateWithComponentDefaults()
504 if (auto extents{evaluate::GetConstantExtents(foldingContext, symbol)}) { in PopulateWithComponentDefaults()
511 for (auto elements{evaluate::GetSize(*extents)}; elements-- > 0; in PopulateWithComponentDefaults()
522 evaluate::FoldingContext &foldingContext) { in PopulateWithComponentDefaults()
541 if (auto dyType{evaluate::DynamicType::From(component)}) { in PopulateWithComponentDefaults()
542 if (auto extents{evaluate::GetConstantExtents( in PopulateWithComponentDefaults()
568 SomeExpr procPtrInit{evaluate::ProcedureDesignator{**proc->init()}}; in PopulateWithComponentDefaults()
583 evaluate::ExpressionAnalyzer &exprAnalyzer, const std::string &what) { in CheckForOverlappingInitialization()
597 if (auto badDesignator{evaluate::OffsetToDesignator( in CheckForOverlappingInitialization()
617 evaluate::FoldingContext &foldingContext) { in IncorporateExplicitInitialization()
645 offset, SomeExpr{evaluate::ProcedureDesignator{**proc->init()}}); in IncorporateExplicitInitialization()
668 evaluate::FoldingContext &foldingContext) { in ComputeMinElementBytes()
672 if (auto dyType{evaluate::DynamicType::From(s)}) { in ComputeMinElementBytes()
674 evaluate::ToInt64(dyType->MeasureSizeInBytes(foldingContext, true)) in ComputeMinElementBytes()
699 evaluate::ExpressionAnalyzer &exprAnalyzer, DataInitializations &inits) { in CombineEquivalencedInitialization()
786 evaluate::FoldingContext &foldingContext, DataInitializations &inits) { in MakeDefaultInitializationExplicit()
816 evaluate::ExpressionAnalyzer &exprAnalyzer, DataInitializations &inits) { in ProcessScopes()
851 evaluate::ExpressionAnalyzer &exprAnalyzer) { in ConstructInitializer()
861 std::get_if<evaluate::ProcedureDesignator>(&expr->u)}) { in ConstructInitializer()
865 CHECK(evaluate::IsNullPointer(*expr)); in ConstructInitializer()
877 mutableObject.set_init(SomeExpr{evaluate::NullPointer{}}); in ConstructInitializer()
879 } else if (auto symbolType{evaluate::DynamicType::From(symbol)}) { in ConstructInitializer()
880 if (auto extents{evaluate::GetConstantExtents(context, symbol)}) { in ConstructInitializer()
906 DataInitializations &inits, evaluate::ExpressionAnalyzer &exprAnalyzer) { in ConvertToInitializers()