summaryrefslogtreecommitdiff
path: root/src/msil/ch/epfl/lamp/compiler/msil/PropertyAttributes.java
blob: b1bec64afffaba74795dfecb6821680a14cf6def (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
/*
 * System.Reflection-like API for access to .NET assemblies (DLL & EXE)
 */


package ch.epfl.lamp.compiler.msil;

/**
 * Attributes applcicable to properties
 *
 * @author Nikolay Mihaylov
 * @version 1.0
 */
public final class PropertyAttributes {

    // makes the class uninstantiable
    private PropertyAttributes() {}

    //##########################################################################

    /** Specifies that the property is special, with the name describing
     *  how the property is special.
     */
    public static final short SpecialName = 0x0200;

    /** Specifies that the metadata internal APIs check the name encoding.
     */
    public static final short RTSpecialName = 0x0400;

    /** Specifies that the property has a default value.
     */
    public static final short HasDefault = 0x1000;

    //##########################################################################

    public static String toString(short attrs) {
	StringBuffer str = new StringBuffer();
	if ((attrs & SpecialName) != 0) str.append("specialname ");
	if ((attrs & RTSpecialName) != 0) str.append("rtspecialname ");
	return str.toString();
    }

    //##########################################################################

} // class PropertyAttributes