public StructureIncludeFile(SIRStructure[] structs, FlatNode toplevel, String dir)
private StructureIncludeFile(SIRStructure[] structs, FlatNode toplevel, String dir)
    public StructureIncludeFile(SIRStructure[] structs, FlatNode toplevel, String dir)     {        try {            FileWriter fw = new FileWriter(dir + "/structs.h");            passedTypes = new HashSet();            //determine which struct types are actually passed over channels            toplevel.accept(this, null, true);            createStructureDefs(structs, fw);            if (!KjcOptions.standalone)                createPushPopFunctions(structs, fw);            fw.close();        }        catch (Exception e) {            e.printStackTrace();            System.err.println("Error creating structure include file");        }    }