nsfAPI.h

Clone Tools
  • last updated 17 hours ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
- allow explicit unsetting of -per-object flag in 0-argument -flag=value notation

  1. … 2 more files in changeset.
make assumptions explicit

  1. … 1 more file in changeset.
nsf.c: - handling of method names in error messages from nsfAPI.h. Make sure that error message is generated with the actual method name.

  1. … 4 more files in changeset.
- added functiality for "cget" to call parameter-methods (e.g. "... cget -class"). The method cget calls either "/slot/ get ..." (when slot=... is provided in the parameter spec) or it assumes that the method without argument returns the value - added "::nsf::object::property /obj/ volatile" to query whether a object is volatile or not - "/obj/ cget -volatile" returns now the volatial state of the object - factored out ParameterMethodDispatch() from OConfigureMethod() - extended regression test

  1. … 9 more files in changeset.
- NsfObjInfoObjectparameterMethod(): return not only the first matching parameter, but the list of all matching ones. The last optional argument was renamed from "name" to "pattern" accordingly

  1. … 6 more files in changeset.
- rename invalidateobjectparameter -> parameter:invalidate::classcache - rename invalidateobjobjectparameter -> parameter:invalidate::objectcache - bring cmds into alphabetical order

  1. … 7 more files in changeset.
Property Reform Part 2: better handling of per-object properties nsf.c: - changed "/class/ __objectconfigure" to "/obj/ __objectconfigure" to be able to handle per-object properties on classes properly. - renamed "info method parametersyntax" -> "info method syntax" - renamed "/obj|cls/ info method parametersyntax" into "/obj|cls/ info method syntax" - replaced "::nsf::methods::class::info::objectparameter" by "::nsf::methods::object::info::objectparameter" - new command "::nsf::parameter::specs ?-configure? ?-noposargs? slotobjs": convert provided slotobjs into a list of parameter specs - new command "::nsf::parameter::get list|name|syntax parameterspec": convert parameter spec into syntax form, or retrieve pieces of information from it (can be extended in the future) - added more or less generic list handling functions TclObjListFreeList(), TclObjListNewElement() and TclObjListAdd() used by "::nsf::parameter::specs" - replaced "::nsf::method::property /obj/ -per-object /name/ slotcontainer ?value?" by "::nsf::object::property /obj/ slotcontainer ?value?" - added "::nsf::object::property /obj/ hasperobjectslots ?value?"

nx.tcl:

- new info methods

* "/obj/ info lookup parameter definitions"

* "/obj/ info lookup parameter names"

* "/obj/ info lookup parameter list"

* "/obj/ info lookup parameter syntax"

- changed "/cls/ info parameter definition ?name?"

into "/cls/ info parameter definitions ?name?"

since ir returns a list. Still, "list" or "syntax" won't

be plural

  1. … 18 more files in changeset.
nsf.c: - made argument of cget required

nx.tcl:

- added Tk-style methods "configure" and "cget"

- added additional regression test set for cget and configure

  1. … 7 more files in changeset.
nsf.c: - implememted cget as a configure-like method, dropped ensemble method variant

nx.tcl:

- simplified "/obj|cls/ delete method" due to resolving capabilities in

nsf::delete::method

  1. … 5 more files in changeset.
changes to allow efficient tk/incr tcl compatible configure/cget - refactored code to allow to parameterize handling of required flag for parameters - don't flag an error when configure is called on an initialized object (logic: if the object is initialized, configure must have been called before, and the required action must have been already taken).

  1. … 4 more files in changeset.
- remove dependency of generated stub file from nsfInt.h

- allow parens in property names (array syntax) - added "/obj/ info name" (as alternative to "namspace tail [self]")

  1. … 3 more files in changeset.
Merge branch 'master' of ssh://alice.wu-wien.ac.at/usr/local/src/git-repo/nsf - use fixed array size for method_definitions for MSC

Conflicts:

generic/nsf.c

  1. … 1 more file in changeset.
- C89/C99 do not allow forward declaration of arrays with "static" storage classifiers (a feature which is a gcc extension only). For MSVC compat, I fixed these occurrences and verified that nsf builds with "gcc -std=c89 -pedantic". - generic/gentclAPI.tcl: Modified the print statements for two array forward declarations (method_definitions, enumeratorConverterEntries)

  1. … 2 more files in changeset.
- fixed potential crash from method caching, when permissions on cmds are changed and become e.g. unresolvable - removed flag allowmethoddispatch, since behavior can be achived via private flag. - extended regression test

  1. … 9 more files in changeset.
- deacitivate for the time being allowmethoddispatch (make it behave always like true) - added instead new flag "perobjectdispatch" to make behavior of ensembleobjects configurable. - The behavior for keepcallerself is currently only activated for the method-interface for object dispatch, since otherwise the following would be dangerous, since "o2 foo" would destroy o2 nx::Object create o1 nsf::object::property o1 keepcallerself true nx::Object create o2 { ::public method foo {} {o1 destroy} } o2 foo

  1. … 10 more files in changeset.
- Added exerpimental object property "allowmethoddispatch" for child-objects to be called from parent objects via method interface. Background: both, per-object methods and childobjects are implemented via cmds in the same tcl namespace. Without special care, both are callable via the standard dispatch. Apparently, this is not always wanted. - handled allowmethoddispatch and keepcallerself in copy/move - set allowmethoddispatch per-default in XOTcl - removed visablilty of objects with "allowmethoddispatch" false in "info methods" and "info search methods" - extended regression test

  1. … 10 more files in changeset.
- simplified usage of ObjectName() and ClassName() macros (no caller parenthesis needed) - added exerpimental object property keepcaller self (currently only evaluated by aliased objects)

  1. … 8 more files in changeset.
- Adding support for "cls|obj info method returns" - generic/nsf.c: ListMethod() now handles a InfomethodsubcmdReturnsIdx subcmd. - generic/nsfAPI.decls|nsfAPI.h|nsfDecls.h: Registerung a new "info method" subcmd: "returns"

  1. … 3 more files in changeset.
- nx based c code generator for experimenting with different code engines

  1. … 7 more files in changeset.
- initial checkin of experimental assemble support

  1. … 4 more files in changeset.
- improve branch prediction

  1. … 5 more files in changeset.
- fix requiredness of subcmd in "info method subcmd"

  1. … 2 more files in changeset.
- generic/nsfAPI.decls, generic/nsfAPI.h: NsfObjInfoFiltermethodsMethod() Fixed a parameter name, from "fileName" to "filter"

  1. … 1 more file in changeset.
- update copyright notices with MIT licens from OSI (http://www.opensource.org/licenses/MIT)

  1. … 26 more files in changeset.
- added "info method handle" as short form of "info method definitionhandle" - added "info method origin" to return the target of an alias (or empty)

- update migration guide and tutorial

  1. … 7 more files in changeset.
- rename "info method handle /methodName/" into "info method registrationhandle /methodName/" - rename "info method origin /methodName/" into "info method definitionhandle /methodName/" - added "info method origin" to return the target of an alias (or empty)

  1. … 19 more files in changeset.
- nsf.c: extended "new": * nonpos-arg "-childof" accepts now a namespace (required an object before). Thefore, one can use now "... new -childof [namespace current]", even when the current namespace is not an object

  1. … 2 more files in changeset.
- nsf.c: * add flags "-closure" and "-source" to "/cls/ info methods" (the cases for "/obj/ info methods" are already covered by "/obj/ info lookup methods") * extend regression test

  1. … 4 more files in changeset.
nsf.c: - new cmd for debugging: nsf::__db_show_obj - added MethodDupInternalRep() and FlagDupInternalRep() since they appear to be required in Tcl 8.6b2.

  1. … 6 more files in changeset.