Remove exported everywhere.
[SquirrelJME.git] / modules / tool-classfile / src / main / java / net / multiphasicapps / classfile / InnerClassFlag.java
blob2a04868ffcff7563575aa5d2815c08896a6b3072
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 * This represents a flag which may be associated with an inner class.
17 * @since 2018/05/15
19 public enum InnerClassFlag
20 implements Flag
22 /** Public. */
23 PUBLIC,
25 /** Private. */
26 PRIVATE,
28 /** Protected. */
29 PROTECTED,
31 /** Static. */
32 STATIC,
34 /** Final. */
35 FINAL,
37 /** Interface. */
38 INTERFACE,
40 /** Abstract. */
41 ABSTRACT,
43 /** Synthetic. */
44 SYNTHETIC,
46 /** Annotation. */
47 ANNOTATION,
49 /** Enumeration. */
50 ENUM,
52 /* End. */
55 /**
56 * {@inheritDoc}
57 * @since 2018/05/15
59 @Override
60 public final int javaBitMask()
62 switch (this)
64 case PUBLIC: return 0x0001;
65 case PRIVATE: return 0x0002;
66 case PROTECTED: return 0x0004;
67 case STATIC: return 0x0008;
68 case FINAL: return 0x0010;
69 case INTERFACE: return 0x0200;
70 case ABSTRACT: return 0x0400;
71 case SYNTHETIC: return 0x1000;
72 case ANNOTATION: return 0x2000;
73 case ENUM: return 0x4000;
75 default:
76 throw Debugging.oops();