Package org.objectweb.asm

Examples of org.objectweb.asm.ClassVisitor


        initMethod.voidreturn();
        initMethod.end();
    }

    private void beginClassInit() {
        ClassVisitor cv = getClassVisitor();

        clinitMethod = new SkinnyMethodAdapter(cv, ACC_PUBLIC | ACC_STATIC, "<clinit>", sig(Void.TYPE), null, null);
        clinitMethod.start();

        if (invDynSupportInstaller != null) {
View Full Code Here


    public synchronized String getNewConstantName() {
        return "_" + constants++;
    }

    public String getNewConstant(String type, String name_prefix, Object init) {
        ClassVisitor cv = getClassVisitor();

        String realName = getNewConstantName();

        // declare the field
        cv.visitField(ACC_PRIVATE, realName, type, null, null).visitEnd();

        if(init != null) {
            initMethod.aload(THIS);
            initMethod.ldc(init);
            initMethod.putfield(getClassname(),realName, type);
View Full Code Here

        return realName;
    }

    public String getNewField(String type, String name, Object init) {
        ClassVisitor cv = getClassVisitor();

        // declare the field
        cv.visitField(ACC_PRIVATE, name, type, null, null).visitEnd();

        if(init != null) {
            initMethod.aload(THIS);
            initMethod.ldc(init);
            initMethod.putfield(getClassname(),name, type);
View Full Code Here

        return name;
    }

    public String getNewStaticConstant(String type, String name_prefix) {
        ClassVisitor cv = getClassVisitor();

        String realName;
        synchronized (this) {
            realName = "__" + constants++;
        }

        // declare the field
        cv.visitField(ACC_PRIVATE | ACC_STATIC | ACC_FINAL, realName, type, null, null).visitEnd();
        return realName;
    }
View Full Code Here

    @Override
    public void visitEnd() {
        super.visitEnd();

        accept(new ClassVisitor(Opcodes.ASM4, next) {
            @Override
            public MethodVisitor visitMethod(final int access, final String name, final String desc,
                final String signature, final String[] exceptions) {
                final Method outer = new Method(name, desc);
                final MethodVisitor orig = super.visitMethod(access, name, desc, signature, exceptions);
View Full Code Here

            InputStream bytecode = null;
            try {
                bytecode = privilizer.env.getClassfile(className).getInputStream();
                final ClassReader classReader = new ClassReader(bytecode);
                classReader.accept(new ClassVisitor(Opcodes.ASM4) {
                    @Override
                    public void visit(final int version, final int access, final String name, final String signature,
                        final String superName, final String[] interfaces) {
                        toDelete.add(name);
                    }
View Full Code Here

        InputStream bytecode = null;
        try {
            bytecode = env.getClassfile(type).getInputStream();
            final ClassReader classReader = new ClassReader(bytecode);

            ClassVisitor cvr;
            cvr = new WriteClass(new ClassWriter(classReader, ClassWriter.COMPUTE_FRAMES | ClassWriter.COMPUTE_MAXS));
            cvr = new PrivilizingVisitor(this, cvr);
            cvr = new BlueprintingVisitor(this, cvr, privilizing);

            classReader.accept(cvr, ClassReader.EXPAND_FRAMES);
View Full Code Here

        env.debug("privilizing class %s", args);
        InputStream bytecode = null;
        try {
            bytecode = env.getClassfile(type).getInputStream();
            final ClassReader classReader = new ClassReader(bytecode);
            ClassVisitor cv; //NOPMD
            cv = new WriteClass(new ClassWriter(classReader, ClassWriter.COMPUTE_FRAMES | ClassWriter.COMPUTE_MAXS));
            cv = new PrivilizingVisitor(this, cv);

            classReader.accept(cv, ClassReader.EXPAND_FRAMES);
        } catch (final Exception e) {
View Full Code Here

            env.debug(trace.toString());
            throw new IllegalStateException();
        }
        Validate.validState(StringUtils.isBlank(error), error);

        final ClassVisitor checkInnerClasses = new ClassVisitor(Opcodes.ASM4, null) {
            final Set<String> innerNames = new HashSet<String>();

            @Override
            public void visitInnerClass(final String name, final String outerName, final String innerName,
                final int access) {
View Full Code Here

            InputStream enclosingBytecode = null;
            try {
                enclosingBytecode = env.getClassfile(outer).getInputStream();
                final ClassReader reader = new ClassReader(enclosingBytecode);

                final ClassVisitor cv = // NOPMD
                        new RemappingClassAdapter(new WriteClass(reader), remapper) {

                    @Override
                    public void visitInnerClass(final String name, final String outerName, final String innerName,
                        final int access) {
View Full Code Here

TOP

Related Classes of org.objectweb.asm.ClassVisitor

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.