nx

Clone Tools
  • last updated 13 hours ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
* added flag ?-type ...? to "info slots"

  1. … 1 more file in changeset.
* nx: added flag ?-type ...? to "info lookup slots" * nsf: made all useful converters external symbols

  1. … 6 more files in changeset.
* some documentation/todo updates

  1. … 3 more files in changeset.
* fixed bad interaction between filter and parameter alias

  1. … 3 more files in changeset.
* Hopefully the last big naming change: Instead of writing "C class-object method foo {} {...}" one can write now "C class method foo {} {...}" to define a class method named "foo" for class "C". This naming change became possible by defining XOTcl's "class" (and "superclass") as object parameter only. To change a class of an object o, one has to use "o configure -class NEWCLASS". The term "object-class" looks alien to language beginners, the term "class" is much more straightforward. Changing classes or superclasses is seldomly used by typicall application programs.

For already existing nx scripts, changing "object-class" into

class should be straightforward.

* various documentation updates (migration guide, nx tutorial)

  1. … 22 more files in changeset.
* added methods ::nsf::methods::object::class and ::nsf::methods::class::superclass in order to make faster and nicer looking objectparameters (compared with forwarders) * nx: changed parameter -class to use ::nsf::methods::object::class * ns: fixed chicken egg problem of method objectparameter needing objectparameter by creating/destroying slot Class::slot::dummy; otherwise default values for slots would not be available * reduced verbosity of parameter forwarder

  1. … 6 more files in changeset.
* provided a fast path implementation for "defaultmethod" * provided default system methods for "init", "defaultmethod" and "unknown" * provided handles for system methods "alloc", "dealloc", "recreate", and "defaultmethod" * strip in dispatch invocations of "unknown" potental leading colons * removed c-level implementation of init again, since scripted one can be used now as well in registration of createobjectsystem * reduced verbosity * added defintions such that these methods can be loaded via ::nsf::method::require ::nx::Object unknown

  1. … 6 more files in changeset.
* added C-implemented method "init" for orthogonality * allow specification of system method handles in nsf::createobjectsystem * automatically register alias, when system-method handle was provided and a same-named method is defined

  1. … 5 more files in changeset.
* removed method residualargs from nx

  1. … 2 more files in changeset.
* reactivated "configure", since we plan to use it more prominently * added a configure flag for "class" * removed method "class" (should be used via "/obj/ configure -class ...")

  1. … 4 more files in changeset.
- remove object.cleanup again

Merge branch '2.0.0-develop' of ssh://alice.wu-wien.ac.at/usr/local/src/git-repo/xotcl into 2.0.0-develop

nx: * removed methods ::nx::Class.recreate and ::nx::Class.recreate from predefined method-set ::nx::Object.configure from predefined method-set

* added defintions such that these methods can be loaded via

::nsf::method::require ::nx::Class recreate

::nsf::method::require ::nx::Object configure

nsf:

* added CallDirectly() wrapper for calls to "init"

  1. … 4 more files in changeset.
- Provided proper template for hook methods; started partial support for validating Tcl packages (remains to be completeted, i.e., missing and mismatch support) - Fixed rendering for glossary back-references in the light of nested render() calls. - Refactored the rendering of overview lists/status into proper template; show per-project stats - Made @stashed filtering working; some fixes

  1. … 8 more files in changeset.
- nx: * removed methods ::nx::Class.alloc and ::nx::Class.dealloc from predefined method-set

* added defintions such that these methods can be loaded via

::nsf::method::require ::nx::Class alloc

::nsf::method::require ::nx::Class dealloc

* make explicit that "method ... require" returns a method-handle

* removed misleading reference in error message, when a class-spefic

method was called on an object; solution is somewhat dangerous for

potentially unknwon client data

* added regression tests

  1. … 9 more files in changeset.
- improved misleading error message for method modifiers "public" and "protected", as well as for "class-object" - extended regression test

  1. … 2 more files in changeset.
- changed names of var handling commands in nsf: ::nsf::existsvar => ::nsf::var::exists ::nsf::importvar => ::nsf::var::import ::nsf::setvar => ::nsf::var::set

  1. … 12 more files in changeset.
- changed named of method handling commands in nsf: ::nsf::provide_method => ::nsf::method::provide ::nsf::require_method => ::nsf::method::require

  1. … 6 more files in changeset.
- changed named of method handling commands in nsf: ::nsf::methodproperty => ::nsf::method::property ::nsf::method => ::nsf::method::create ::nsf::methoddelete => ::nsf::method::delete ::nsf::alias => ::nsf::method::alias ::nsf::forward => ::nsf::method::forward ::nsf::setter => ::nsf::method::setter (updated regression test, docs, ...)

  1. … 24 more files in changeset.
- nx.tcl: provide caching for computed values of object slots to make method objectparameter nearly twice as fast; direct changes on slots require a reconfigure call. - nsf.c: removed SUBST from shadow commands (does not appear to be necessary any more) - nsf.c: fixing a memory leak (some substituted values were not freed correctly) - nsf.c: fix potential crash for epoched cmds - some minor updates for profiling support

  1. … 8 more files in changeset.
- nx.tcl: provide caching for computed values of object slots to make method objectparameter nearly twice as fast; direct changes on slots require a reconfigure call.

  1. … 1 more file in changeset.
- Reactivated and extended the filtering support around the yuidoc theme. One can now filter according to various entity states (deprecated, missing, mismatch, protected, ...) - filter.html.yuidoc: Refactored the checkbox battery into a proper template. - Fixed some typos in templates - library/lib/doc-assets/yuidoc/ac-js: Refined the checkbox/visibility mechanism to honour defaultChecked states of checkboxes. - library/lib/doc-assets/yuidoc/api.css: checkbox/visibility selectors are now based on composite class selectors. - Removed @modifier and related selection statements throughout the code. Background: The call-protection state is inferred during verification, so there is no need to actually declare a method protected. Also, filtering in the templates breaks orthogonality when it comes to rendering doc entities at various spots (leftbar, ...). Method filtering can be applied during the initial processing step or visually in the final output. - Added print names for per-object methods

  1. … 12 more files in changeset.
- @class.html.yuidoc: Printing class-scope validation messages. - @object.html.yuidoc: Printing object-scope validation messages. - @method.html.yuidoc: Flattening list structure of validation messages when printed. - Revised and fixed status propagation - Fixed an issue when verifying forwarders/aliases which do not carry any verifiable parameter specifications. Also, I had forgotten to collect paramtersyntax docstrings for forwarders. Addresses an issue reported by Gustaf Neumann trying to make appear the proper paramsyntax of the Object->class() forwarder. - statusmark resolution is now aware of @use chains

  1. … 4 more files in changeset.
- update slot uml diagram - fixed incorrect (unwanted) call to unknown that caused creation of objects names __unknown when classes could not be resolved

  1. … 4 more files in changeset.
- nx.tcl: added default/initcmd for ObjectParameterSlot - added ::nx::Object as default for "superclass" slot to make default superclass explicit - unified interface for getParameterOptions - extended regression test

  1. … 4 more files in changeset.
- nx.tcl: needsForwarder is true, when method "get" is specified on a slot - nx.tcl: Don't generate per-slot add/assign handlers, when not needed

  1. … 1 more file in changeset.
- removed deactivated slot optimizer

- nx.tcl: * full rewrite of slot machinerie, much simpler structure * relation handling via parameter aliases instread of pseudo converter * mixinclass SlotOptimizer removed * new class BootStrapAttributeSlot

- ConvertToRelation() and handling of parametertype "relation"

- Make CompiledColonVarFetch() more robust in case of

half initialized objects (create vartable on the fly if needed)

- allow empty parameter options in parameter parser

- removed nsf::parametersfromslots (became simple, part of objectparameter now)

- removed hardcoded objectparameter (attributes, volatile and noinit)

- updated regression test

  1. … 8 more files in changeset.
- nx.tcl: * new method requireClass to Combine two classes and return the more specialized one * make slot objects for parameter aliases and parameter forwarder instances of ObjectParameterSlot * get rid of attributes "isforward" and "isalias" and replace it by "dispositon" * complete list of predefined value checkers * we have now three approaches for providing parameter -object-filter and -object-method Approach 1: create RelationSlot with nosetter Approach 2: use parameter forwarder Approach 3: use parameter alias we switched from approach 1 to approach 3

  1. … 3 more files in changeset.
- handle spaces more carefully in [from|to]parameterSpec