Skip to content

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

Closed
@echebbi

Description

@echebbi

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

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions