Package com.strobel.reflection

Examples of com.strobel.reflection.ConstructorInfo


    // <editor-fold defaultstate="collapsed" desc="New and New Array Expressions">

    private void emitNewExpression(final Expression expr) {
        final NewExpression node = (NewExpression) expr;
        final ConstructorInfo constructor = node.getConstructor();

        if (constructor == null) {
            assert node.getArguments().size() == 0
                : "Node with arguments must have a constructor.";

            assert node.getType().isPrimitive()
                :
                "Only primitive type may have no constructor set.";

            generator.emitDefaultValue(node.getType());
            return;
        }

        generator.emitNew(constructor.getDeclaringType());
        generator.dup();
        emitArguments(constructor, node);
        generator.call(constructor);
    }
View Full Code Here


            // array[i] = new StrongBox<T>(...);
            lc.generator.dup();
            lc.generator.emitInteger(i++);

            final Type boxType = getBoxType(v.getType());
            final ConstructorInfo constructor = boxType.getConstructor(v.getType());

            if (isMethod && lc.getParameters().contains(v)) {
                // array[i] = new StrongBox<T>(argument);
                final int index = lc.getParameters().indexOf(v);
                lc.generator.emitNew(boxType);
View Full Code Here

    }

    @Test
    public void testNew() throws Exception {
        final Type<NeedsTwoCtorArgs> resultType = Type.of(NeedsTwoCtorArgs.class);
        final ConstructorInfo constructor = resultType.getConstructors(BindingFlags.All).get(0);
        final Type<?> callable = Type.of(Callable.class).makeGenericType(resultType);

        final LambdaExpression<Callable<NeedsTwoCtorArgs>> outer = lambda(
            callable,
            makeNew(
View Full Code Here

            // array[i] = new StrongBox<T>(...);
            lc.generator.dup();
            lc.generator.emitInteger(i++);

            final Type boxType = getBoxType(v.getType());
            final ConstructorInfo constructor = boxType.getConstructor(v.getType());

            if (isMethod && lc.getParameters().contains(v)) {
                // array[i] = new StrongBox<T>(argument);
                final int index = lc.getParameters().indexOf(v);
                lc.generator.emitNew(boxType);
View Full Code Here

TOP

Related Classes of com.strobel.reflection.ConstructorInfo

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.