Weekly report for 07 August 2011 on Project "dotNET Interaction Mechanism for Scilab + Environment Abstraction Layer"
String-specific wrap operations are now in ScilabObjectsCPP, which calls environment wrappers. And string wrappers in environment are now defined as an other with a macro: commit
Macro mappings and gateways
Later macros convMatrixMethod, allowClassReloading and autoUnwrap have been made environment independent here. It could be an option to use different setting for different environments, but IMHO it is of little use and can be confusing.
Managed c++ library is now linked on module start here.
C-sources of gateways have been renamed to reflect abstractness: here.
Cached method and field names
Lot of fixes affect handling cached method and field names for type. Now static methods and fields/properties are stored separately and returned if request for static members is done: here.
Load / LoadFrom
Unit tests, help
Also help for dnarray and dncast has been added and some JIMS helps have been updated: here.
When _EObj inserter/extractors are called, we cannot define environment by name, so this is done by id, stored in object: see here.
Unwrappable types collection now contains only basic types - if request for unwrappness is about an array, it's rank is defined and if it is <=2 and element type is unwrappable, the array is also unwrappable and basicTypes->IndexOf(storedObjType) * 3 + arrRank is returned (to fit type identifier convention of JIMS).
Next week I finish module - unit tests, fix help of JIMS and add help for dNIMS. I also do deep testing.