Allowing “exists” derived predicates to hold the precondition directly.
This commit is contained in:
parent
ea50cffac9
commit
5c93840f85
@ -104,7 +104,11 @@ normalizedAST::Literal normalizeNested(ast::ExistsPointer<ast::Precondition> &ex
|
|||||||
auto derivedPredicate = addDerivedPredicate(parameters, derivedPredicates);
|
auto derivedPredicate = addDerivedPredicate(parameters, derivedPredicates);
|
||||||
|
|
||||||
derivedPredicate->declaration->existentialParameters = std::move(exists->parameters);
|
derivedPredicate->declaration->existentialParameters = std::move(exists->parameters);
|
||||||
derivedPredicate->declaration->precondition = exists->argument.match([&](auto &x){return normalizeNested(x, derivedPredicates);});
|
derivedPredicate->declaration->precondition = exists->argument.match(
|
||||||
|
[&](auto &x) -> normalizedAST::DerivedPredicatePrecondition
|
||||||
|
{
|
||||||
|
return normalizeTopLevel(x, derivedPredicates);
|
||||||
|
});
|
||||||
|
|
||||||
// TODO: investigate, could be a compiler bug
|
// TODO: investigate, could be a compiler bug
|
||||||
return std::move(derivedPredicate);
|
return std::move(derivedPredicate);
|
||||||
|
Reference in New Issue
Block a user