[SOLVED] Hello, I have hit the "...exceeding the 65535 bytes limit". Any help? [message #1792658] |
Fri, 20 July 2018 14:55 |
Pratiksha Dalal Messages: 31 Registered: May 2018 |
Member |
|
|
Hello,
I posted this originally in Sirius forum only to realize that this is actually EMF problem.
My project requires hundreds of variables and when I defined them in the ecore and generated the edit/editor codes, I am getting the error "The code of method <my package>.. is exceeding the 65535 bytes limit" error.
Has anybody come across this? Any possible solutions?
I tried splitting my ecore in to multiple, but looks too complex to define them in one genmodel (base classes in one ecore while derived classes in another etc).
The problem is that the genmodel tries to initialize all the variables defined in main package and sub-package in the same method and that's creating problems. In my opinion, the genmodel should have created separate methods to initialize variables in subpackages.
Pointers to any solution or section of any tutorial that touches these aspects, would greatly appreciated!
-Pratiksha
[Updated on: Mon, 23 July 2018 09:51] Report message to a moderator
|
|
|
|
|
|
|
Re: Hello, I have hit the "...exceeding the 65535 bytes limit". Any help? [message #1833971 is a reply to message #1792730] |
Thu, 29 October 2020 09:29 |
|
I've experienced same issue inside doSwitch(int classifierID, EObject theEObject) - due to long model (Autosar0048.ecore @ Rhapsody).
What if this switch case generates something like:
case Autosar00048Package.AUTOSAR: return case_AUTOSAR(theEObject);
With this approach I was able to solve my problem, however still looks to shift the problem away.
Can the switch/case be transformed into array functional redirection and use classifierID as index? Which shall be the most effective approach there?
Or the problem of such complex and heavy models needs logical decomposition in sub-packages and compositional merge at runtime?
|
|
|
|
|
Powered by
FUDForum. Page generated in 0.03743 seconds