@@ -0,0 +1,3685 @@
+/*%0A * Copyright 2015 Michael Rozumyanskiy%0A *%0A * Licensed under the Apache License, Version 2.0 (the %22License%22);%0A * you may not use this file except in compliance with the License.%0A * You may obtain a copy of the License at%0A *%0A *     http://www.apache.org/licenses/LICENSE-2.0%0A *%0A * Unless required by applicable law or agreed to in writing, software%0A * distributed under the License is distributed on an %22AS IS%22 BASIS,%0A * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.%0A * See the License for the specific language governing permissions and%0A * limitations under the License.%0A */%0A%0Apackage io.michaelrocks.lightsaber.processor.commons;%0A%0Aimport org.objectweb.asm.Opcodes;%0A%0Apublic class AccessFlagStringifier %7B%0A    public static String classAccessFlagToString(final int accessFlag) %7B%0A        switch (accessFlag) %7B%0A            case Opcodes.ACC_PUBLIC:%0A                return %22public%22;%0A            case Opcodes.ACC_PRIVATE:%0A                return %22private%22;%0A            case Opcodes.ACC_PROTECTED:%0A                return %22protected%22;%0A            case Opcodes.ACC_FINAL:%0A                return %22final%22;%0A            case Opcodes.ACC_SUPER:%0A                return %22super%22;%0A            case Opcodes.ACC_INTERFACE:%0A                return %22interface%22;%0A            case Opcodes.ACC_ABSTRACT:%0A                return %22abstract%22;%0A            case Opcodes.ACC_SYNTHETIC:%0A                return %22synthetic%22;%0A            case Opcodes.ACC_ANNOTATION:%0A                return %22annotation%22;%0A            case Opcodes.ACC_ENUM:%0A                return %22enum%22;%0A            default:%0A                throw new IllegalArgumentException(%22Unknown class access flag: %22 + Integer.toHexString(accessFlag));%0A        %7D%0A    %7D%0A%0A    public static String methodAccessFlagToString(final int accessFlag) %7B%0A        switch (accessFlag) %7B%0A            case Opcodes.ACC_PUBLIC:%0A                return %22public%22;%0A            case Opcodes.ACC_PRIVATE:%0A                return %22private%22;%0A            case Opcodes.ACC_PROTECTED:%0A                return %22protected%22;%0A            case Opcodes.ACC_STATIC:%0A                return %22static%22;%0A            case Opcodes.ACC_FINAL:%0A                return %22final%22;%0A            case Opcodes.ACC_SYNCHRONIZED:%0A                return %22synchronized%22;%0A            case Opcodes.ACC_BRIDGE:%0A                return %22bridge%22;%0A            case Opcodes.ACC_VARARGS:%0A                return %22varargs%22;%0A            case Opcodes.ACC_NATIVE:%0A                return %22native%22;%0A            case Opcodes.ACC_ABSTRACT:%0A                return %22abstract%22;%0A            case Opcodes.ACC_STRICT:%0A                return %22strict%22;%0A            case Opcodes.ACC_SYNTHETIC:%0A                return %22synthetic%22;%0A            default:%0A                throw new IllegalArgumentException(%22Unknown method access flag: %22 + Integer.toHexString(accessFlag));%0A        %7D%0A    %7D%0A%0A    public static String fieldAccessFlagToString(final int accessFlag) %7B%0A        switch (accessFlag) %7B%0A            case Opcodes.ACC_PUBLIC:%0A                return %22public%22;%0A            case Opcodes.ACC_PRIVATE:%0A                return %22private%22;%0A            case Opcodes.ACC_PROTECTED:%0A                return %22protected%22;%0A            case Opcodes.ACC_STATIC:%0A                return %22static%22;%0A            case Opcodes.ACC_FINAL:%0A                return %22final%22;%0A            case Opcodes.ACC_VOLATILE:%0A                return %22volatile%22;%0A            case Opcodes.ACC_TRANSIENT:%0A                return %22transient%22;%0A            case Opcodes.ACC_SYNTHETIC:%0A                return %22synthetic%22;%0A            default:%0A                throw new IllegalArgumentException(%22Unknown field access flag: %22 + Integer.toHexString(accessFlag));%0A        %7D%0A    %7D%0A%7D%0A

Add a stringifier for access flags