Examples of MethodVariable


Examples of org.openquark.cal.internal.javamodel.JavaExpression.MethodVariable

                               JavaTypeName.INT,
                               false, "getDCNameByOrdinal");
            javaClassRep.addMethod(javaMethod);

            SwitchStatement sw =
                new SwitchStatement(new MethodVariable("dcOrdinal"));

            for (int i = 0, n = dataConsList.size(); i < n; ++i) {
                DataConstructor dc = dataConsList.get(i);
                SwitchStatement.IntCaseGroup icg =
                    new SwitchStatement.IntCaseGroup(
View Full Code Here

Examples of org.openquark.cal.internal.javamodel.JavaExpression.MethodVariable

            Arrays.fill(argTypes, JavaTypeNames.RTVALUE);
            for (int i =  0; i < arity; ++i) {
                // If the argument is strict and primitive add $L to the name so that we
                // can use the declared name for the primitive value.
                argNames[i] = "$arg" + i;
                argValues[i] = new MethodVariable(argNames[i]);
            }

            argNames[arity] = SCJavaDefn.EXECUTION_CONTEXT_NAME;
            argTypes[arity] = JavaTypeNames.RTEXECUTION_CONTEXT;
            argValues[arity] = SCJavaDefn.EXECUTION_CONTEXT_VAR;
View Full Code Here

Examples of org.openquark.cal.internal.javamodel.JavaExpression.MethodVariable

                methodName = functions.getFNamePrefix(mf.getName()) + "f";
                MethodInvocation mi =
                    new MethodInvocation.Instance(
                            null,
                            methodName,
                            new JavaExpression[]{new MethodVariable(ROOT_NODE), SCJavaDefn.EXECUTION_CONTEXT_VAR},
                            argTypes,
                            JavaTypeNames.RTVALUE,
                            MethodInvocation.InvocationType.VIRTUAL);

                switchStatement.addCase(
View Full Code Here

Examples of org.openquark.cal.internal.javamodel.JavaExpression.MethodVariable

                    }
                }

            } else {
                SwitchStatement switchStatement =
                    new SwitchStatement(new MethodVariable("scIndex"));

                for (final MachineFunction mf : functions.getTopLevelCALFunctions()) {
                    JavaField instanceField = new JavaField.Static(className, CALToJavaNames.getInstanceFieldName(mf.getQualifiedName(), module), className);
                    int functionIndex = functions.getFunctionIndex(mf.getName());
                    if (mf.isCAF()) {
View Full Code Here

Examples of org.openquark.cal.internal.javamodel.JavaExpression.MethodVariable

                // Now fill in the constructor body.

                // assign the tag field.
                JavaField tagField = new JavaField.Instance(null, SCDefinitionBuilder.functionTagFieldName, JavaTypeName.INT);
                MethodVariable tagArgument = new MethodVariable("scIndex");
                JavaExpression.Assignment tagAssign = new JavaExpression.Assignment(tagField, tagArgument);
                javaConstructor.addStatement(new ExpressionStatement(tagAssign));

                // asign the arity.
                JavaExpression.Assignment assignArity =
                    new JavaExpression.Assignment(
                            new JavaField.Instance(null, "arity", JavaTypeName.INT),
                            new MethodVariable("arityValue"));

                javaConstructor.addStatement (new ExpressionStatement (assignArity));
            }
        }
View Full Code Here

Examples of org.openquark.cal.internal.javamodel.JavaExpression.MethodVariable

                new JavaStatement.LineComment("Release the fields in the root node to open them to garbage collection");
            argExtractorBlock.addStatement(comment);

            JavaExpression clearMembers =
                new MethodInvocation.Instance(
                        new MethodVariable(ROOT_NODE),
                        "clearMembers",
                        JavaTypeName.VOID,
                        MethodInvocation.InvocationType.VIRTUAL);
            argExtractorBlock.addStatement(new ExpressionStatement(clearMembers));
View Full Code Here

Examples of org.openquark.cal.internal.javamodel.JavaExpression.MethodVariable

                for (int i = 0; i < arity; ++i) {
                    String varName = javaDefn.getJavaArgumentName(i);
                    if (javaDefn.isArgStrict(i) && javaDefn.isArgUnboxable(i)) {
                        varName += "$L";
                    }
                    MethodVariable mv = new MethodVariable(varName);
                    args[i] = mv;
                    if (javaDefn.hasStrictArguments() && javaDefn.isArgStrict(i)) {
                        args[i] = SCJavaDefn.createInvocation(args[i], SCJavaDefn.EVALUATE, SCJavaDefn.EXECUTION_CONTEXT_VAR);
                        args[i] =
                            callLastRef(args[i], mv);
View Full Code Here

Examples of org.openquark.cal.internal.javamodel.JavaExpression.MethodVariable

            // Figure out arg names.
            String[] argNames = new String[mf.getArity() + 1];
            MethodVariable[] argVars = new MethodVariable[argNames.length];
            argNames[0] = "$function";
            argVars[0] = new MethodVariable(argNames[0]);
            for (int i = 0; i < mf.getArity(); i++) {
                argNames[i+1] = "$" + CALToJavaNames.fixupVarName(mf.getParameterNames()[i]);
                argVars[i+1] = new MethodVariable(argNames[i+1]);
                if (mf.getParameterStrictness()[i] && SCJavaDefn.canTypeBeUnboxed(mf.getParameterTypes()[i])) {
                    argTypes[i+1] = SCJavaDefn.typeExprToTypeName(mf.getParameterTypes()[i]);
                }
            }

            // Add the constructor to the class.
            JavaConstructor javaConstructor =
                new JavaConstructor(Modifier.PUBLIC, argNames, argTypes, constructorName);

            // Add the body of the constructor

            // Check for null argument values via assert.
            JavaExpression argCheck = new OperatorExpression.Binary (JavaOperator.NOT_EQUALS_OBJECT, argVars[0], LiteralWrapper.NULL);
            for (int i = 1; i < argNames.length; ++i) {
                // We only do the null pointer check on arguments of type RTValue.
                // It is valid to have an external object (ex. String) which is null.
                if (argTypes[i].equals(JavaTypeNames.RTVALUE)) {
                    JavaExpression compareArg = new OperatorExpression.Binary(JavaOperator.NOT_EQUALS_OBJECT, new MethodVariable(argNames[i]), LiteralWrapper.NULL);
                    argCheck = new JavaExpression.OperatorExpression.Binary(JavaOperator.CONDITIONAL_AND, argCheck, compareArg);
                }
            }
            javaConstructor.addStatement(
                    new AssertStatement(
                            argCheck,
                            new MethodInvocation.Instance(null, "badConsArgMsg", JavaTypeName.STRING, MethodInvocation.InvocationType.VIRTUAL),
                            JavaTypeName.STRING));

            // Assign the argument values to the class fields.
            javaConstructor.addStatement(new ExpressionStatement(new Assignment(functionField, new MethodVariable(argNames[0]))));
            for (int i = 1; i < argNames.length; i++) {
                JavaField field = functionArgumentMemberFields[i-1];
                Assignment memberAssignment = new Assignment(field, new MethodVariable(argNames[i]));
                javaConstructor.addStatement(new ExpressionStatement(memberAssignment));

            }

            return javaConstructor;
View Full Code Here

Examples of org.openquark.cal.internal.javamodel.JavaExpression.MethodVariable

            Arrays.fill(argTypes, JavaTypeNames.RTVALUE);
            argTypes[0] = className;

            // Figure out arg names and method variables.
            String[] argNames = new String[mf.getArity() + 1];
            MethodVariable argVars[] = new MethodVariable[mf.getArity() + 1];
            argNames[0] = "$function";
            argVars[0] = new MethodVariable(argNames[0]);
            for (int i = 0; i < mf.getArity(); i++) {
                argNames[i+1] = "$" + CALToJavaNames.fixupVarName(mf.getParameterNames()[i]);
                argVars[i+1] = new MethodVariable(argNames[i+1]);
            }

            // Create the constructor.
            JavaConstructor javaConstructor =
                new JavaConstructor(Modifier.PUBLIC, argNames, argTypes, constructorName);
View Full Code Here

Examples of org.openquark.cal.internal.javamodel.JavaExpression.MethodVariable

            //    }
            //}

            JavaMethod method = new JavaMethod (Modifier.PUBLIC | Modifier.FINAL, JavaTypeName.CAL_VALUE, "childN", JavaTypeName.INT, false, "debug_getChild");

            MethodVariable childNVar = new JavaExpression.MethodVariable("childN");

            {
                //    if (result != null) {
                //        return super.debug_getChild(childN);
                //    }
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.