Package org.apache.bcel.generic

Examples of org.apache.bcel.generic.LDC


        }
    }

    private void registerLDCValueSource(Location location) throws DataflowAnalysisException {

        LDC instruction = (LDC) location.getHandle().getInstruction();
        Object constantValue = instruction.getValue(cpg);
        registerConstantSource(location, constantValue);
    }
View Full Code Here


                    }
                }

            }
            if (ins instanceof LDC) {
                LDC ldc = (LDC) ins;
                Object value = ldc.getValue(cpg);
                if (value instanceof ConstantClass) {
                    ConstantClass cc = (ConstantClass) value;
                    constantClass = cc.getBytes(classContext.getJavaClass().getConstantPool());
                    pcForConstantClass = pc;
                }
View Full Code Here

                                }
                            }
                        }

                    } else if (prevIns instanceof LDC) {
                        LDC ldc = (LDC) prevIns;
                        Type t = ldc.getType(methodGen.getConstantPool());
                        if (t.getSignature().equals("Ljava/lang/Class;")) {
                            Object value = ldc.getValue(methodGen.getConstantPool());
                            if (value instanceof ConstantClass) {
                                ConstantClass v = (ConstantClass) value;
                                initializationOf = ClassName.toSignature(v.getBytes(javaClass.getConstantPool()));
                                foundDeadClassInitialization = true;
                            } else if (value instanceof ObjectType) {
View Full Code Here

    }

    private boolean isConstantStringLoad(Location location, ConstantPoolGen cpg)  {
        Instruction ins = location.getHandle().getInstruction();
        if (ins instanceof LDC) {
            LDC load = (LDC) ins;
            Object value = load.getValue(cpg);
            if (value instanceof String) {
                return true;
            }
        }
View Full Code Here

        Instruction ins = handle.getInstruction();
        if (!isConstantStringLoad(location, cpg)) {
            throw new IllegalArgumentException("instruction must be LDC");
        }

        LDC load = (LDC) ins;
        Object value = load.getValue(cpg);
        String stringValue = ((String) value).trim();
        if (stringValue.startsWith(",") || stringValue.endsWith(",")) {
            stringAppendState.setSawComma(handle);
        }
        if (isCloseQuote(stringValue) && stringAppendState.getSawOpenQuote(handle)) {
View Full Code Here

        /*
         * JDOImplHelper.registerClass( ___jdo$loadClass("fullclassname"),
         * ___jdo$fieldNames, ___jdo$fieldTypes, ___jdo$FieldFlags,
         * ___jdo$PersistenceCapableSuperclass, new ClassConstrutor());
         */
        il.append(new LDC(constantPoolGen.addString(className)));
        il.append(factory.createInvoke(className, MN_jdoLoadClass, OT_CLASS, new Type[]{Type.STRING}, Constants.INVOKESTATIC));
        il.append(factory.createGetStatic(className, FN_FieldNames, new ArrayType(Type.STRING, 1)));
        il.append(factory.createGetStatic(className, FN_FieldTypes, new ArrayType(OT_CLASS, 1)));
        il.append(factory.createGetStatic(className, FN_FieldFlags, new ArrayType(Type.BYTE, 1)));
        il.append(factory.createGetStatic(className, FN_PersistenceCapableSuperclass, OT_CLASS));
View Full Code Here

        InstructionHandle result;
        result = il.append(factory.createNew(newException));
        il.append(InstructionConstants.DUP);
        il.append(factory.createNew(Type.STRINGBUFFER));
        il.append(InstructionConstants.DUP);
        il.append(new LDC(classGen.getConstantPool().addString(message)));
        il.append(
            factory.createInvoke(
                Type.STRINGBUFFER.getClassName(),
                Constants.CONSTRUCTOR_NAME,
                Type.VOID,
View Full Code Here

    protected InstructionHandle createThrowException(String newException, String message)
    {
        InstructionHandle result;
        result = il.append(factory.createNew(newException));
        il.append(InstructionConstants.DUP);
        il.append(new LDC(classGen.getConstantPool().addString(message)));
        il.append(
            factory.createInvoke(
                newException,
                Constants.CONSTRUCTOR_NAME,
                Type.VOID,
View Full Code Here

        if ((ppsc == null) || (ppsc.length() == 0))
        {
            super.execute();
            return;
        }
        il.append(new LDC(constantPoolGen.addString(ppsc)));
        il.append(
            factory.createInvoke(
                className,
                ClassEnhancer.MN_jdoLoadClass,
                BCELClassEnhancer.OT_CLASS,
View Full Code Here

        }
        else if (t instanceof ArrayType)
        {
            String classSig = f.getType().getSignature();
            int cpIndex = constantPoolGen.addString(classSig.replace('/', '.'));
            il.append(new LDC(cpIndex));
            il.append(
                factory.createInvoke(
                    className,
                    ClassEnhancer.MN_jdoLoadClass,
                    BCELClassEnhancer.OT_CLASS,
                    new Type[] { Type.STRING },
                    Constants.INVOKESTATIC));
        }
        else
        {
            int cpIndex = constantPoolGen.addString(((ObjectType)t).getClassName());
            il.append(new LDC(cpIndex));
            il.append(
                factory.createInvoke(
                    className,
                    ClassEnhancer.MN_jdoLoadClass,
                    BCELClassEnhancer.OT_CLASS,
View Full Code Here

TOP

Related Classes of org.apache.bcel.generic.LDC

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.