2
Copyright (C) 2009-2012 Jeroen Frijters
4
This software is provided 'as-is', without any express or implied
5
warranty. In no event will the authors be held liable for any damages
6
arising from the use of this software.
8
Permission is granted to anyone to use this software for any purpose,
9
including commercial applications, and to alter it and redistribute it
10
freely, subject to the following restrictions:
12
1. The origin of this software must not be misrepresented; you must not
13
claim that you wrote the original software. If you use this software
14
in a product, an acknowledgment in the product documentation would be
15
appreciated but is not required.
16
2. Altered source versions must be plainly marked as such, and must not be
17
misrepresented as being the original software.
18
3. This notice may not be removed or altered from any source distribution.
26
namespace IKVM.Reflection
29
public enum AssemblyNameFlags
34
EnableJITcompileOptimizer = 16384,
35
EnableJITcompileTracking = 32768,
38
public enum AssemblyContentType
45
public enum BindingFlags
54
FlattenHierarchy = 64,
58
public enum CallingConventions
68
public enum EventAttributes
77
public enum FieldAttributes
94
HasFieldMarshal = 4096,
101
public enum GenericParameterAttributes
107
ReferenceTypeConstraint = 4,
108
NotNullableValueTypeConstraint = 8,
109
DefaultConstructorConstraint = 16,
110
SpecialConstraintMask = 28,
113
public enum ImageFileMachine
122
public enum MemberTypes
132
All = Constructor | Event | Field | Method | Property | TypeInfo | NestedType
136
public enum MethodAttributes
138
MemberAccessMask = 0x0007,
139
PrivateScope = 0x0000,
141
FamANDAssem = 0x0002,
150
VtableLayoutMask = 0x0100,
153
CheckAccessOnOverride = 0x0200,
155
SpecialName = 0x0800,
157
PinvokeImpl = 0x2000,
158
UnmanagedExport = 0x0008,
160
RTSpecialName = 0x1000,
161
HasSecurity = 0x4000,
162
RequireSecObject = 0x8000,
164
ReservedMask = 0xd000,
168
public enum MethodImplAttributes
170
CodeTypeMask = 0x0003,
175
ManagedMask = 0x0004,
180
PreserveSig = 0x0080,
181
InternalCall = 0x1000,
182
Synchronized = 0x0020,
184
NoOptimization = 0x0040,
185
AggressiveInlining = 0x0100,
187
MaxMethodImplVal = 0xffff,
191
public enum ParameterAttributes
200
HasFieldMarshal = 8192,
203
ReservedMask = 61440,
207
public enum PortableExecutableKinds
209
NotAPortableExecutableImage = 0,
217
public enum ProcessorArchitecture
225
// if an item is added here, make sure to update AssemblyName.ProcessorArchitecture,
226
// AssemblyReader.GetNameImpl() and Fusion.ParseAssemblyName as well
230
public enum PropertyAttributes
234
RTSpecialName = 1024,
239
public enum ResourceAttributes
246
public enum ResourceLocation
249
ContainedInAnotherAssembly = 2,
250
ContainedInManifestFile = 4,
254
public enum TypeAttributes
265
NestedFamANDAssem = 6,
267
NestedFamORAssem = 7,
268
SequentialLayout = 8,
271
ClassSemanticsMask = 32,
276
RTSpecialName = 2048,
279
WindowsRuntime = 16384,
280
UnicodeClass = 65536,
282
CustomFormatClass = 196608,
283
StringFormatMask = 196608,
284
HasSecurity = 262144,
285
ReservedMask = 264192,
286
BeforeFieldInit = 1048576,
287
CustomFormatMask = 12582912,
290
// IKVM.Reflection specific type
292
public enum DllCharacteristics
294
HighEntropyVA = 0x0020, // IMAGE_DLLCHARACTERISTICS_HIGH_ENTROPY_VA
295
DynamicBase = 0x0040, // IMAGE_DLLCHARACTERISTICS_DYNAMIC_BASE
296
NoSEH = 0x0400, // IMAGE_DLLCHARACTERISTICS_NO_SEH
297
NXCompat = 0x0100, // IMAGE_DLLCHARACTERISTICS_NX_COMPAT
298
AppContainer = 0x1000, // IMAGE_DLLCHARACTERISTICS_APPCONTAINER
299
TerminalServerAware = 0x8000, // IMAGE_DLLCHARACTERISTICS_TERMINAL_SERVER_AWARE
302
// IKVM.Reflection specific type
304
public enum ImplMapFlags
307
CharSetMask = 0x0006,
308
CharSetNotSpec = 0x0000,
309
CharSetAnsi = 0x0002,
310
CharSetUnicode = 0x0004,
311
CharSetAuto = 0x0006,
312
SupportsLastError = 0x0040,
313
CallConvMask = 0x0700,
314
CallConvWinapi = 0x0100,
315
CallConvCdecl = 0x0200,
316
CallConvStdcall = 0x0300,
317
CallConvThiscall = 0x0400,
318
CallConvFastcall = 0x0500,
319
// non-standard flags (i.e. CLR specific)
322
CharMapErrorOn = 0x1000,
323
CharMapErrorOff = 0x2000,