Skip to content

Commit 2befd6a

Browse files
committed
evaluator: Fix imported types placed in custom sections again
1 parent 1d7acb7 commit 2befd6a

File tree

4 files changed

+4
-4
lines changed

4 files changed

+4
-4
lines changed

lib/source/pl/core/ast/ast_node_array_variable_decl.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,7 @@ namespace pl::core::ast {
101101
evaluator->setBitwiseReadOffset(startOffset);
102102
}
103103

104-
if (evaluator->isInUserSection() && !evaluator->isGlobalScope()) {
104+
if (this->m_placementOffset != nullptr && !evaluator->isGlobalScope()) {
105105
evaluator->addPattern(std::move(pattern));
106106
resultPatterns.pop_back();
107107
}

lib/source/pl/core/ast/ast_node_imported_type.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ namespace pl::core::ast {
2424
err::E0005.throwError(fmt::format("Error while processing imported type '{}'.", m_importedTypeName), "Check the imported pattern for errors.", getLocation());
2525
}
2626

27-
auto patterns = runtime.getPatterns();
27+
auto patterns = runtime.getPatterns(evaluator->getSectionId());
2828

2929
auto &result = resultPatterns.emplace_back();
3030
if (patterns.size() == 1) {

lib/source/pl/core/ast/ast_node_pointer_variable_decl.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -113,7 +113,7 @@ namespace pl::core::ast {
113113
this->execute(evaluator);
114114
resultPatterns.clear();
115115
} else {
116-
if (evaluator->isInUserSection() && !evaluator->isGlobalScope()) {
116+
if (this->m_placementOffset != nullptr && !evaluator->isGlobalScope()) {
117117
evaluator->addPattern(std::move(pattern));
118118
resultPatterns.clear();
119119
}

lib/source/pl/core/ast/ast_node_variable_decl.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@ namespace pl::core::ast {
8282
evaluator->setBitwiseReadOffset(startOffset);
8383
}
8484

85-
if (evaluator->isInUserSection() && !evaluator->isGlobalScope()) {
85+
if (this->m_placementOffset != nullptr && evaluator->isGlobalScope()) {
8686
evaluator->addPattern(std::move(pattern));
8787
} else {
8888
resultPatterns = hlp::moveToVector<std::shared_ptr<ptrn::Pattern>>(std::move(pattern));

0 commit comments

Comments
 (0)