Quintiq file version 2.0
|
#parent: #root
|
Method GetRelevantScopeElements (LibOpt_ScopeElements scopeelements_all) as owning LibOpt_ScopeElements
|
{
|
Description: 'Return the set of `LibOpt_ScopeElements` which are relevant for the `LibOpt_Suboptimizer`.'
|
TextBody:
|
[*
|
// Get `LibOpt_ScopeElements` that have been used in *input* `LibOpt_ScopeFat` for this `LibOpt_Suboptimizer`.
|
scopeelements_actual_suboptimizer := selectset( this, SnapshotComponent.InputScope.astype( LibOpt_ScopeFat ).ScopeElementOnScope.ScopeElement, se, true );
|
|
// Get the *types* of `LibOpt_ScopeElements` that have been used in *input* `LibOpt_ScopeFat` for this `LibOpt_Suboptimizer`.
|
scopeelementtypes_suboptimizer := selectuniquevalues( scopeelements_actual_suboptimizer, Elements, se, true, se.DefinitionName() );
|
|
// Get the set of `LibOpt_ScopeElements` *relevant* for this `LibOpt_Suboptimizer` by checking if the *type* of a `LibOpt_ScopeElement` has appeared in the
|
// *input* `LibOpt_ScopeFat` of this `LibOpt_Suboptimizer` before.
|
return selectset( scopeelements_all, Elements, se, scopeelementtypes_suboptimizer.Find( se.DefinitionName() ) >= 0 );
|
*]
|
}
|