Closed ptizoom closed 5 years ago
and I think, that the compiling of asn1_compile() resolves the "Component Relation Constraint: " but those are done late; in this exemple ... recurrence with S1-A, S2-A is found when compiling S6-B, but S1-A has already been written out, could they be in a phase_1+ instead ?
at the end, I managed for now, to propagate EM_UNRECURSE flag from cloned expression onto the seed expression at first compile, then to redo a second asn1_compile() !
this is expressed in this incomplet patch: asn1c_git_commit_RSAFE_clones-c03b65f.diff.zip
this is a first shot, and there are a few loose loop, like it only works with
asn1c_lang_C_type_SIMPLE_TYPE() etc...
,it is not effcient because of the second compile is not selective, but this is a problem that phase_1,2 are not handling or resolving cloned object, phase_2 should do that before the printing?
(there might be also more than one imbrication of classes? but I guess, this is another problem)
I don't know how to address this, and would wait until the upstream fixes this.
Closing for now - please feel free to re-open, if needed (though until upstream does something about it, I doubt I could help).
please refere to https://github.com/vlm/asn1c/issues/332 for some reasons yet to investigate, cloned expressions involving object class do not allow loops to be detected in all circumstances. then header inclusion might not work.