Merge branch 'master' into ecb-master
commit
2de9041ba7
|
@ -3816,7 +3816,7 @@ DynamicModel::cloneDynamic(DynamicModel &dynamic_model) const
|
|||
vector<pair<string, string> > eq_tags;
|
||||
for (vector<pair<int, pair<string, string> > >::const_iterator it = equation_tags.begin();
|
||||
it != equation_tags.end(); ++it)
|
||||
if (it->first == i)
|
||||
if (it->first == (int)i)
|
||||
eq_tags.push_back(it->second);
|
||||
dynamic_model.addEquation(equations[i]->cloneDynamic(dynamic_model), equations_lineno[i], eq_tags);
|
||||
}
|
||||
|
|
40
ModFile.cc
40
ModFile.cc
|
@ -1298,7 +1298,7 @@ ModFile::writeJsonOutput(const string &basename, JsonOutputPointType json, JsonF
|
|||
if (json == parsing || json == checkpass)
|
||||
symbol_table.freeze();
|
||||
|
||||
writeJsonOutputParsingCheck(basename, json_output_mode);
|
||||
writeJsonOutputParsingCheck(basename, json_output_mode, json == transformpass);
|
||||
|
||||
if (json == parsing || json == checkpass)
|
||||
symbol_table.unfreeze();
|
||||
|
@ -1330,7 +1330,7 @@ ModFile::writeJsonOutput(const string &basename, JsonOutputPointType json, JsonF
|
|||
}
|
||||
|
||||
void
|
||||
ModFile::writeJsonOutputParsingCheck(const string &basename, JsonFileOutputType json_output_mode) const
|
||||
ModFile::writeJsonOutputParsingCheck(const string &basename, JsonFileOutputType json_output_mode, bool transformpass) const
|
||||
{
|
||||
ostringstream output;
|
||||
output << "{" << endl;
|
||||
|
@ -1353,8 +1353,21 @@ ModFile::writeJsonOutputParsingCheck(const string &basename, JsonFileOutputType
|
|||
}
|
||||
output << "}" << endl;
|
||||
|
||||
ostringstream original_model_output;
|
||||
original_model_output << "";
|
||||
if (transformpass)
|
||||
{
|
||||
original_model_output << "{";
|
||||
original_model.writeJsonOriginalModelOutput(original_model_output);
|
||||
original_model_output << "}" << endl;
|
||||
}
|
||||
|
||||
if (json_output_mode == standardout)
|
||||
{
|
||||
cout << output.str();
|
||||
if (!original_model_output.str().empty())
|
||||
cout << original_model_output.str();
|
||||
}
|
||||
else
|
||||
{
|
||||
ofstream jsonOutputFile;
|
||||
|
@ -1378,6 +1391,29 @@ ModFile::writeJsonOutputParsingCheck(const string &basename, JsonFileOutputType
|
|||
|
||||
jsonOutputFile << output.str();
|
||||
jsonOutputFile.close();
|
||||
|
||||
if (!original_model_output.str().empty())
|
||||
{
|
||||
if (basename.size())
|
||||
{
|
||||
string fname(basename);
|
||||
fname += "_original.json";
|
||||
jsonOutputFile.open(fname.c_str(), ios::out | ios::binary);
|
||||
if (!jsonOutputFile.is_open())
|
||||
{
|
||||
cerr << "ERROR: Can't open file " << fname << " for writing" << endl;
|
||||
exit(EXIT_FAILURE);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
cerr << "ERROR: Missing file name" << endl;
|
||||
exit(EXIT_FAILURE);
|
||||
}
|
||||
|
||||
jsonOutputFile << original_model_output.str();
|
||||
jsonOutputFile.close();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -118,7 +118,7 @@ private:
|
|||
//! Warnings Encountered
|
||||
WarningConsolidation &warnings;
|
||||
//! Functions used in writing of JSON outut. See writeJsonOutput
|
||||
void writeJsonOutputParsingCheck(const string &basename, JsonFileOutputType json_output_mode) const;
|
||||
void writeJsonOutputParsingCheck(const string &basename, JsonFileOutputType json_output_mode, bool transformpass) const;
|
||||
void writeJsonComputingPassOutput(const string &basename, JsonFileOutputType json_output_mode, bool jsonprintderivdetail) const;
|
||||
void writeJsonFileHelper(string &fname, ostringstream &output) const;
|
||||
public:
|
||||
|
|
Loading…
Reference in New Issue