<table><tr><td style="">tcanabrava edited the summary of this revision. <a href="https://phabricator.kde.org/transactions/detail/PHID-XACT-DREV-ms54b6otnvnsnuv/">(Show Details)</a><br />tcanabrava edited the test plan for this revision. <a href="https://phabricator.kde.org/transactions/detail/PHID-XACT-DREV-ybfgjuh52vbna44/">(Show Details)</a>
</td><a style="text-decoration: none; padding: 4px 8px; margin: 0 8px 8px; float: right; color: #464C5C; font-weight: bold; border-radius: 3px; background-color: #F7F7F9; background-image: linear-gradient(to bottom,#fff,#f1f0f1); display: inline-block; border: 1px solid rgba(71,87,120,.2);" href="https://phabricator.kde.org/D26202">View Revision</a></tr></table><br /><div><strong>CHANGES TO REVISION SUMMARY</strong><div><div style="white-space: pre-wrap; color: #74777D;"><div style="padding: 8px 0;">...</div>The code that generates the files simplly pushes strings to a text stream, and it's hard to figure out when something starts or something ends: for instance, the code that generates the Constructor has more than sixty lines of code englobing some nested if - for - if - for constructs.<br />
<br />
<span style="padding: 0 2px; color: #333333; background: rgba(151, 234, 151, .6);">Currently the code is "done" - there's one bug that I still need to find & fix regarding Translations, but the rest seems sane.<br />
The current testcode generates incorrect *whitespaces* regarding the old code (there's some parts that I feel that it's important to fix before merging, but overall, the whitespace changes are not bad and easier to handle, old code had a hand-counted amount of spaces before each line, new code has a function whitespace() that adds the current-and-correct amount of whitespaces based on indentation level that you start by startScope() and ends with endScope(). rest of the code still needs to be ported to it.<br />
<br />
I plan to fix the testcases whitespace by manually adding them, I'v fougth with the code for a while and added a few hacks there but I don't want to make the code hackish again.<br />
<br />
New code is not perfect by any means, but is a good step in the right direction.<br />
<br />
</span>This code tries to Separate the compiler code into many different files / classes to be more obvious what's happening, and each class also has many helper methods to minimize copypaste.<div style="padding: 8px 0;">...</div></div></div></div><br /><div><strong>CHANGES TO TEST PLAN</strong><div><div style="white-space: pre-wrap; color: #74777D;"><span style="padding: 0 2px; color: #333333; background: rgba(151, 234, 151, .6);">- Run the test cases, <br />
- Compare the diffs generated by the testcases and fix in the code the errors / differences<br />
- Run and compare real kde source with the new and old generators to look for errors<br />
</span></div></div></div><br /><div><strong>REPOSITORY</strong><div><div>R237 KConfig</div></div></div><br /><div><strong>REVISION DETAIL</strong><div><a href="https://phabricator.kde.org/D26202">https://phabricator.kde.org/D26202</a></div></div><br /><div><strong>To: </strong>tcanabrava, Frameworks, ervin, bport, dfaure<br /><strong>Cc: </strong>bport, ngraham, kde-frameworks-devel, LeGast00n, GB_2, michaelh, bruns<br /></div>