Eric Bezault
Eric Bezault
Before looking at the rename issue, I have a couple of remarks: * See my comment in the other thread about `gec` and CAT-calls. You should be able to adapt...
For class `RESEARCH_ASSISTANT`, assuming that this is this [code](https://github.com/joortcom/eiffel_rename/blob/main/eiffel_bug/research_assistant.e): ``` class RESEARCH_ASSISTANT inherit STUDENT rename addr as student_addr end -- field student_addr inherit the dorm semantics FACULTY rename addr as...
> > with: > > ``` > > ec -c_compile -config src/system.ecf > > ``` > > I tried this, the command runs fine without any error, but the executable...
> I got the renamed fields path. Now, how do I get inherited (instead of self-declared) fields path? i.e. > > ``` > PERSON.addr => STUDENT.addr (since STUDENT does not...
I'm sorry that the solution is not as easy as it could be. This code has been written for the specific needs of `gec`, so it might be missing some...
I just remembered that there is another data at your disposal (which you can use in combination with all the above): * `ET_FEATURE.implementation_class` tells you where the current feature was...
> > * `ET_FEATURE.implementation_class` tells you where the current feature was written, > > what does "where the current feature was written" esp "written" mean? first time introduced? or last...
> If it has a precursor, it means that it is inherited. **The reverse is not true** So we are unfortunately in the case where "the reverse is not true"...
Looking at your code, I still recommend using: ``` if l_first_precursor.name.same_feature_name(query.name) then ``` instead of: ``` if l_lower_name.is_equal(query.lower_name) then ``` It's CAT-call free.
> So how to get a ET_CLASS's direct super-classes / sub-classes? You get the direct super-classes with `ET_CLASS.parent_clauses`. For the direct sub-classes, you will have to build them yourself. You...