Example usage for org.objectweb.asm Opcodes ACC_ENUM

List of usage examples for org.objectweb.asm Opcodes ACC_ENUM

Introduction

In this page you can find the example usage for org.objectweb.asm Opcodes ACC_ENUM.

Prototype

int ACC_ENUM

To view the source code for org.objectweb.asm Opcodes ACC_ENUM.

Click Source Link

Usage

From source file:org.rascalmpl.library.lang.java.m3.internal.JarConverter.java

License:Open Source License

private void emitFields(List<FieldNode> fields) {
    try {// w  w w .  j av a 2s . c om
        for (int i = 0; i < fields.size(); ++i) {
            FieldNode field = fields.get(i);

            if ((field.access & Opcodes.ACC_SYNTHETIC) != 0)
                continue;

            if (field.name.startsWith("this$")) {
                if ((field.desc.length() > 0) && (className
                        .contains(field.desc.substring(1, field.desc.length() - 1).replace('$', '/') + "/")))

                    break;
            }

            boolean isEnum = (field.access & Opcodes.ACC_ENUM) != 0;
            String fieldScheme = isEnum ? "java+enumConstant" : "java+field";

            // System.out.println("Debug......." + field.name);
            this.insert(this.declarations, values.sourceLocation(fieldScheme, "", LogPath + "/" + field.name),
                    values.sourceLocation(jarFile + "!" + ClassFile));

            // Containment of fields.
            this.insert(this.containment, values.sourceLocation(classScheme, "", LogPath),
                    values.sourceLocation(fieldScheme, "", LogPath + "/" + field.name));

            if (!isEnum) {
                // The jvm acces codes specify 15 different modifiers (more then in the Java language
                // itself)
                for (int fs = 0; fs < 15; fs++) {
                    if ((field.access & (0x0001 << fs)) != 0) {
                        this.insert(this.modifiers,
                                values.sourceLocation("java+field", "", LogPath + "/" + field.name),
                                mapFieldAccesCode(1 << fs, FIELDE));
                    }
                }
            }
            // Put deprecated field in the annotations anno.
            if ((field.access & 0x20000) == 0x20000)
                this.insert(this.annotations,
                        values.sourceLocation("java+field", "", LogPath + "/" + field.name),
                        values.sourceLocation("java+interface", "", "/java/lang/Deprecated"));
            // <|java+method:///Main/Main/FindMe(java.lang.String)|,|java+interface:///java/lang/Deprecated|>,

        }
    } catch (Exception e) {
        e.printStackTrace();
    }
}

From source file:org.sonar.java.resolve.FlagsTest.java

License:Open Source License

/**
 * Flags can be easily loaded from class-files into symbols.
 *//*w w w . j  a v  a 2 s  .  c  om*/
@Test
public void flags_match_asm_opcodes() {
    assertThat(Flags.PUBLIC).isEqualTo(Opcodes.ACC_PUBLIC);
    assertThat(Flags.PRIVATE).isEqualTo(Opcodes.ACC_PRIVATE);
    assertThat(Flags.PROTECTED).isEqualTo(Opcodes.ACC_PROTECTED);
    assertThat(Flags.STATIC).isEqualTo(Opcodes.ACC_STATIC);
    assertThat(Flags.FINAL).isEqualTo(Opcodes.ACC_FINAL);
    assertThat(Flags.SYNCHRONIZED).isEqualTo(Opcodes.ACC_SYNCHRONIZED);
    assertThat(Flags.VOLATILE).isEqualTo(Opcodes.ACC_VOLATILE);
    assertThat(Flags.TRANSIENT).isEqualTo(Opcodes.ACC_TRANSIENT);
    assertThat(Flags.NATIVE).isEqualTo(Opcodes.ACC_NATIVE);
    assertThat(Flags.INTERFACE).isEqualTo(Opcodes.ACC_INTERFACE);
    assertThat(Flags.ABSTRACT).isEqualTo(Opcodes.ACC_ABSTRACT);
    assertThat(Flags.STRICTFP).isEqualTo(Opcodes.ACC_STRICT);
    assertThat(Flags.SYNTHETIC).isEqualTo(Opcodes.ACC_SYNTHETIC);
    assertThat(Flags.ANNOTATION).isEqualTo(Opcodes.ACC_ANNOTATION);
    assertThat(Flags.ENUM).isEqualTo(Opcodes.ACC_ENUM);
}

From source file:org.springsource.loaded.test.infra.ClassPrinter.java

License:Apache License

public static String toAccessForMember(int flags) {
    StringBuilder sb = new StringBuilder();
    if ((flags & Opcodes.ACC_PUBLIC) != 0) {
        sb.append("public ");
    }/* w ww. j a va2 s .c  om*/
    if ((flags & Opcodes.ACC_PRIVATE) != 0) {
        sb.append("private ");
    }
    if ((flags & Opcodes.ACC_STATIC) != 0) {
        sb.append("static ");
    }
    if ((flags & Opcodes.ACC_PROTECTED) != 0) {
        sb.append("protected ");
    }
    if ((flags & Opcodes.ACC_FINAL) != 0) {
        sb.append("final ");
    }
    if ((flags & Opcodes.ACC_SUPER) != 0) {
        sb.append("super ");
    }
    if ((flags & Opcodes.ACC_INTERFACE) != 0) {
        sb.append("interface ");
    }
    if ((flags & Opcodes.ACC_ABSTRACT) != 0) {
        sb.append("abstract ");
    }
    if ((flags & Opcodes.ACC_SYNTHETIC) != 0) {
        sb.append("synthetic ");
    }
    if ((flags & Opcodes.ACC_ANNOTATION) != 0) {
        sb.append("annotation ");
    }
    if ((flags & Opcodes.ACC_ENUM) != 0) {
        sb.append("enum ");
    }
    if ((flags & Opcodes.ACC_DEPRECATED) != 0) {
        sb.append("deprecated ");
    }
    return sb.toString().trim();
}

From source file:org.teavm.classlib.impl.report.JCLComparisonVisitor.java

License:Apache License

@Override
public void visit(int version, int access, String name, String signature, String superName,
        String[] interfaces) {/*  w  w w  . j a  v  a  2 s.  c  om*/
    if ((access & (Opcodes.ACC_PUBLIC | Opcodes.ACC_PROTECTED)) == 0) {
        jclClass = null;
        classReader = null;
        return;
    }
    String javaName = name.replace('/', '.');
    int dotIndex = javaName.lastIndexOf('.');
    String packageName = javaName.substring(0, dotIndex);
    String simpleName = javaName.substring(dotIndex + 1);
    jclPackage = packageMap.get(packageName);
    if (jclPackage == null) {
        jclPackage = new JCLPackage(packageName);
        jclPackage.status = JCLStatus.FOUND;
        packageMap.put(packageName, jclPackage);
    }
    classReader = classSource.get(javaName);
    jclClass = new JCLClass(simpleName);
    jclClass.status = classReader != null ? JCLStatus.FOUND : JCLStatus.MISSING;
    jclClass.visibility = (access & Opcodes.ACC_PROTECTED) != 0 ? JCLVisibility.PROTECTED
            : JCLVisibility.PUBLIC;
    if ((access & Opcodes.ACC_ANNOTATION) != 0) {
        jclClass.type = JCLClassType.ANNOTATION;
    } else if ((access & Opcodes.ACC_INTERFACE) != 0) {
        jclClass.type = JCLClassType.INTERFACE;
    } else if ((access & Opcodes.ACC_ENUM) != 0) {
        jclClass.type = JCLClassType.ENUM;
    } else {
        jclClass.type = JCLClassType.CLASS;
    }
    jclPackage.classes.add(jclClass);
}

From source file:org.teavm.parsing.Parser.java

License:Apache License

public static void parseModifiers(int access, ElementHolder member) {
    if ((access & Opcodes.ACC_PRIVATE) != 0) {
        member.setLevel(AccessLevel.PRIVATE);
    } else if ((access & Opcodes.ACC_PROTECTED) != 0) {
        member.setLevel(AccessLevel.PROTECTED);
    } else if ((access & Opcodes.ACC_PUBLIC) != 0) {
        member.setLevel(AccessLevel.PUBLIC);
    }/*from   ww  w . ja v  a 2s .  c  o  m*/

    if ((access & Opcodes.ACC_ABSTRACT) != 0) {
        member.getModifiers().add(ElementModifier.ABSTRACT);
    }
    if ((access & Opcodes.ACC_ANNOTATION) != 0) {
        member.getModifiers().add(ElementModifier.ANNOTATION);
    }
    if ((access & Opcodes.ACC_BRIDGE) != 0) {
        member.getModifiers().add(ElementModifier.BRIDGE);
    }
    if ((access & Opcodes.ACC_DEPRECATED) != 0) {
        member.getModifiers().add(ElementModifier.DEPRECATED);
    }
    if ((access & Opcodes.ACC_ENUM) != 0) {
        member.getModifiers().add(ElementModifier.ENUM);
    }
    if ((access & Opcodes.ACC_FINAL) != 0) {
        member.getModifiers().add(ElementModifier.FINAL);
    }
    if ((access & Opcodes.ACC_INTERFACE) != 0) {
        member.getModifiers().add(ElementModifier.INTERFACE);
    }
    if ((access & Opcodes.ACC_NATIVE) != 0) {
        member.getModifiers().add(ElementModifier.NATIVE);
    }
    if ((access & Opcodes.ACC_STATIC) != 0) {
        member.getModifiers().add(ElementModifier.STATIC);
    }
    if ((access & Opcodes.ACC_STRICT) != 0) {
        member.getModifiers().add(ElementModifier.STRICT);
    }
    if ((access & Opcodes.ACC_SUPER) != 0) {
        member.getModifiers().add(ElementModifier.SUPER);
    }
    if ((access & Opcodes.ACC_SYNCHRONIZED) != 0) {
        member.getModifiers().add(ElementModifier.SYNCHRONIZED);
    }
    if ((access & Opcodes.ACC_SYNTHETIC) != 0) {
        member.getModifiers().add(ElementModifier.SYNTHETIC);
    }
    if ((access & Opcodes.ACC_TRANSIENT) != 0) {
        member.getModifiers().add(ElementModifier.TRANSIENT);
    }
    if ((access & Opcodes.ACC_VARARGS) != 0) {
        member.getModifiers().add(ElementModifier.VARARGS);
    }
    if ((access & Opcodes.ACC_VOLATILE) != 0) {
        member.getModifiers().add(ElementModifier.VOLATILE);
    }
}

From source file:the.bytecode.club.bytecodeviewer.decompilers.bytecode.ClassNodeDecompiler.java

License:Open Source License

public static String getAccessString(int access) {
    List<String> tokens = new ArrayList<String>();
    if ((access & Opcodes.ACC_PUBLIC) != 0)
        tokens.add("public");
    if ((access & Opcodes.ACC_PRIVATE) != 0)
        tokens.add("private");
    if ((access & Opcodes.ACC_PROTECTED) != 0)
        tokens.add("protected");
    if ((access & Opcodes.ACC_FINAL) != 0)
        tokens.add("final");
    if ((access & Opcodes.ACC_SYNTHETIC) != 0)
        tokens.add("synthetic");
    // if ((access & Opcodes.ACC_SUPER) != 0)
    // tokens.add("super"); implied by invokespecial insn
    if ((access & Opcodes.ACC_ABSTRACT) != 0)
        tokens.add("abstract");
    if ((access & Opcodes.ACC_INTERFACE) != 0)
        tokens.add("interface");
    if ((access & Opcodes.ACC_ENUM) != 0)
        tokens.add("enum");
    if ((access & Opcodes.ACC_ANNOTATION) != 0)
        tokens.add("annotation");
    if (!tokens.contains("interface") && !tokens.contains("enum") && !tokens.contains("annotation"))
        tokens.add("class");
    if (tokens.size() == 0)
        return "[Error parsing]";

    // hackery delimeters
    StringBuilder sb = new StringBuilder(tokens.get(0));
    for (int i = 1; i < tokens.size(); i++) {
        sb.append(" ");
        sb.append(tokens.get(i));//from   w ww.java 2  s .c o  m
    }
    return sb.toString();
}

From source file:travis.model.project.structure.StructComponent.java

License:Open Source License

public boolean isEnum() {
    return StructUtil.isFlagSet(access, Opcodes.ACC_ENUM);
}