Quintiq file version 2.0
|
#parent: #root
|
MethodOverride AddUnsafe (
|
LibOpt_ScopeThin scope,
|
LibOpt_Group group
|
) as LibOpt_ScopeShared
|
{
|
TextBody:
|
[*
|
vector := NumberVector::Construct( this.Set() );
|
|
if( vector.Size() <= scope.Index() )
|
{
|
vector.Resize( scope.Index() + 1 );
|
}
|
vector.Set( scope.Index(), vector.Get( scope.Index() ).BitOr( scope.Mask() ) );
|
|
set := vector.AsBinaryValue();
|
|
group_vector := this.GroupVectorAdd( scope, group );
|
if( this.Set() <> set )
|
{
|
scope.ScopeSharedOnScope( relnew, ScopeShared := this, Group := group );
|
}
|
else if( this.GroupVector() <> group_vector )
|
{
|
traverse( this, ScopeSharedOnScope, ssos, ssos.ScopeThin() = scope )
|
{
|
ssos.Group( relset, group );
|
}
|
}
|
LibOpt_ScopeSharedVector::ChangeKeySetVector( this, set, this.Type(), group_vector );
|
|
return this;
|
*]
|
}
|