newArrayExprs = NewArrayExprs.doit(fields, functions, mainMethod);  toRS = new FlatIRToRS(newArrayExprs);
    private void writeCompleteFile()     {	StringBuffer str = new StringBuffer();	//if there are structures in the code, include	//the structure definition header files	if (StrToRStream.structures.length > 0) 	    str.append("#include \"structs.h\"\n");	str.append(getExterns());	for(int i = 0; i < fields.size(); i++) 	    ((JFieldDeclaration)fields.get(i)).accept(toRS);	//initially just print the function decls	toRS.declOnly = true;	for (int i = 0; i < functions.size(); i++) 	    ((JMethodDeclaration)functions.get(i)).accept(toRS);	mainMethod.accept(toRS);	//now print the method bodies...	toRS.declOnly = false;	for (int i = 0; i < functions.size(); i++) 	    ((JMethodDeclaration)functions.get(i)).accept(toRS);	mainMethod.accept(toRS);	str.append(toRS.getString());		System.out.println("Code for application written to str.c");	try {	    FileWriter fw = new FileWriter("str.c");	    fw.write(str.toString());	    fw.close();	}	catch (Exception e) {	    System.err.println("Unable to write application code.");	}    }