You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I've spend some time investigating it. For me it' looks like there are two instances of the ClassDefinition nodes in the type system (stored in the futures hash). One having 'abstract' macro applied to ast node and another does not have proper annotation. This for some reason prevents returning true in MethodLookup.isJvmSubType when checking isAbstract:
if subtype.isBlock
return true if JVMTypeUtils.isInterface(supertype)
return true if JVMTypeUtils.isAbstract(supertype)
end
For now I have a workaround to split my abstract classes into different compilation unit.
But still the question is it possible to mend?
The text was updated successfully, but these errors were encountered:
I've spend some time investigating it. For me it' looks like there are two
instances of the ClassDefinition nodes in the type system (stored in the
futures hash). One having 'abstract' macro applied to ast node and another
does not have proper annotation. This for some reason prevents returning
true in MethodLookup.isJvmSubType when checking isAbstract:
if subtype.isBlock
return true if JVMTypeUtils.isInterface(supertype)
return true if JVMTypeUtils.isAbstract(supertype)
end
For now I have a workaround to split my abstract classes into different
compilation unit.
But still the question is it possible to mend?
—
Reply to this email directly or view it on GitHub #289.
I have the following setup (abstract_class.mirah):
Compiling it via mirahc gives proper abstract ACall class.
When I'm passing block closure when calling method accepting abstract class to implement AClass (call_abstract.mirah):
Compiling it incrementally after ACall already compiled and in the classpath is working OK.
The issue raises when I'm compiling both files alltogether via mirahc - I'm getting
the following error:
I've spend some time investigating it. For me it' looks like there are two instances of the ClassDefinition nodes in the type system (stored in the futures hash). One having 'abstract' macro applied to ast node and another does not have proper annotation. This for some reason prevents returning true in MethodLookup.isJvmSubType when checking isAbstract:
For now I have a workaround to split my abstract classes into different compilation unit.
But still the question is it possible to mend?
The text was updated successfully, but these errors were encountered: