Exemple #1
0
        internal int Count(DType /*!*/ attributeType, AST.CustomAttribute.TargetSelectors selector)
        {
            if (attributes == null)
            {
                return(0);
            }

            int count = 0;

            foreach (CustomAttribute attribute in attributes)
            {
                if (attribute.TargetSelector == selector && attribute.Type.Equals(attributeType))
                {
                    count++;
                }
            }

            return(count);
        }
Exemple #2
0
        public override void EmitCustomAttribute(CustomAttributeBuilder /*!*/ builder, AST.CustomAttribute.TargetSelectors selector)
        {
            switch (selector)
            {
            case AST.CustomAttribute.TargetSelectors.Assembly:
                RealAssemblyBuilder.SetCustomAttribute(builder);
                break;

            case AST.CustomAttribute.TargetSelectors.Module:
                RealModuleBuilder.SetCustomAttribute(builder);
                break;
            }
        }
Exemple #3
0
        public override void ApplyCustomAttribute(AST.SpecialAttributes kind, Attribute attribute, AST.CustomAttribute.TargetSelectors selector)
        {
            switch (kind)
            {
            case AST.SpecialAttributes.Export:
                this.exportInfo = (ExportAttribute)attribute;
                break;

            default:
                Debug.Fail("N/A");
                break;
            }
        }
Exemple #4
0
 public override int GetAttributeUsageCount(DType /*!*/ type, AST.CustomAttribute.TargetSelectors selector)
 {
     return(attributes.Count(type, selector));
 }
Exemple #5
0
 public override int GetAttributeUsageCount(DType type, AST.CustomAttribute.TargetSelectors selector)
 {
     Debug.Fail("Custom attributes cannot be defined on transient assemblies or modules.");
     throw null;
 }
Exemple #6
0
 public override void EmitCustomAttribute(CustomAttributeBuilder builder, AST.CustomAttribute.TargetSelectors selector)
 {
     Debug.Fail("Custom attributes cannot be defined on transient assemblies or modules.");
     throw null;
 }
Exemple #7
0
 public override void ApplyCustomAttribute(AST.SpecialAttributes kind, Attribute attribute, AST.CustomAttribute.TargetSelectors selector)
 {
     Debug.Fail("Custom attributes cannot be defined on transient assemblies or modules.");
     throw null;
 }
Exemple #8
0
 public abstract int GetAttributeUsageCount(DType type, AST.CustomAttribute.TargetSelectors selector);
Exemple #9
0
 public abstract void EmitCustomAttribute(CustomAttributeBuilder builder, AST.CustomAttribute.TargetSelectors selector);
Exemple #10
0
 public abstract void ApplyCustomAttribute(AST.SpecialAttributes kind, Attribute attribute, AST.CustomAttribute.TargetSelectors selector);