Package org.openquark.cal.internal.javamodel.JavaExpression

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


                            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));

            }
View Full Code Here


            JavaClassRep lazyAppClassRep = new JavaClassRep(lazyAppTypeName, superClassTypeName, classModifiers, interfaces);

            //add the function field, which is a reference to the function singleton.
            JavaFieldDeclaration functionFieldDec = new JavaFieldDeclaration (Modifier.PRIVATE | Modifier.FINAL, className, "function", null);
            lazyAppClassRep.addFieldDeclaration(functionFieldDec);
            JavaField functionField = new JavaField.Instance (null, "function", className);

            // This class has a member field for each argument to the SC.
            JavaField[] functionArgumentMemberFields = new JavaField [mf.getArity()];
            for (int i = 0; i < mf.getArity(); ++i) {
                JavaFieldDeclaration fieldDec;
                JavaField field;
                String fieldName = CALToJavaNames.fixupVarName(mf.getParameterNames()[i]);
                fieldDec = new JavaFieldDeclaration (Modifier.PRIVATE, JavaTypeNames.RTVALUE, fieldName, null);
                field = new JavaField.Instance (null, fieldName, JavaTypeNames.RTVALUE);
                lazyAppClassRep.addFieldDeclaration(fieldDec);
                functionArgumentMemberFields[i] = field;
View Full Code Here

            //     setResult (
            //         function.f4L(RTValue.lastRef(arg1, arg1 = null), ...));
            // }
            // return result;

            final JavaField resultField = new JavaField.Instance(null, "result", JavaTypeNames.RTVALUE);

            OperatorExpression condition = new OperatorExpression.Binary (JavaOperator.EQUALS_OBJECT, resultField, LiteralWrapper.NULL);
            Block then = new Block();

            JavaExpression args[] = new JavaExpression[mf.getArity() + 1];
View Full Code Here

                                        JavaTypeName.STRING));

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

            return javaConstructor;
View Full Code Here

            //    }
            //}

            JavaMethod method = new JavaMethod (Modifier.PUBLIC | Modifier.FINAL, JavaTypeName.INT, "debug_getNChildren");

            JavaField resultField = new JavaField.Instance(null, "result", JavaTypeNames.RTVALUE);
            JavaExpression conditionExpr =
                new JavaExpression.OperatorExpression.Binary(
                    JavaOperator.NOT_EQUALS_OBJECT,
                    resultField,
                    LiteralWrapper.NULL)
View Full Code Here

            {
                //    if (result != null) {
                //        return super.debug_getChild(childN);
                //    }

                JavaField resultField = new JavaField.Instance(null, "result", JavaTypeNames.RTVALUE);
                JavaExpression conditionExpr =
                    new OperatorExpression.Binary(
                        JavaOperator.NOT_EQUALS_OBJECT,
                        resultField,
                        LiteralWrapper.NULL)
                        ;

                JavaStatement thenStatement =
                    new ReturnStatement(
                        new MethodInvocation.Instance(
                            null,
                            "debug_getChild",
                            JavaTypeNames.RTFULLAPP,
                            new JavaExpression[]{childNVar},
                            new JavaTypeName[] {JavaTypeName.INT},
                            JavaTypeName.CAL_VALUE,
                            MethodInvocation.InvocationType.SPECIAL));

                JavaStatement.IfThenElseStatement ifThenStatement =
                    new JavaStatement.IfThenElseStatement (conditionExpr, thenStatement);

                method.addStatement(ifThenStatement);
            }

            SwitchStatement switchStatement =
                new SwitchStatement(childNVar);

            for (int i = 0, nFields = memberFields.length; i < nFields; ++i) {

                JavaField javaField = memberFields[i];
                String javaFieldName = javaField.getFieldName();
                JavaTypeName javaFieldType = javaField.getFieldType();
                JavaExpression javaFieldExpr = new JavaExpression.JavaField.Instance(null, javaFieldName, javaFieldType);
                if (!javaFieldType.equals(JavaTypeNames.RTVALUE)) {
                    javaFieldExpr = SCJavaDefn.boxExpression(javaFieldType, javaFieldExpr);
                }
                switchStatement.addCase(
View Full Code Here

                    if (SCJavaDefn.canTypeBeUnboxed(fieldTypes[i])) {
                        fieldType = SCJavaDefn.typeExprToTypeName(fieldTypes[i]);
                    }

                    LiteralWrapper fieldVal = JavaDefinitionBuilder.getDefaultValueForType(fieldType);
                    JavaField jf = new JavaField.Instance(null, javaFieldNames[i], fieldType);
                    JavaExpression assign = new JavaExpression.Assignment(jf, fieldVal);
                    javaConstructor.addStatement(new ExpressionStatement(assign));
                }
            }
View Full Code Here

                    // This field is in the containing class so we don't
                    // assign here.
                    continue;
                }

                JavaField field = new JavaField.Instance(null, javaFieldNames[i], JavaTypeNames.RTVALUE);

                Assignment memberAssignment = new Assignment(field, argVars[i]);
                javaConstructor.addStatement(new ExpressionStatement(memberAssignment));
            }
View Full Code Here

                JavaTypeName fieldType = JavaTypeNames.RTVALUE;
                if (fieldStrictness[i] && SCJavaDefn.canTypeBeUnboxed(fieldTypes[i])) {
                    fieldType = SCJavaDefn.typeExprToTypeName(fieldTypes[i]);
                }

                JavaField field = new JavaField.Instance(null, javaFieldNames[i], fieldType);

                Assignment memberAssignment = new Assignment(field, argVars[i]);
                javaConstructor.addStatement(new ExpressionStatement(memberAssignment));
            }
View Full Code Here

            javaClassRep.addMethod(javaMethod);

            // Add the body..
            // The no argument version of make should only be called for an instance to
            // be used as a supercombinator so we can return the singleton instance.
            JavaField selfField = new JavaField.Static(className, instanceName, className);
            javaMethod.addStatement(new ReturnStatement(selfField));

        }
View Full Code Here

TOP

Related Classes of org.openquark.cal.internal.javamodel.JavaExpression.JavaField

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.