nsfInt.h

Clone Tools
  • last updated 1 hour ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
- avoid old-style prototypes

  1. … 2 more files in changeset.
nsf.c: - make types for bit operations unsigned (mostly flags)

  1. … 7 more files in changeset.
nsf.c: - implement a new approach to error reporting in ensembles: instead of trying to find the "right" place to report the best "error", compute the longest valid ensemble prefix from all the stack frames.

  1. … 4 more files in changeset.
- improve safety of macro arguments

  1. … 2 more files in changeset.
- revise sanity check for tcl _objs in 8.6 once one: length field might be garbage

- add alternative test for sanity checking of tcl_objs: when bytes not NULL, length must be 0 or higher

nsf.h - In Tcl 8.6.1 it might be that a Tcl_Obj has length > 0 but bytes == NULL. We have to relax out tcl_obj-sanity test for this case to avoid false-positives from assertions()

- remove duplicate entry for returns_nonnull

nsf.c: - allow abbreaviated nonpos args - change name of relationslot "superclass" to "superclasses". (part of a planned change to use plural for setvalued parameters, "info superclasses" and similar changes for mixins/filters will probably follow)

  1. … 7 more files in changeset.
nsf.c: - define means to protect "undefined" internally-directly called methods __alloc and __dealloc in nx. This is achieved mostly via a an additional value in a method declaration in ::nsf::objectsystem::create. Example: -class.dealloc {__dealloc ::nsf::methods::class::dealloc 1} - extend regression test

  1. … 9 more files in changeset.
nsf.c: parameter passing reform - don't pass full argument list for filteing methods calle further methods from C (such as new/create/... ) to allow processing of e.g. "--" in "new" to separate arguments to "new" cleanly from arguments passed to "create". Now we can use e.g. "C new -- -childof 123" in case class C has a property "childof". - extend c-generator to accept option "-objv0" to pass the original "objv[0]" to the called command. Since we had previously "allargs", we have to pass the objv[0] now differently - more thorough checking ISOBJ(someObj) macro for asserts (use "assert(ISOBJ(someObj))" instead of just "assert(someObj)") - extend regression test

  1. … 11 more files in changeset.
- use 3-argument version of NsfMethodNamePath()

  1. … 3 more files in changeset.
- fix name paths in error messages triggered from ArgumentParse()

  1. … 5 more files in changeset.
- use functions IsRootClass(), IsRootMetaClass() and IsBaseClass() to access object/class properties - add gcc attribute "pure"

  1. … 2 more files in changeset.
nsf.c, gentclAPI.tcl: - new argument types "virtualobjectargs" and "virtualclassargs" for context-specific argument resolutions: when a context object is provided, arguments of type "virtualobjectargs" are determined based on the slots applicable for the object (like "... lookup ..."), arguments of type "virtualclassargs" are resolved against a class. These types are used as follows: /obj/ configure /virtualobjectargs/ /cls/ create /name/ /virtualclassargs/ /cls/ recreate /name/ /virtualclassargs/ /cls/ new ?-childof /obj/? /virtualclassargs/ This new feature allows us to provide better error messages and to make much of the "... info ... configure parameter ..." infrastructure much less important. - For "virtualclassargs" we need the functionality to obtain from the C-Code based on a class the configure parameters applicable to objects of this class. - add argument "-context ..." to "cmd::info" to pass the context object (so far the only place where the context-object is used) - object system configuration parameters changes: new: -class.configureparameter new: -object.configureparameter removed: -class.objectparameter

  1. … 16 more files in changeset.
nsf.c - force again literal "-guard" in a "mixinreg" type to avoid potential confusions - Base nsfRelationSet for mixins on cmds rather than TclObjs to avoid confusions and duplication of guard detection logic - Add interp to NsfMixinregGet() and NsfFilterregGet() to be able to return error messages - return more error message from mixinreg converter - provide at least minimal support for "funny class names" (i.e. containing spaces) - FinalObjectDeletion: don't enforce namespace = 1 for cases with wierd namespace deletion order - extended regression test

  1. … 5 more files in changeset.
- name parameter option "slotset" instead of "slotassign"

  1. … 10 more files in changeset.
nsf.c: - rename default slot methods add/get to value=add/value=get - provide an error message, when refering to a non-existing slot object

  1. … 1 more file in changeset.
- allow configuration of internally called "slot.get" and "slot.assign" methods via objectsystem::create

  1. … 1 more file in changeset.
- work on nonnull

  1. … 2 more files in changeset.
- made nsf::is using the "-strict" option when tcl's "string is" is called.

  1. … 2 more files in changeset.
- complete nonnull+assert adding in .c-files other than nsf.c

  1. … 13 more files in changeset.
- add asserts to nsfError.c

  1. … 2 more files in changeset.
- fixed all over-eager nonnull cases for optimizing with gcc and clang (works up to -O3 except gcc 4.9.0)

  1. … 3 more files in changeset.
- update more copyright notices

  1. … 31 more files in changeset.
nsf.c: - simplify few inner code pieces based on assertions - add serveral more assertions based on nonnull sepcifications.

  1. … 4 more files in changeset.
- use nonnull variable attributes for prototpyes (nsf.h, nsfInt.h, nsf.c)

  1. … 3 more files in changeset.
small introspection reform: - Introspection for commands and arguments did not work for cmds defined in subpackages (such as mongodb). We keep now this information in hashtables and maintain a slim interface for this. - fix generation of pkgIndex.tcl for mongodb

  1. … 13 more files in changeset.
- remove redundant NULL tests - improve safety mof macro ObjStr()

  1. … 1 more file in changeset.
Fix patch

  1. … 1 more file in changeset.