Package org.openquark.cal.internal.javamodel

Examples of org.openquark.cal.internal.javamodel.JavaMethod.addStatement()


                        // Put the whole if expression together.
                        JavaStatement ifthen = new JavaStatement.IfThenElseStatement(comparison, then);
                        b.addStatement(ifthen);
                        b.addStatement(new ReturnStatement(newInstanceVar));

                        javaMethod.addStatement(b);
                        break;
                    } else if (mf.getArity() == 0) {

                        Block b = new Block();
View Full Code Here


                        JavaExpression initializer = new ClassInstanceCreationExpression(_0TypeName, instanceField, JavaTypeNames.RTSUPERCOMBINATOR);
                        JavaStatement decl = new JavaStatement.LocalVariableDeclaration(newInstanceVar, initializer);
                        b.addStatement(decl);
                        b.addStatement(new ReturnStatement(newInstanceVar));

                        javaMethod.addStatement(b);
                        break;
                    }
                }

            } else {
View Full Code Here

                switchStatement.addCase(
                        new SwitchStatement.DefaultCase(new ReturnStatement(new CastExpression(JavaTypeNames.RTFUNCTION, mi))));



                javaMethod.addStatement(switchStatement);
            }
        }


        /**
 
View Full Code Here

            javaClassRep.addMethod(javaMethod);

            // Add the body
            if (functions.getNFunctions() > 1) {
                JavaField arityField = new JavaField.Instance(null, "arity", JavaTypeName.INT);
                javaMethod.addStatement(new ReturnStatement(arityField));
            } else {
                int arity = functions.getTopLevelCALFunctions().iterator().next().getArity();
                javaMethod.addStatement(new ReturnStatement(LiteralWrapper.make(Integer.valueOf(arity))));
            }
        }
View Full Code Here

            if (functions.getNFunctions() > 1) {
                JavaField arityField = new JavaField.Instance(null, "arity", JavaTypeName.INT);
                javaMethod.addStatement(new ReturnStatement(arityField));
            } else {
                int arity = functions.getTopLevelCALFunctions().iterator().next().getArity();
                javaMethod.addStatement(new ReturnStatement(LiteralWrapper.make(Integer.valueOf(arity))));
            }
        }


        /**
 
View Full Code Here

            if (consolidateFunctions) {

                // Extract the arguments from the application chain.
                JavaStatement argumentExtraction = generateArgumentExtractors(javaDefn);
                javaMethod.addStatement(argumentExtraction);

                final JavaExpression[] args = new JavaExpression[arity + 1];
                final JavaTypeName[] argTypes = new JavaTypeName[arity + 1];
                Arrays.fill (argTypes, JavaTypeNames.RTVALUE);
                args[arity] = SCJavaDefn.EXECUTION_CONTEXT_VAR;
View Full Code Here

                            args,
                            argTypes,
                            JavaTypeNames.RTVALUE,
                            MethodInvocation.InvocationType.VIRTUAL);

                javaMethod.addStatement(new JavaStatement.ReturnStatement(mi));

            } else {
                // Add statistics generation.
                addStatsBlock (javaMethod, javaDefn);
View Full Code Here

                addStatsBlock (javaMethod, javaDefn);


                // Extract function arguments from the application chain.
                JavaStatement argumentExtraction = generateArgumentExtractors(javaDefn);
                javaMethod.addStatement(argumentExtraction);

                javaMethod.addStatement (generateStrictArgEvaluationBlock(javaDefn));


                String[] unboxedLocalVarNames = null;
View Full Code Here

                // Extract function arguments from the application chain.
                JavaStatement argumentExtraction = generateArgumentExtractors(javaDefn);
                javaMethod.addStatement(argumentExtraction);

                javaMethod.addStatement (generateStrictArgEvaluationBlock(javaDefn));


                String[] unboxedLocalVarNames = null;
                JavaTypeName[] unboxedLocalVarTypes = null;
                if (LECCMachineConfiguration.generateDebugCode() || LECCMachineConfiguration.generateDebugCode()) {
View Full Code Here

                        loopBodyBlock.addStatement(generateDebugCode(javaDefn, unboxedLocalVarNames, unboxedLocalVarTypes));
                    }

                    loopBodyBlock.addStatement(bodyBlock);
                    UnconditionalLoop whileStatement = new UnconditionalLoop (SCJavaDefn.TAIL_RECURSION_LOOP_LABEL, loopBodyBlock);
                    javaMethod.addStatement (whileStatement);

                } else {
                    if (LECCMachineConfiguration.SANITY_CHECK_LET_VARS) {
                        javaMethod.addStatement(resetLetVarFlags(javaDefn.getFunctionName()));
                    }
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.