Changeset 13509


Ignore:
Timestamp:
Sep 17, 2019 12:20:42 PM (3 months ago)
Author:
molsson
Message:

#5843 Extracted printing of flat equations to separate method.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/dev-mo-2276/Compiler/ModelicaFlatTree/src/jastadd/PrettyPrint.jrag

    r13357 r13509  
    11391139        getParameterEquations().prettyPrintWithFix(p, str, nextInd, "", ";" + str.getLineEnder());
    11401140   
     1141        prettyPrintEquations(p, str, indent);
     1142       
     1143        if (getNumFFunctionDecl() > 0 || getNumFRecordDecl() > 0 ||
     1144                getNumFEnumDecl() > 0 || getNumFDerivedType() > 0) {
     1145            str.println();
     1146            str.formatln("%spublic", indent);
     1147            p.print(getFFunctionDecls(), str, nextInd);
     1148            p.print(getFRecordDecls(), str, nextInd);
     1149            p.print(getFEnumDecls(), str, nextInd);
     1150            p.print(getFDerivedTypes(), str, nextInd);
     1151        }
     1152       
     1153        getFAttributeList().prettyPrintFAnnotationAttributeList(str, p, indent, ";" + str.getLineEnder());
     1154
     1155        str.println(indent, "end ", name(), ";");
     1156    }
     1157   
     1158    public void FClass.prettyPrintEquations(Printer p, CodeStream str, String indent) {
    11411159        boolean wroteEquation = false;
    1142         for (FAbstractEquation e : getFAbstractEquations()) {
     1160        String nextInd = p.indent(indent);
     1161        for (FAbstractEquation e : equationsForPrinting()) {
    11431162            if (e instanceof FAlgorithm) {
    11441163                p.print(e, str, indent);
     
    11551174            }
    11561175        }
    1157        
    1158         if (getNumFFunctionDecl() > 0 || getNumFRecordDecl() > 0 ||
    1159                 getNumFEnumDecl() > 0 || getNumFDerivedType() > 0) {
    1160             str.println();
    1161             str.formatln("%spublic", indent);
    1162             p.print(getFFunctionDecls(), str, nextInd);
    1163             p.print(getFRecordDecls(), str, nextInd);
    1164             p.print(getFEnumDecls(), str, nextInd);
    1165             p.print(getFDerivedTypes(), str, nextInd);
    1166         }
    1167        
    1168         getFAttributeList().prettyPrintFAnnotationAttributeList(str, p, indent, ";" + str.getLineEnder());
    1169 
    1170         str.println(indent, "end ", name(), ";");
     1176    }
     1177   
     1178    public Iterable<FAbstractEquation> FClass.equationsForPrinting() {
     1179        return getFAbstractEquations();
    11711180    }
    11721181
     
    22032212        getParameterEquations().prettyPrintWithFix(p, str, nextInd, "", ";" + str.getLineEnder());
    22042213    */
    2205         boolean wroteEquation = false;
    2206         for (FAbstractEquation e : getFAbstractEquations()) {
    2207             if (e instanceof FAlgorithm) {
    2208                 p.print(e, str, indent);
    2209                 wroteEquation = false;
    2210             } else {
    2211                 if (!e.isIgnored()) {
    2212                     if (!wroteEquation) {
    2213                         str.println(indent, "equation");
    2214                         wroteEquation = true;
    2215                     }
    2216                     p.print(e, str, nextInd);
    2217                     str.println(";");
    2218                 }
    2219             }
    2220         }
     2214        prettyPrintEquations(p, str, indent);
    22212215               
    22222216        str.println(indent, "end ", nameUnderscore(), ";");
Note: See TracChangeset for help on using the changeset viewer.