nsf

Clone Tools
  • last updated 12 hours ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
- removed methods object-mixin and object-filter from the interface. (Caused some duplication of logic in the method "object") _ added option noforwarder to RelationSlots - some minor cleanup

- Accomplished major rewrite and cleanup of the comment block parser. The revised design allows us to express parsing states (context, description, part) as well as their substates reflecting the comment line processed (tag, text, space) directly. The design follows a METHODS-FOR-STATES strategy. Also, the parsing logic is now self-contained and is not interwoven with the class hierarchy documentation entities anymore (i.e., the former process() method of Entity and its subclasses). - The modal/reactive design of the comment block parser has been streamlined: There is a CommentBlockParser class which acts as the event source. The actual parsing is achieved by the mixin-refined entity objects by reacting upon the parsing events (process, parse, next). - Adjusted the tests in doc.tcl accordingly. - Changed occurrences of [info callable] to reflect the latest changes.

    • -449
    • +360
    /library/lib/doc-tools.tcl
- made slot optimizer more robust

- checked saftey of Class.method, Class.alias, Class.setter, Class.forward - made Class.filterguard, Class.mixinguard, Class.attribute robust against per-object mixins from meta-classes - fixed mixin/filter delete methods with guarded operations - extended regression test - all methods defined on both, Object and Class are now safe in respect to per-object mixins with meta-classes

- made Class.info, Class.mixin, Class.filter robust against per-object mixins from meta-classes - extended regression test

- changed "info method filter ...." into "info callable filter ..." - fixed "o info callable method" in some cases with mixins - extended regression test - updated migration guide

- renamed "info method name ..." into "info method handle ...", since it returned already the handle - renamed ListMethodName() to ListMethodHandle() - changed output of "info callable -which ..." from definition to method handle - renamed "info callable -which ..." into "info callable method ..." - updated regression test to reflect the changes

- removed method "filtersearch" from nx.tcl - added "obj info method filter methodName" to nx - updated xotcl.2 to use new filtersearch imprementation - updated migration guide

- removed method "autoname" from nx.tcl - added "method require autoname" - added "method require exists"

- nsf: provided scripted support for "require/provide methods" - nx: new method ":require namespace" ":require method" "require object method" - added regression test method-require - removed requireNamespace from nx.tcl (still exists in xotcl) - replaced "requireNamespace" by "require namespace" in nx regression tests - updated migration guide

    • -0
    • +58
    /tests/method-require.tcl
- upgraded to TEA 3.9

    • -139
    • +138
    /library/xotcl/library/store/XOTclGdbm/tcl.m4
    • -139
    • +138
    /library/xotcl/library/store/XOTclSdbm/tcl.m4
- fixed typo

- implemented return value checker (for scripted and c-implemented methods) - additional methodproperty returns (for registering a return value checker) - support for incrementally adding stuff to paramDefs (such as slotobj or return value) - new c-function ParamDefsNew() - added regression test for return value checker

    • -0
    • +118
    /tests/returns.tcl
Merge branch '2.0.0-develop' of ssh://alice.wu-wien.ac.at/usr/local/src/git-repo/xotcl into 2.0.0-develop

- commented out XOTCL_CMD_NOT_FOUND, since it seems to be obsolete by now - extended regression test to avoid CallDirectly on dealloc (the last place, where XOTCL_CMD_NOT_FOUND was used)

- implemented parameter option "allowempty" - extended regression test

- make one more instproc context explicit

- make capitalization in comments consistent

- make resolving context explicit in migration guide

- added object-parameter sections to migration guide

- use testfile name as additional prefix in test reports

- sketch next migratin guide examples

- continue work on migration guide

- replaced several occurrences of "eval" in nx.tcl and xotcl2.tcl

- Implemented "interp alias" support for classes. In some cases. interp-aliased classes worked already without additional code, but e.g. in "... -superclass C ..." it failed. Without this feature, one could not reuse a class with a different namespace, unless it was explicitely "namespace exported" in the source. The problem was the implementation of "::nx::Attribute", which should not be exported in nx (most people do a "namespace import ::nx::*") because there is no need to do so, but ::xotcl::Attribute should reuse it - without subclassing). .... However, we still seem to have a problem, when the interp-aliased Class is exported and imported to a different namespace.

- removed definition of slots from nx, changed regression tests

examples to to ::attribute instead of -slots

- adjusted path in documentation system for nx/nx.tcl

- moved all exports of nsf to predefined.tcl - made imports in xotcl2 and nx explicit

- updated to TEA 3.8

    • -286
    • +73
    /library/xotcl/library/store/XOTclGdbm/tcl.m4
    • -286
    • +73
    /library/xotcl/library/store/XOTclSdbm/tcl.m4
- some updates

- made the "next scripting laguage" a own, loadable tcl package (currently named nx, name is subject of change) - predefined.tcl is now pretty minimal.

    • -1
    • +1
    /library/lib/doc-assets/object.html.tmpl
    • -0
    • +1404
    /library/nx/nx.tcl
  1. … 18 more files in changeset.