Here is the scenario
I added the method comment ^ comment and I get now a DNU doSemanticAnalysisIn: at: aCompiledMethod ^ self at: aCompiledMethod ifAbsentPut: [ aCompiledMethod parseTree doSemanticAnalysisIn: aCompiledMethod methodClass ] where aCompiledMethod is StoreBlessing>>#comment but the parseTree is nil :( How this behavior can happen? Stef |
Apparently there is something wrong in the ASTCache.
The only solution I found to continue to work was to remove the QAPlugin. Le 4/9/15 10:21, stepharo a écrit : > Here is the scenario > > I added the method > > comment > > ^ comment > > and I get now a DNU > > doSemanticAnalysisIn: > > > at: aCompiledMethod > ^ self > at: aCompiledMethod > ifAbsentPut: [ > aCompiledMethod parseTree doSemanticAnalysisIn: > aCompiledMethod methodClass ] > > > where aCompiledMethod is StoreBlessing>>#comment > > but the parseTree is nil :( > > How this behavior can happen? > > Stef > > |
Hi Stef.
Can you tell me in which class do you add this? Because it does not happen for every class. There was an issue that one on the rules destroying ASTs, but we solved it about a month ago. Uko > On 04 Sep 2015, at 10:45, stepharo <[hidden email]> wrote: > > Apparently there is something wrong in the ASTCache. > The only solution I found to continue to work was to remove the QAPlugin. > > > Le 4/9/15 10:21, stepharo a écrit : >> Here is the scenario >> >> I added the method >> >> comment >> >> ^ comment >> >> and I get now a DNU >> >> doSemanticAnalysisIn: >> >> >> at: aCompiledMethod >> ^ self >> at: aCompiledMethod >> ifAbsentPut: [ >> aCompiledMethod parseTree doSemanticAnalysisIn: aCompiledMethod methodClass ] >> >> >> where aCompiledMethod is StoreBlessing>>#comment >> >> but the parseTree is nil :( >> >> How this behavior can happen? >> >> Stef >> >> > > |
I checked with stef a bit what it could be…
- first theory: copy-paste of some strange character leads to error in the scanner. But we could not reproduce it, so that was not it - second: with quality check running we stress far more the reading of code right after accepting a method. So it could uncover strange bugs in the .changes mechanism (which is very convoluted and old code). I guess it is the second and we should monitor if this happens more often to find way to reproduce it. Marcus > On 04 Sep 2015, at 11:00, Yuriy Tymchuk <[hidden email]> wrote: > > Hi Stef. > > Can you tell me in which class do you add this? Because it does not happen for every class. There was an issue that one on the rules destroying ASTs, but we solved it about a month ago. > > Uko > >> On 04 Sep 2015, at 10:45, stepharo <[hidden email]> wrote: >> >> Apparently there is something wrong in the ASTCache. >> The only solution I found to continue to work was to remove the QAPlugin. >> >> >> Le 4/9/15 10:21, stepharo a écrit : >>> Here is the scenario >>> >>> I added the method >>> >>> comment >>> >>> ^ comment >>> >>> and I get now a DNU >>> >>> doSemanticAnalysisIn: >>> >>> >>> at: aCompiledMethod >>> ^ self >>> at: aCompiledMethod >>> ifAbsentPut: [ >>> aCompiledMethod parseTree doSemanticAnalysisIn: aCompiledMethod methodClass ] >>> >>> >>> where aCompiledMethod is StoreBlessing>>#comment >>> >>> but the parseTree is nil :( >>> >>> How this behavior can happen? >>> >>> Stef >>> >>> >> >> > > |
Free forum by Nabble | Edit this page |