*/
public void setDeclaration(IFunctionDefinition newDeclaration)
{
if (newDeclaration != declaration)
{
NotificationChain msgs = null;
if (declaration != null)
msgs = ((InternalEObject)declaration).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - S3DPackage.FUNCTION__DECLARATION, null, msgs);
if (newDeclaration != null)
msgs = ((InternalEObject)newDeclaration).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - S3DPackage.FUNCTION__DECLARATION, null, msgs);
msgs = basicSetDeclaration(newDeclaration, msgs);
if (msgs != null) msgs.dispatch();
}
else if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, S3DPackage.FUNCTION__DECLARATION, newDeclaration, newDeclaration));
}