liberty-eiffel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

SmartEiffel error: Too many live types


From: Oleg Terentiev
Subject: SmartEiffel error: Too many live types
Date: Sun, 28 Nov 2021 23:09:20 +0700

Hello.
I'm trying build old project ~2007y, It is not my and uses SmartEiffel. I gues that change Eiffel to Liberty or Gobo is not good idea.
When I try to build project, I have message "Fatal error :Too many live types (the maximum is 32765)."
The message generated by provider_id.e file. Limitation is close to maximum number of  signed 16 value. I changed all "INTEGER_16" to "INTEGER_32" in id_provider.e file for swap it to platform 32 bit.
It need to change files class_test.e. Then position.e ...
I wanted swap INTEGER_16 to INTEGER_32 again, but here using 'mangling' and I am not understand sources enought for correct changes. I'm understand bits magic (jedi in it: embedded programmer, shift, maks, e.t.c.), and not understand Eiffel sources, and how should work class for correct changes.
Can you help me? Please, read files and give me advice how to increase id's numbers.
One more way use 16 bit as unsigned(guess - enought for the case), but I afrad it will more difficult task.
 
id_provider.e lines^
 18, 23, 34, 60, 88, 118, 148, 150, 154, 189
 
class_text.e
 726 for : "next_id"
 33 for native type
 
position.e
 Error message:
 
****** Fatal Error: Cannot pass `ct.id' which is of type INTEGER
into formal type INTEGER_16.
Line 187 column 17 in POSITION (C:\SmartEiffel\tools\position.e):
         set(l, c, ct.id, ct)
                      ^
Line 269 column 34 in POSITION (C:\SmartEiffel\tools\position.e):
   set (li, co: INTEGER; class_id: INTEGER_16; ct: like class_text) is 
 
-- 
b.r., Oleg Terentiev
 
 

Attachment: tools.zip
Description: Zip archive


reply via email to

[Prev in Thread] Current Thread [Next in Thread]