Afaik the issue is that for for example foo(bar()) we have two line number entries made by ACG, while one would be enough. It seems some debugger get into problems with that kind of code. So ACG needs to check the line number on a per method base and see if the number has been used the last time already or not. If it has been used, then no new entry is needed, if not, then a new entry has to be done. Also we should let all Expressions in ACG execute onLineNumber... probably without the debug code.