public static IndexerInheritanceModifier IndexerInheritanceModifier(
            this PropertyDefinition property,
            IInternalTypeWithMonoCecil type)
        {
            switch (property.Method().PropertyOrEventInheritanceModifier(() => type.HiddenMembersAnalyzer.IsIndexerHidden(property)))
            {
            case ClassMemberInheritanceModifier.None:
                return(CSharpDom.IndexerInheritanceModifier.None);

            case ClassMemberInheritanceModifier.New:
                return(CSharpDom.IndexerInheritanceModifier.New);

            case ClassMemberInheritanceModifier.NewVirtual:
                return(CSharpDom.IndexerInheritanceModifier.NewVirtual);

            case ClassMemberInheritanceModifier.Override:
                return(CSharpDom.IndexerInheritanceModifier.Override);

            case ClassMemberInheritanceModifier.SealedOverride:
                return(CSharpDom.IndexerInheritanceModifier.SealedOverride);

            case ClassMemberInheritanceModifier.Virtual:
                return(CSharpDom.IndexerInheritanceModifier.Virtual);

            default:
                throw new NotSupportedException();
            }
        }
Пример #2
0
        internal SealedClassIndexerWithMonoCecil(IInternalTypeWithMonoCecil declaringType, PropertyDefinition indexer)
        {
            this.indexer       = new IndexerWithMonoCecil(declaringType, indexer);
            this.declaringType = declaringType;
            if (this.indexer.GetAccessor != null)
            {
                getAccessor = new ClassAccessorWithMonoCecil(this, this.indexer.GetAccessor);
            }

            if (this.indexer.SetAccessor != null)
            {
                setAccessor = new ClassAccessorWithMonoCecil(this, this.indexer.SetAccessor);
            }
        }
Пример #3
0
        internal SealedClassPropertyWithMonoCecil(IInternalTypeWithMonoCecil declaringType, PropertyDefinition property)
        {
            this.property      = new PropertyWithMonoCecil(declaringType, property);
            this.declaringType = declaringType;
            if (this.property.GetAccessor != null)
            {
                getAccessor = new ClassAccessorWithMonoCecil(this, this.property.GetAccessor);
            }

            if (this.property.SetAccessor != null)
            {
                setAccessor = new ClassAccessorWithMonoCecil(this, this.property.SetAccessor);
            }
        }
 public static SealedClassMemberInheritanceModifier SealedClassInheritanceModifier(
     this PropertyDefinition property,
     IInternalTypeWithMonoCecil type)
 {
     return(property.Method().SealedClassInheritanceModifier(() => type.HiddenMembersAnalyzer.IsPropertyHidden(property)));
 }
Пример #5
0
 public static ClassMemberInheritanceModifier InheritanceModifier(this EventDefinition @event, IInternalTypeWithMonoCecil type)
 {
     return(@event.AddMethod.PropertyOrEventInheritanceModifier(() => type.HiddenMembersAnalyzer.IsEventHidden(@event)));
 }
 internal ClassEventWithMonoCecil(IInternalTypeWithMonoCecil declaringType, EventDefinition @event)
 {
     this.@event        = new EventWithMonoCecil(declaringType, @event);
     this.declaringType = declaringType;
 }
 internal ClassFieldWithMonoCecil(IInternalTypeWithMonoCecil declaringType, FieldDefinition field)
 {
     this.field         = new FieldGroupWithMonoCecil(declaringType, field);
     this.declaringType = declaringType;
 }
Пример #8
0
 internal SealedClassMethodWithMonoCecil(IInternalTypeWithMonoCecil declaringType, MethodDefinition method)
 {
     this.method        = new MethodWithMonoCecil(declaringType, method);
     this.declaringType = declaringType;
 }
 internal ClassConstantWithMonoCecil(IInternalTypeWithMonoCecil declaringType, FieldDefinition field)
 {
     this.constant      = new ConstantGroupWithMonoCecil(declaringType, field);
     this.declaringType = declaringType;
 }
 public static ClassMemberInheritanceModifier InheritanceModifier(this MethodDefinition method, IInternalTypeWithMonoCecil type)
 {
     return method.InheritanceModifier(() => type.HiddenMembersAnalyzer.IsMethodHidden(method));
 }