Serializer.xotcl

Clone Tools
  • last updated 14 hours ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
serializer: fix allInstances to handle names with semicolons

  1. … 1 more file in changeset.
- fix serializer in case the object name contains semicolons

- Introduced $xotcl_target_doc_dir for generated xotcl documentation. Generate xotcl documentation in this directory. - moved more (hopefully all) xotcl doc components into library/xotcl/doc

  1. … 95 more files in changeset.
- changed "Serializer.xotcl" to "serializer.tcl" (package name from xotcl::serializer to nx::serializer) - added stub for xotcl::serializer for backward compatibility - changed serializer to new namespaces - renamed xotcl.tcl to xotcl2.tcl - added proc finalize to xotcl2.tcl

  1. … 12 more files in changeset.
- changed "require next" to "... nx" - changed "require next::test" to "... nx::test" - changed "require next::doc" to "... nx::doc"

  1. … 33 more files in changeset.
- get rid of ":::xotcl::use" - renamed tests based on next from .xotcl to .tcl - extended regression tests - use namespace ::nx::test instead of ::xotcl::test - use namespace ::nx::serializer instead of ::xotcl::serializer

  1. … 24 more files in changeset.
- removed "[o exists varname]" from next scripting language

  1. … 6 more files in changeset.
- changed prefix from "::next::" to "::nx"

  1. … 21 more files in changeset.
- namespace changes: mostly due to marketing reasons, the naming of the top-level namespace changed from "xotcl2" to "next". reasons: xotcl is hard to pronounce for beginners, sounds like "exotic" (but who wants to program in an exotic language) has a certain stigma of strange namings (e.g. "instproc"), is seen as a precursor of tcloo, the top-level namespace ::xotcl2:: is not very nice either, the separation of framework and language is not clear.

We have now:

::next (the new object system, former ::xotcl2)

::next::core (framework, primitives)

::xotcl (former xotcl1)

- "::xotcl::use" no longer needed, use Tcl standard mechanisms instead

(e.g. "package req next"; "package req XOTcl", "namespace import ::next*")

  1. … 48 more files in changeset.
- fixing "-parameter" with empty content - more variable naming cleanup - fix line breaking in serializer for "exportedObjects"

  1. … 4 more files in changeset.
- fix syntax in predefined - let serializer call "init" of attributes, even if it is protected

  1. … 2 more files in changeset.
- renaming of instance variable specific primitiva for more constistency with ::xotcl::importvar:

::xotcl::exists -> ::xotcl::existsvar

::xotcl::setinstvar -> ::xotcl::setvar

  1. … 10 more files in changeset.
- removed the following classes and methods ::xotcl::Attribute->check_single_value ::xotcl::Attribute->check_multiple_values ::xotcl::Attribute->mk_type_checker class ::xotcl::Attribute::Nocheck

  1. … 3 more files in changeset.
- experimental change of resolver name prefix char from dot to single colon

  1. … 16 more files in changeset.
- extended migration guide - defined eval in predefined via "-nonleaf", used at various places - added "info mixinof ?-scope all|object|class? ?pattern?", dropped "object-mixin-of" and "class-mixin-on" from registerd method - extended regression test - xotcl1: make "-volatile" invoked via unknown behave correctly

  1. … 5 more files in changeset.
- Serializer: include ObjectSystemSerializer in "Serializer all" - Serializer: use class-mixin in dependency order - Serializer: add appropriate "::xotcl::use xotcl1|xotcl2" - Serializer: fix syntax in exportMethods - Serializer: provide limited support for exporting aliases for xotcl1 objects

- serializer: move checking of the requested objects to be exported to the invocation of "Serializer all" - replace "namespace import ::xotcl::*" by "xotcl::use xotcl1"

  1. … 1 more file in changeset.
- added option "objectsystems" to ::xotcl::configure to obtain the currently defined object systems - added option "baseclass" to ::xotcl::is to check, whether a class is a baseclass of an object system (root class or root meta-class of object system) - changed result of "... info methods -methodtype scripted" to return only truely scripted methods (no aliases) - some more cleanup in regression tests - first version of serializer for xotcl1 + xotcl2

  1. … 9 more files in changeset.
- moved "-per-object" consequently immediately after obj in the following commands : ::xotcl::alias, ::xotcl::methodproperty, ::xotcl::setter to achiev conformance with ::xotcl::forward and ::xotcl::method

  1. … 7 more files in changeset.
- changed assertions: old (xotcl1) interface: 3 methods + 3 info methods * <object> check Options * <object> info check * <object> invar Conditions * <object> info invar * <class> instinvar Conditions * <class> info instinvar

new (xotcl2) interface: 1 cmd (similar to ::xotcl::relation)

::xotcl::assertion check|object-invar|class-invar ?arg?

- added emulation for xotcl1

- deleted namespecific C macros:

isInfoString, isInstinvarString, isInvarString, isInstprocString, isProcString

  1. … 9 more files in changeset.
- handle HAVE_UINTPTR_T like HAVE_INTPTR_T - use ::xotcl::setinstvar instead of ::xotcl::setinstvar in serializer

  1. … 1 more file in changeset.
- changed "info methods" (without defined, as defined in xotcl1) into "info callable" - changed "info methods -defined" into "info methods" - replaced "procsearch <name>" by "info callable -which <name>" - added emulation for procsearch for xotcl1

  1. … 10 more files in changeset.
- xotcl2: implemented "<cl> info -per-object subcmd" (moved "-per-object" in front of info, since it specifies, what kind of info is requested). As a consequence, XOTclObjInfoMethodMethod() works returns always object specific infos and XOTclClassInfoMethodMethod() class specific infos, no "-per-object" switch for the subcmd required. - cleanup in other subcomds than "info method" and "info methods" required

  1. … 8 more files in changeset.
* Some documentation fixes, added stack example to documentation * Bumped version number to 1.6.4

  1. … 14 more files in changeset.
- extended genrclAPI to allow enumeration type for nonpos args - changed api of "info methods": added nonpos arg "methodType" possible values: "all", "scripted", "compiled", "alias", "forwarder", "object", "setter" - added compatible scripted "info methods" interface for xotcl1 - "info methods -methodtype alias" not tested and not working

  1. … 6 more files in changeset.
- added options -defined and -per-object to "info methods" (can be used to query, what methods are defined on the class/object). - removed c-definition of ".info procs" and ".info instprocs" (can be replaced by a ".info methods -defined ?-per-object? -nocmd") - defined an alias method for ::xotcl2::Object - simplified predefined.xotcl further, using more new features

  1. … 5 more files in changeset.
- solved contains aliasing problem by defining a separate "conains" for ::xotcl::Object - make the serializer less object system dependent - make slottest regression test work with xotcl2 objects

  1. … 4 more files in changeset.
- changed version number from 2.0.0a to 2.0.0 to avoid problems with package require - found crashes in deletion order (when tcl implicitly deletes xotcl objects), introduced temporary compile flag OLD_DELETE

  1. … 13 more files in changeset.
- first implementation of canonical arguments

  1. … 3 more files in changeset.
- support for enumeration types in c-code generator - use function pointer for type checker instead of strings - generated interface for ::xotcl::methodproperty

  1. … 5 more files in changeset.