1 /* 2 * Copyright 2016 Google Inc. All Rights Reserved. 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 17 package com.google.turbine.model; 18 19 /** 20 * Access bits. 21 * 22 * <p>See tables 4.1-A, 4.5-A, 4.6-A, and 4.7.6-A in JVMS 4: 23 * https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-4.html 24 */ 25 public class TurbineFlag { 26 public static final int ACC_PUBLIC = 0x0001; 27 public static final int ACC_PRIVATE = 0x0002; 28 public static final int ACC_PROTECTED = 0x0004; 29 public static final int ACC_STATIC = 0x0008; 30 public static final int ACC_FINAL = 0x0010; 31 public static final int ACC_SYNCHRONIZED = 0x0020; 32 public static final int ACC_OPEN = 0x0020; 33 public static final int ACC_SUPER = 0x0020; 34 public static final int ACC_TRANSITIVE = 0x0020; 35 public static final int ACC_STATIC_PHASE = 0x0040; 36 public static final int ACC_BRIDGE = 0x0040; 37 public static final int ACC_VOLATILE = 0x0040; 38 public static final int ACC_VARARGS = 0x0080; 39 public static final int ACC_TRANSIENT = 0x0080; 40 public static final int ACC_INTERFACE = 0x0200; 41 public static final int ACC_NATIVE = 0x0100; 42 public static final int ACC_ABSTRACT = 0x0400; 43 public static final int ACC_STRICT = 0x0800; 44 public static final int ACC_SYNTHETIC = 0x1000; 45 public static final int ACC_ANNOTATION = 0x2000; 46 public static final int ACC_ENUM = 0x4000; 47 public static final int ACC_MODULE = 0x8000; 48 public static final int ACC_MANDATED = 0x8000; 49 50 // TODO(cushon): the rest of these aren't spec'd access bits, put them somewhere else? 51 52 /** Default methods. */ 53 public static final int ACC_DEFAULT = 1 << 16; 54 55 /** Synthetic constructors (e.g. of inner classes and enums). */ 56 public static final int ACC_SYNTH_CTOR = 1 << 18; 57 } 58