PropertyAttributes, ParameterAttributes, MethodSemantics, MethodAttributes

svn path=/trunk/mono/; revision=38


Commit migrated from ee38e09230
This commit is contained in:
Miguel de Icaza 2001-06-26 22:18:04 +00:00
parent c0768c7032
commit e201fa8b2b
5 changed files with 105 additions and 3 deletions

View File

@ -5,15 +5,23 @@ lib_LIBRARIES = libmetadata.a
INCLUDES = $(GLIB_CFLAGS) -I$(top_srcdir)
libmetadata_a_SOURCES = \
assembly.h \
assembly.c \
metadata.c \
rawbuffer.c \
libmetadataincludedir = $(includedir)/mono/metadata
libmetadata_a_HEADERS = \
assembly.h \
cil-coff.h \
eltype.h \
endian.h \
fieldattr.h \
metadata.c \
metadata.h \
rawbuffer.c \
methodattr.h \
methodsem.h \
paramattr.h \
propertyattr.h \
rawbuffer.h \
typeattr.h

View File

@ -0,0 +1,57 @@
#ifndef _MONO_METADATA_METHODATTR_H_
#define _MONO_METADATA_METHODATTR_H_
/*
* Method Attributes (22.1.9)
*/
#define METHOD_IMPL_ATTRIBUTE_CODE_TYPE_MASK 0x0003
#define METHOD_IMPL_ATTRIBUTE_IL 0x0000
#define METHOD_IMPL_ATTRIBUTE_NATIVE 0x0001
#define METHOD_IMPL_ATTRIBUTE_OPTIL 0x0002
#define METHOD_IMPL_ATTRIBUTE_RUNTIME 0x0003
#define METHOD_IMPL_ATTRIBUTE_MANAGED_MASK 0x0004
#define METHOD_IMPL_ATTRIBUTE_UNMANAGED 0x0004
#define METHOD_IMPL_ATTRIBUTE_MANAGED 0x0000
#define METHOD_IMPL_ATTRIBUTE_FORWARD_REF 0x0010
#define METHOD_IMPL_ATTRIBUTE_PRESERVE_SIG 0x0080
#define METHOD_IMPL_ATTRIBUTE_INTERNAL_CALL 0x1000
#define METHOD_IMPL_ATTRIBUTE_SYNCHRONIZED 0x0020
#define METHOD_IMPL_ATTRIBUTE_NOINLINING 0x0008
#define METHOD_IMPL_ATTRIBUTE_MAX_METHOD_IMPL_VAL 0xffff
#define METHOD_ATTRIBUTE_MEMBER_ACCESS_MASK 0x0007
#define METHOD_ATTRIBUTE_COMPILER_CONTROLLED 0x0000
#define METHOD_ATTRIBUTE_PRIVATE 0x0001
#define METHOD_ATTRIBUTE_FAM_AND_ASSEM 0x0002
#define METHOD_ATTRIBUTE_ASSEM 0x0003
#define METHOD_ATTRIBUTE_FAMILY 0x0004
#define METHOD_ATTRIBUTE_FAM_OR_ASSEM 0x0005
#define METHOD_ATTRIBUTE_PUBLIC 0x0006
#define METHOD_ATTRIBUTE_STATIC 0x0010
#define METHOD_ATTRIBUTE_FINAL 0x0020
#define METHOD_ATTRIBUTE_VIRTUAL 0x0040
#define METHOD_ATTRIBUTE_HIDE_BY_SIG 0x0080
#define METHOD_ATTRIBUTE_VTABLE_LAYOUT_MASK 0x0100
#define METHOD_ATTRIBUTE_REUSE_SLOT 0x0000
#define METHOD_ATTRIBUTE_NEW_SLOT 0x0100
#define METHOD_ATTRIBUTE_ABSTRACT 0x0400
#define METHOD_ATTRIBUTE_SPECIAL_NAME 0x0800
#define METHOD_ATTRIBUTE_PINVOKE_IMPL 0x2000
#define METHOD_ATTRIBUTE_UNMANAGED_EXPORT 0x0008
/*
* For runtime use only
*/
#define METHOD_ATTRIBUTE_RESERVED_MASK 0xd000
#define METHOD_ATTRIBUTE_RT_SPECIAL_NAME 0x1000
#define METHOD_ATTRIBUTE_HAS_SECURITY 0x4000
#define METHOD_ATTRIBUTE_REQUIRE_SEC_OBJECT 0x8000
#endif

View File

@ -0,0 +1,15 @@
#ifndef _MONO_METADATA_METHODSEM_H_
#define _MONO_METADATA_METHODSEM_H_
/*
* Method Semantics ([MethodSemanticAttributes]) 22.1.10
*/
#define METHOD_SEMANTIC_SETTER 0x0001
#define METHOD_SEMANTIC_GETTER 0x0002
#define METHOD_SEMANTIC_OTHER 0x0004
#define METHOD_SEMANTIC_ADD_ON 0x0008
#define METHOD_SEMANTIC_REMOVE_ON 0x0010
#define METHOD_SEMANTIC_FIRE 0x0020
#endif

View File

@ -0,0 +1,12 @@
#ifndef _MONO_METADATA_PARAMATTR_H_
#define _MONO_METADATA_PARAMATTR_H_
#define PARAM_ATTRIBUTE_IN 0x0001
#define PARAM_ATTRIBUTE_OUT 0x0002
#define PARAM_ATTRIBUTE_OPTIONAL 0x0004
#define PARAM_ATTRIBUTE_RESERVED_MASK 0xf000
#define PARAM_ATTRIBUTE_HAS_DEFAULT 0x1000
#define PARAM_ATTRIBUTE_HAS_FIELD_MARSHAL 0x2000
#define PARAM_ATTRIBUTE_UNUSED 0xcfe0
#endif

View File

@ -0,0 +1,10 @@
#ifndef _MONO_METADATA_PROPERTYATTR_H_
#define _MONO_METADATA_PROPERTYATTR_H_
#define PROPERTY_ATTRIBUTE_SPECIAL_NAME 0x0200
#define PROPERTY_ATTRIBUTE_RESERVED_MASK 0xf400
#define PROPERTY_ATTRIBUTE_RT_SPECIAL_NAME 0x0400
#define PROPERTY_ATTRIBUTE_HAS_DEFAULT 0x1000
#define PROPERTY_ATTRIBUTE_UNUSED 0xe9ff
#endif