Skip to content

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

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
echebbi opened this issue Jul 3, 2020 · 0 comments · Fixed by #173
Closed
Assignees
Labels

Comments

@echebbi
Copy link
Collaborator

echebbi commented Jul 3, 2020

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:

public Optional<EOperation> resolve(String className, String methodName, int nbArgs, RTypeContext returnType) {
EClassifier type = resolve(returnType).getEType();
// FIXME: manage qualified name

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant