Changeset 13630


Ignore:
Timestamp:
Oct 1, 2019 1:25:32 PM (2 months ago)
Author:
Jonathan Kämpe
Message:

#5837 Refactoring some for loops.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/dev-cw-evaluator/Compiler/ModelicaCBackEnd/src/jastadd/CCodeGen/CCodeGenExternalCeval.jrag

    r13610 r13630  
    248248        Collection<ExternalArgument> res = new LinkedHashSet<>();
    249249        if (hasReturnVar()) {
    250             res.add(getReturnVar().externalArgument());
    251         }
     250            res.add(returnVarToSerialize());
     251        }
     252        res.addAll(argVarsToSerialize());
     253        return res;
     254    }
     255   
     256    syn ExternalArgument FExternalStmt.returnVarToSerialize() = getReturnVar().externalArgument();
     257    syn Collection<ExternalArgument> FExternalStmt.argVarsToSerialize() {
     258        Collection<ExternalArgument> res = new LinkedHashSet<>();
    252259        for (FExp e : getArgs()) {
    253260            res.add(e.externalArgument());
     
    313320    syn String FExternalStmt.functionReturnArgSerialized() {
    314321        if (hasReturnVar()) {
    315             ExternalArgument var = functionArgsToSerialize().iterator().next();
    316             return var.type().cMappedTypeString();
     322            return returnVarToSerialize().type().cMappedTypeString();
    317323        } else {
    318324            return "void";
     
    321327   
    322328    syn String FExternalStmt.functionArgsSerialized() {
    323         final boolean hasReturnVar = hasReturnVar();
    324         boolean skippedReturnVar = false;
    325        
    326329        String input = "";
    327         for (ExternalArgument var : functionArgsToSerialize()) {
    328             if (hasReturnVar && !skippedReturnVar) {
    329                 skippedReturnVar = true;
    330                 continue;
    331             }
    332            
     330        for (ExternalArgument var : argVarsToSerialize()) {
    333331            if (var.isOutput()) {
    334332               input = input.concat("*");
    335333            }
    336            
    337334            input += var.type().cMappedTypeString() + ",";
    338335        }
Note: See TracChangeset for help on using the changeset viewer.