[Ooc-checkins] libpobj/src/PObj CodeGenJava.Mod,1.114,1.115
Brought to you by:
mva
From: Michael v. A. <mv...@us...> - 2008-06-02 13:06:05
|
Update of /cvsroot/ooc/libpobj/src/PObj In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv9966/src/PObj Modified Files: CodeGenJava.Mod Log Message: Write empty application class for select, if none exists yet. Index: CodeGenJava.Mod =================================================================== RCS file: /cvsroot/ooc/libpobj/src/PObj/CodeGenJava.Mod,v retrieving revision 1.114 retrieving revision 1.115 diff -u -d -r1.114 -r1.115 --- CodeGenJava.Mod 18 Apr 2008 09:01:12 -0000 1.114 +++ CodeGenJava.Mod 2 Jun 2008 13:06:12 -0000 1.115 @@ -1,7 +1,7 @@ (* $Id$ *) MODULE PObj:CodeGenJava; (* Java code generator. - Copyright (C) 2004-2007 Michael van Acken + Copyright (C) 2004-2008 Michael van Acken This module is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License @@ -3443,7 +3443,7 @@ w.CloseAndRegister(); END WriteFile; - PROCEDURE WriteApplicationFileTE(te: MetaData.Class; packageName: STRING) + PROCEDURE WriteApplicationFileTE(te: MetaData.TableExpr; packageName: STRING) RAISES IO.Error; VAR fileName, className: STRING; @@ -3454,7 +3454,7 @@ Err.Object("Skipping existing class: "+fileName); Err.Ln; ELSE indent := 0; - className := class.Name(class.module, MetaData.tableExprJavaClassName); + className := te.Name(te.module, MetaData.tableExprJavaClassName); sb.Append("package "); sb.Append(packageName); @@ -3465,7 +3465,7 @@ sb.Append("public class "); sb.Append(className); sb.Append(" extends "); - sb.Append(class.Name(class.module, MetaData.tableExprJavaGeneratedClassName)); + sb.Append(te.Name(te.module, MetaData.tableExprJavaGeneratedClassName)); sb.Append(" {"); INC(indent); @@ -3486,20 +3486,24 @@ sb.Append("}"); (* full constructor *) - IF class.extensible THEN - Ln; - Ln; - sb.Append("public "+className+"("); - i := AppendFieldList(sb, cd, class, TRUE); - sb.Append(") {"); - INC(indent); - Ln; - sb.Append("super("); - i := AppendFieldList(sb, cd, class, FALSE); - sb.Append(");"); - DEC(indent); - Ln; - sb.Append("}"); + WITH te: MetaData.Class DO + IF te.extensible THEN + Ln; + Ln; + sb.Append("public "+className+"("); + i := AppendFieldList(sb, cd, te, TRUE); + sb.Append(") {"); + INC(indent); + Ln; + sb.Append("super("); + i := AppendFieldList(sb, cd, te, FALSE); + sb.Append(");"); + DEC(indent); + Ln; + sb.Append("}"); + END; + ELSE + (* nothing *) END; DEC(indent); @@ -3650,6 +3654,10 @@ (* write the select's section of the Globals.java file *) SelectGlobals(module.javaPackage, select); WriteBuffer(wGlobals, sb); + + (* write a rudimentary application class, unless the file + exists already *) + WriteApplicationFileTE(te, module.javaPackage); ELSE (* nothing *) END; |