1 using System;
2 using System.Collections.Generic;
3 using System.Runtime.CompilerServices;
4 
5 [assembly: Foo ("bingo")]
6 
7 [assembly: TypeForwardedTo (typeof (System.Diagnostics.DebuggableAttribute))]
8 
9 enum Bingo : short {
10 	Fuel = 2,
11 	Binga = 4,
12 }
13 
14 /*
15 in System.Security.AccessControl
16 
17 	[Flags]
18 	public enum AceFlags : byte {
19 		None = 0,
20 		ObjectInherit = 0x01,
21 		ContainerInherit = 0x02,
22 		NoPropagateInherit = 0x04,
23 		InheritOnly = 0x08,
24 		InheritanceFlags = ObjectInherit | ContainerInherit | NoPropagateInherit | InheritOnly,
25 		Inherited = 0x10,
26 		SuccessfulAccess = 0x40,
27 		FailedAccess = 0x80,
28 		AuditFlags = SuccessfulAccess | FailedAccess,
29 	}
30 */
31 
32 class FooAttribute : Attribute {
33 
34 	internal class Token {
35 	}
36 
FooAttribute()37 	public FooAttribute ()
38 	{
39 	}
40 
FooAttribute(string str)41 	public FooAttribute (string str)
42 	{
43 	}
44 
FooAttribute(sbyte a, byte b, bool c, bool d, ushort e, short f, char g)45 	public FooAttribute (sbyte a, byte b, bool c, bool d, ushort e, short f, char g)
46 	{
47 	}
48 
FooAttribute(int a, uint b, float c, long d, ulong e, double f)49 	public FooAttribute (int a, uint b, float c, long d, ulong e, double f)
50 	{
51 	}
52 
FooAttribute(char [] chars)53 	public FooAttribute (char [] chars)
54 	{
55 	}
56 
FooAttribute(object a, object b)57 	public FooAttribute (object a, object b)
58 	{
59 	}
60 
FooAttribute(Bingo bingo)61 	public FooAttribute (Bingo bingo)
62 	{
63 	}
64 
FooAttribute(System.Security.AccessControl.AceFlags flags)65 	public FooAttribute (System.Security.AccessControl.AceFlags flags)
66 	{
67 	}
68 
FooAttribute(Type type)69 	public FooAttribute (Type type)
70 	{
71 	}
72 
73 	public int Bang { get { return 0; } set {} }
74 	public string Fiou { get { return "fiou"; } set {} }
75 
76 	public object Pan;
77 	public string [] PanPan;
78 
79 	public Type Chose;
80 }
81 
82 [Foo ("bar")]
83 class Hamster {
84 }
85 
86 [Foo ((string) null)]
87 class Dentist {
88 }
89 
90 [Foo (-12, 242, true, false, 4242, -1983, 'c')]
91 class Steven {
92 }
93 
94 [Foo (-100000, 200000, 12.12f, long.MaxValue, ulong.MaxValue, 64.646464)]
95 class Seagull {
96 }
97 
98 [Foo (new char [] { 'c', 'e', 'c', 'i', 'l' })]
99 class Rifle {
100 }
101 
102 [Foo ("2", 2)]
103 class Worm {
104 }
105 
106 [Foo (new object [] { "2", 2, 'c' }, new object [] { new object [] { 1, 2, 3}, null })]
107 class Sheep {
108 }
109 
110 [Foo (Bang = 42, PanPan = new string [] { "yo", "yo" }, Pan = new object [] { 1, "2", '3' }, Fiou = null)]
111 class Angola {
112 }
113 
114 [Foo (Pan = "fiouuu")]
115 class BoxedStringField {
116 }
117 
118 [Foo (Bingo.Fuel)]
119 class Zero {
120 }
121 
122 [Foo (System.Security.AccessControl.AceFlags.NoPropagateInherit)]
123 class Ace {
124 }
125 
126 [Foo (new object [] { Bingo.Fuel, Bingo.Binga }, null, Pan = System.Security.AccessControl.AceFlags.NoPropagateInherit)]
127 class Bzzz {
128 }
129 
130 [Foo (typeof (Bingo))]
131 class Typed {
132 }
133 
134 [Foo (typeof (FooAttribute.Token))]
135 class NestedTyped {
136 }
137 
138 [Foo (Chose = typeof (Typed))]
139 class Truc {
140 }
141 
142 [Foo (Chose = (Type) null)]
143 class Machin {
144 }
145 
146 [Foo (typeof (Dictionary<,>))]
147 class OpenGeneric<X, Y> {
148 }
149 
150 [Foo (typeof (Dictionary<string, OpenGeneric<Machin, int>[,]>))]
151 class ClosedGeneric {
152 }
153 
154 [Foo (typeof (Parent.Child[]))]
155 class Parent {
156 	public class Child {
157 	}
158 }
159