Examples of MethodInfo


Examples of org.apache.tools.ant.taskdefs.optional.sitraka.bytecode.MethodInfo

    }

    protected void assertHasMethod(String methodsig, int line, MethodInfo[] methods) {
        boolean found = false;
        for (int i = 0; i < methods.length; i++) {
            MethodInfo method = methods[i];
            if (methodsig.equals(method.getFullSignature())) {
                assertEquals(methodsig, line, method.getNumberOfLines());
                return;
            }
        }
        fail("Could not find method " + methodsig);
    }
View Full Code Here

Examples of org.aspectj.org.eclipse.jdt.internal.compiler.classfmt.MethodInfo

      // first reference all methods declarations and field declarations
      MethodInfo[] methods = (MethodInfo[]) reader.getMethods();
      if (methods != null) {
        for (int i = 0, max = methods.length; i < max; i++) {
          MethodInfo method = methods[i];
          boolean isConstructor = method.isConstructor();
          char[] descriptor = method.getMethodDescriptor();
          char[][] parameterTypes = decodeParameterTypes(descriptor, isConstructor && isNestedType);
          char[] returnType = decodeReturnType(descriptor);
          char[][] exceptionTypes = replace('/', '.', method.getExceptionTypeNames());
          if (isConstructor) {
            addConstructorDeclaration(className, parameterTypes, exceptionTypes);
          } else {
            if (!method.isClinit()) {
              addMethodDeclaration(method.getSelector(), parameterTypes, returnType, exceptionTypes);
            }
          }
          // look for references in method annotations
          annotations = method.getAnnotations();
          if (annotations != null) {
            for (int a=0, length=annotations.length; a<length; a++) {
              IBinaryAnnotation annotation = annotations[a];
              addBinaryAnnotation(annotation);
            }
View Full Code Here

Examples of org.camunda.bpm.engine.impl.javax.el.MethodInfo

    if (property == null && strict) {
      throw new PropertyNotFoundException(LocalMessages.get("error.property.method.notfound", "null", base));
    }
    String name = bindings.convert(property, String.class);
    Method method = findMethod(name, base.getClass(), returnType, paramTypes);
    return new MethodInfo(method.getName(), method.getReturnType(), paramTypes);
  }
View Full Code Here

Examples of org.codehaus.aspectwerkz.reflect.MethodInfo

            List interfaceDeclaredMethods = ClassInfoHelper.collectMethodsFromInterfacesImplementedBy(mixinClass);
            List sortedMethodList = ClassInfoHelper.createInterfaceDefinedMethodList(
                    mixinClass, interfaceDeclaredMethods
            );
            for (Iterator iterator = sortedMethodList.iterator(); iterator.hasNext();) {
                MethodInfo methodInfo = (MethodInfo) iterator.next();
                m_methodsToIntroduce.add(methodInfo);
            }
        }

        m_mixinImplClassName = mixinClass.getName();
View Full Code Here

Examples of org.cojen.classfile.MethodInfo

        try {
            cf.setTarget(System.getProperty("java.specification.version"));
        } catch (Exception e) {
        }

        MethodInfo ctor = cf.addConstructor(Modifiers.PUBLIC, null);
        ctor.markSynthetic();
        CodeBuilder b = new CodeBuilder(ctor);

        b.loadThis();
        b.invokeSuperConstructor(null);
        b.returnVoid();
View Full Code Here

Examples of org.cojen.classfile.MethodInfo

    private static void generateAccessMethod(ClassFile cf,
                                             Class beanType,
                                             BeanProperty[] properties,
                                             int methodType)
    {
        MethodInfo mi;
        switch (methodType) {
        case READ_METHOD: default: {
            TypeDesc[] params = {TypeDesc.OBJECT, TypeDesc.STRING};
            mi = cf.addMethod
                (Modifiers.PUBLIC, "getPropertyValue", TypeDesc.OBJECT, params);
            break;
        }
        case WRITE_METHOD: {
            TypeDesc[] params = new TypeDesc[] {
                TypeDesc.OBJECT, TypeDesc.STRING, TypeDesc.OBJECT
            };
            mi = cf.addMethod(Modifiers.PUBLIC, "setPropertyValue", null, params);
            break;
        }
        case TRY_READ_METHOD: {
            TypeDesc[] params = {TypeDesc.OBJECT, TypeDesc.STRING};
            mi = cf.addMethod
                (Modifiers.PUBLIC, "tryGetPropertyValue", TypeDesc.OBJECT, params);
            break;
        }
        case TRY_WRITE_METHOD: {
            TypeDesc[] params = new TypeDesc[] {
                TypeDesc.OBJECT, TypeDesc.STRING, TypeDesc.OBJECT
            };
            mi = cf.addMethod(Modifiers.PUBLIC, "trySetPropertyValue", TypeDesc.BOOLEAN, params);
            break;
        }
        case HAS_READ_METHOD: {
            TypeDesc[] params = {TypeDesc.STRING};
            mi = cf.addMethod(Modifiers.PUBLIC, "hasReadableProperty", TypeDesc.BOOLEAN, params);
            break;
        }
        case HAS_WRITE_METHOD: {
            TypeDesc[] params = {TypeDesc.STRING};
            mi = cf.addMethod(Modifiers.PUBLIC, "hasWritableProperty", TypeDesc.BOOLEAN, params);
            break;
        }
        }

        mi.markSynthetic();
        CodeBuilder b = new CodeBuilder(mi);

        LocalVariable beanVar, propertyVar, valueVar;

        switch (methodType) {
View Full Code Here

Examples of org.cojen.classfile.MethodInfo

    private static void generateSearchMethod(ClassFile cf,
                                             Class beanType,
                                             BeanProperty[] properties)
    {
        MethodInfo mi;
        {
            TypeDesc[] params = {TypeDesc.OBJECT, TypeDesc.OBJECT};
            mi = cf.addMethod(Modifiers.PUBLIC, "hasPropertyValue", TypeDesc.BOOLEAN, params);
        }

        mi.markSynthetic();
        CodeBuilder b = new CodeBuilder(mi);

        LocalVariable beanVar = b.getParameter(0);
        b.loadLocal(beanVar);
        b.checkCast(TypeDesc.forClass(beanType));
View Full Code Here

Examples of org.cojen.classfile.MethodInfo

            cf.setSourceFile(PatternMatcher.class.getName());
           
            // constructor
            TypeDesc objectArrayType = TypeDesc.OBJECT.toArrayType();
            TypeDesc[] params = {objectArrayType};
            MethodInfo mi = cf.addConstructor(Modifiers.PUBLIC, params);
            mBuilder = new CodeBuilder(mi);
            mBuilder.loadThis();
            mBuilder.loadLocal(mBuilder.getParameter(0));
            mBuilder.invokeSuperConstructor(params);
            mBuilder.returnVoid();
View Full Code Here

Examples of org.cojen.classfile.MethodInfo

        // Create constructor to initialize fields.
        TypeDesc[] paramTypes = {
            comparatorArrayType, comparatorArrayType
        };
        MethodInfo ctor = cf.addConstructor(Modifiers.PUBLIC, paramTypes);
        ctor.markSynthetic();
        CodeBuilder builder = new CodeBuilder(ctor);

        builder.loadThis();
        builder.invokeSuperConstructor(null);
        builder.loadThis();
        builder.loadLocal(builder.getParameter(0));
        builder.storeField("mCollators", comparatorArrayType);
        builder.loadThis();
        builder.loadLocal(builder.getParameter(1));
        builder.storeField("mUsingComparators", comparatorArrayType);
        builder.returnVoid();

        // Create the all-important compare method.
        Method compareMethod, compareToMethod;
        try {
            compareMethod = Comparator.class.getMethod
                ("compare", new Class[] {Object.class, Object.class});
            compareToMethod = Comparable.class.getMethod
                ("compareTo", new Class[] {Object.class});
        } catch (NoSuchMethodException e) {
            throw new InternalError(e.toString());
        }

        MethodInfo mi = cf.addMethod(compareMethod);
        mi.markSynthetic();
        builder = new CodeBuilder(mi);

        Label endLabel = builder.createLabel();
        LocalVariable obj1 = builder.getParameter(0);
        LocalVariable obj2 = builder.getParameter(1);
View Full Code Here

Examples of org.cojen.classfile.MethodInfo

        cf.setSourceFile("HelloWorld.java");

        cf.addDefaultConstructor();

        TypeDesc[] params = new TypeDesc[] { TypeDesc.STRING.toArrayType() };
        MethodInfo mi = cf.addMethod(Modifiers.PUBLIC_STATIC,
                "main",
                null,
                params);
        org.cojen.classfile.CodeBuilder b = new org.cojen.classfile.CodeBuilder(mi);
        b.loadStaticField("java.lang.System", "out", printStream);
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. 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.