コード例 #1
0
 protected override void OnParameterAdded(EventArgsR1 <IIntermediateIndexerParameterMember <IStructIndexerMember, IIntermediateStructIndexerMember, IStructType, IIntermediateStructType> > e)
 {
     if (this.CanRead && this.IsGetMethodInitialized)
     {
         var gm = this.GetMethod;
         if (gm._AreParametersInitialized)
         {
             var gmParams = gm.Parameters;
             gmParams._Add(e.Arg1.UniqueIdentifier, new IndexerDependentParameter((ParameterMembersDictionary.ParameterMember)e.Arg1, gm));
             gm._OnIdentifierChanged(gm.UniqueIdentifier, DeclarationChangeCause.Signature);
         }
     }
     if (this.CanWrite && this.IsSetMethodInitialized)
     {
         var sm = this.SetMethod;
         if (sm._AreParametersInitialized)
         {
             var smParams   = sm.Parameters;
             var valueParam = (IndexerValueParameter)((IIntermediatePropertySetMethodMember)sm).ValueParameter;
             smParams._Remove(valueParam.UniqueIdentifier);
             smParams._Add(e.Arg1.UniqueIdentifier, new IndexerDependentParameter((ParameterMembersDictionary.ParameterMember)e.Arg1, sm));
             smParams._Add(valueParam.UniqueIdentifier, valueParam);
             sm._OnIdentifierChanged(sm.UniqueIdentifier, DeclarationChangeCause.Signature);
         }
     }
     base.OnParameterAdded(e);
 }
 protected override void OnParameterAdded(EventArgsR1 <IIntermediateIndexerSignatureParameterMember <IGenericParameterIndexerMember <TGenericParameter>, IIntermediateGenericParameterIndexerMember <TGenericParameter, TIntermediateGenericParameter>, TGenericParameter, TIntermediateGenericParameter> > e)
 {
     if (this.CanRead && base.IsGetMethodInitialized)
     {
         var gm = (IndexerMethodMember)this.GetMethod;
         if (gm._AreParametersInitialized)
         {
             var gmParams = gm.Parameters;
             gmParams._Add(e.Arg1.UniqueIdentifier, new IndexerDependentParameter((ParametersDictionary.ParameterMember)e.Arg1, gm));
         }
     }
     if (this.CanWrite && this.IsSetMethodInitialized)
     {
         var sm = (IndexerSetMethodMember)this.SetMethod;
         if (sm._AreParametersInitialized)
         {
             var smParams   = sm.Parameters;
             var valueParam = (IndexerValueParameter)((IIntermediatePropertySetMethodMember)sm).ValueParameter;
             smParams._Remove(valueParam.UniqueIdentifier);
             smParams._Add(e.Arg1.UniqueIdentifier, new IndexerDependentParameter((ParametersDictionary.ParameterMember)e.Arg1, sm));
             smParams._Add(valueParam.UniqueIdentifier, valueParam);
         }
     }
     base.OnParameterAdded(e);
 }
コード例 #3
0
 void intermediateType_TypeParameterAddOrRemove(object sender, EventArgsR1 <IIntermediateGenericTypeParameter <TTypeIdentifier, TType, TIntermediateType> > e)
 {
     if (sender is TIntermediateType)
     {
         this.RekeyElement((TIntermediateType)sender);
     }
 }
コード例 #4
0
 protected override void OnParameterAdded(EventArgsR1 <IIntermediateIndexerParameterMember <IClassIndexerMember, IIntermediateClassIndexerMember, IClassType, IIntermediateClassType> > e)
 {
     if (this.CanRead && this.IsGetMethodInitialized)
     {
         var gm = this.GetMethod;
         if (gm._AreParametersInitialized)
         {
             var gmParams = gm.Parameters;
             gmParams._Add(e.Arg1.UniqueIdentifier, GetIndexerDependentParameter(gm, (ParameterMembersDictionary.ParameterMember)e.Arg1));
         }
     }
     if (this.CanWrite && this.IsSetMethodInitialized)
     {
         var sm = this.SetMethod;
         if (sm._AreParametersInitialized)
         {
             var smParams   = sm.Parameters;
             var valueParam = (IndexerMethodMember.IndexerValueParameter)((IIntermediatePropertySetMethodMember)sm).ValueParameter;
             smParams._Remove(valueParam.UniqueIdentifier);
             smParams._Add(e.Arg1.UniqueIdentifier, GetIndexerDependentParameter(sm, (ParameterMembersDictionary.ParameterMember)e.Arg1));
             smParams._Add(valueParam.UniqueIdentifier, valueParam);
         }
     }
     base.OnParameterAdded(e);
 }
コード例 #5
0
 void parameters_ItemAdded(object sender, EventArgsR1 <TIntermediateParameter> e)
 {
     if (e != null && e.Arg1 != null)
     {
         var ptr = parameter_ParameterTypeChangedPtr;
         if (ptr != null)
         {
             var parameter = e.Arg1;
             parameter.ParameterTypeChanged += parameter_ParameterTypeChangedPtr;
         }
     }
     this.OnParameterAdded(e);
 }
        /// <summary>
        /// Invokes the <see cref="ItemRemoved"/> event.
        /// </summary>
        /// <param name="e">The <see cref="EventArgsR1{T}"/> which
        /// designate the <typeparamref name="TIntermediateDeclaration"/> removed.</param>
        /// <exception cref="System.ArgumentNullException">thrown when <paramref name="e"/> is
        /// null.</exception>
        protected virtual void OnItemRemoved(EventArgsR1 <TIntermediateDeclaration> e)
        {
            if (e == null)
            {
                throw new ArgumentNullException("e");
            }
            var itemRemoved = this.ItemRemoved;

            if (itemRemoved != null)
            {
                itemRemoved(this, e);
            }
        }
コード例 #7
0
        protected virtual void OnParameterRemoved(EventArgsR1 <IIntermediateDelegateTypeParameterMember> e)
        {
            var _parameterRemoved = this._ParameterRemoved;

            if (_parameterRemoved != null)
            {
                _parameterRemoved(this, new EventArgsR1 <IIntermediateParameterMember>(e.Arg1));
            }
            var parameterRemoved = this.ParameterRemoved;

            if (parameterRemoved != null)
            {
                parameterRemoved(this, new EventArgsR1 <IIntermediateDelegateTypeParameterMember>(e.Arg1));
            }
        }
コード例 #8
0
        protected virtual void OnParameterRemoved(EventArgsR1 <TIntermediateParameter> e)
        {
            var _parameterRemoved = this._ParameterRemoved;

            if (_parameterRemoved != null)
            {
                _parameterRemoved(this, new EventArgsR1 <IIntermediateParameterMember>(e.Arg1));
            }
            var parameterRemoved = this.ParameterRemoved;

            if (parameterRemoved != null)
            {
                parameterRemoved(this, new EventArgsR1 <TIntermediateParameter>(e.Arg1));
            }
            this.OnIdentifierChanged(this.UniqueIdentifier, DeclarationChangeCause.IdentityCardinality);
        }
コード例 #9
0
 void Aliases_AliasAdded(object sender, EventArgsR1 <string> e)
 {
     this.parent.ReferenceAliasAdded(this, e.Arg1);
 }
コード例 #10
0
 void parameters_ItemAdded(object sender, EventArgsR1 <IIntermediateDelegateTypeParameterMember> e)
 {
     this.OnParameterAdded(e);
 }