Difference between revisions of "Void-safe migration guide"

(Prepare migration using EiffelStudio 6.3 or EiffelStudio 6.4 with the compatibility option)
Line 1: Line 1:
 +
{{UnderConstruction}}
 +
 
Migrating your code to be void-safe is quite easy if you follow the recommendations presented in this document.
 
Migrating your code to be void-safe is quite easy if you follow the recommendations presented in this document.
  
Line 4: Line 6:
 
Compile your code using and apply the following refactorings:
 
Compile your code using and apply the following refactorings:
 
* Search for callers of <e>{CELL}.default_create</e> and replace it by calling <e>put</e> instead and providing a sensible default value.
 
* Search for callers of <e>{CELL}.default_create</e> and replace it by calling <e>put</e> instead and providing a sensible default value.
* Search for callers of <e>{READABLE_STRING_8}.make_from_c</e> and <e>{READABLE_STRING_32}.make_from_c</e>. Replace them by <e>make_from_c_pointer</e> when used as creation procedure, otherwise it is ok to leave it as is.
+
* Search for callers of <e>{READABLE_STRING_8}.make_from_c</e> and <e>{READABLE_STRING_32}.make_from_c</e>. If you are using them as part of a creation instruction or a creation expression then nothing to be done. Otherwise we recommend you to replace the call by a call to <e>from_c</e>.
 
* Search for callers of <e>{C_STRING}.share_from_pointer</e> and  <e>{C_STRING}.share_from_pointer_and_count</e> and replace them by <e>make_shared_from_pointer</e> and <e>make_shared_from_pointer_and_count</e> when used as creation procedure, otherwise although it is ok to leave them as is, we recommend using <e>set_shared_from_pointer</e> and <e>set_shared_from_pointer_and_count</e>.
 
* Search for callers of <e>{C_STRING}.share_from_pointer</e> and  <e>{C_STRING}.share_from_pointer_and_count</e> and replace them by <e>make_shared_from_pointer</e> and <e>make_shared_from_pointer_and_count</e> when used as creation procedure, otherwise although it is ok to leave them as is, we recommend using <e>set_shared_from_pointer</e> and <e>set_shared_from_pointer_and_count</e>.
  
 
== Compiling in void-safe mode with 6.4 ==
 
== Compiling in void-safe mode with 6.4 ==

Revision as of 14:47, 6 February 2009

Construction.png Not Ready for Review: This Page is Under Development!

Migrating your code to be void-safe is quite easy if you follow the recommendations presented in this document.

Prepare migration using EiffelStudio 6.3 or EiffelStudio 6.4 with the compatibility option

Compile your code using and apply the following refactorings:

  • Search for callers of {CELL}.default_create and replace it by calling put instead and providing a sensible default value.
  • Search for callers of {READABLE_STRING_8}.make_from_c and {READABLE_STRING_32}.make_from_c. If you are using them as part of a creation instruction or a creation expression then nothing to be done. Otherwise we recommend you to replace the call by a call to from_c.
  • Search for callers of {C_STRING}.share_from_pointer and {C_STRING}.share_from_pointer_and_count and replace them by make_shared_from_pointer and make_shared_from_pointer_and_count when used as creation procedure, otherwise although it is ok to leave them as is, we recommend using set_shared_from_pointer and set_shared_from_pointer_and_count.

Compiling in void-safe mode with 6.4