Jochen,

On 12. 7. 2016, at 12:43, Jochen Theodorou <[email protected]> wrote:
> On 11.07.2016 23:26, OC wrote:
>> Hi there,
>> 
>> with a pretty complex and heavily AST-transformed code, which, nevertheless, 
>> *without typechecking builds and runs all right*, with a typechecker 
>> compilation crashes in the following way (Groovy 2.4.7).
>> 
>> The problem might well be caused by a mistake in my own typechecking 
>> extension script (which, essentially, turns all typechecker errors to 
>> warnings); still, though, I think the compiler should not crash this way 
>> (instead, it might report a reasonable error):
> 
> the reasonable error would have been crashing with a BUG exception once you 
> did set the genericstypes of that ClassNode to null?

I do not think I did that. Definitely the only genericstypes-related thing in 
my whole project is one line in my typechecking script, which makes sure the 
first of genericstypes is used instead of the classnode itself for lookups, 
namely,

===
def lookupMethods(ClassNode cln,String name,argtypes=[]) {
    if (cln==classNodeFor(Class) && cln.isUsingGenerics() && cln.genericsTypes) 
cln=cln.genericsTypes[0].type // ugh... got the code from Cédric!
    ... ... ...
===

Note that the only things which changes is the local variable cln in there. For 
reference, the complete typechecking script (not too intelligible, I am afraid; 
but short enough, unlike all those ASTTs etc) is attached at the end of this 
message.

Thanks and all the best,
OC

Attachment: TypeChecker.groovy
Description: Binary data

Reply via email to