Remove exported everywhere.
[SquirrelJME.git] / modules / tool-classfile / src / main / java / net / multiphasicapps / classfile / ClassFlag.java
bloba2a31663d27c01c2cc95b28947960b01d215ba20
1 // -*- Mode: Java; indent-tabs-mode: t; tab-width: 4 -*-
2 // ---------------------------------------------------------------------------
3 // SquirrelJME
4 // Copyright (C) Stephanie Gawroriski <xer@multiphasicapps.net>
5 // ---------------------------------------------------------------------------
6 // SquirrelJME is under the GNU General Public License v3+, or later.
7 // See license.mkd for licensing and copyright information.
8 // ---------------------------------------------------------------------------
10 package net.multiphasicapps.classfile;
12 import cc.squirreljme.runtime.cldc.debug.Debugging;
14 /**
15 * These are flags which modify how a class is accessed and is behaved.
17 * @since 2016/04/23
19 public enum ClassFlag
20 implements Flag
22 /** Public access. */
23 PUBLIC,
25 /** Final. */
26 FINAL,
28 /** Super. */
29 SUPER,
31 /** Interface. */
32 INTERFACE,
34 /** Abstract. */
35 ABSTRACT,
37 /** Synthetic. */
38 SYNTHETIC,
40 /** Annotation. */
41 ANNOTATION,
43 /** Enumeration. */
44 ENUM,
46 /* End. */
49 /**
50 * {@inheritDoc}
51 * @since 2017/06/13
53 @Override
54 public final int javaBitMask()
56 switch (this)
58 case PUBLIC: return 0x0001;
59 case FINAL: return 0x0010;
60 case SUPER: return 0x0020;
61 case INTERFACE: return 0x0200;
62 case ABSTRACT: return 0x0400;
63 case SYNTHETIC: return 0x1000;
64 case ANNOTATION: return 0x2000;
65 case ENUM: return 0x4000;
66 default:
67 throw Debugging.oops();