gemoc / ale-lang

Action Language for EMF
Eclipse Public License 1.0
8 stars 6 forks source link

Cannot override static EOperations from a subclass when the fully qualified name is used #169

Closed echebbi closed 4 years ago

echebbi commented 4 years ago

Bug description

Given a metaclass A with a method foo() and a child metaclass B in the EPackage bar, the following code raises the error Can't find matching EOperation in bar.B:

open class bar.B {

    override void foo() {

    }

}

This is very inconvenient because, even though #151 is now fixed, #13 still causes unexpected name clashes.

Expected behavior

The method is properly resolved and no marker is shown.

How to reproduce

Create the metamodel described above and use given semantics.

Additional context

Investigation

Related to #119. It's this FIXME:

https://github.com/gemoc/ale-lang/blob/1ad1bba6eb7d30483e7ff08d183cb04c2bbf099a/plugins/org.eclipse.emf.ecoretools.ale.core/src/org/eclipse/emf/ecoretools/ale/core/parser/internal/AntlrAstToAleBehaviorsFactory.java#L528-L530