nsf.c

Clone Tools
  • last updated 4 hours ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
- strip trailing spaces

- get rid of potentially uninitialized variables

- make compiplation more clean - add assertion for validity checking of precedence lists

Fixing a mini-typo in nsf.c: unlinkely -> unlikely

- made linearization monotonic (for multiple inheritance) via single-inheritance linearization merging while preserving overall linearization rules - added flag NSF_LINEARIZER_TRACE - extended regression test

  1. … 4 more files in changeset.
- nsf: added switch "-checkalways" to nsf::method::create - nx: added switch "checkalways" to "method" and "object method" - extended regression test

  1. … 7 more files in changeset.
- minor cleanup: * reduce variable scope * remove uncalled static function

-added flag -checkalways to nsf::proc and nsf::asm::proc (for the latter just a placeholder for now). If the flag is used, it will cause argument testing independently from the "configure checkarguments" setting. To force argument checking always is useful e.g. for checking external values (e.g. in a web server)

  1. … 4 more files in changeset.
Realized enter traces for method procs; leave traces remain TBD

  1. … 1 more file in changeset.
Explored assertion support from an NX perspective, by reviewing the current implementation against Eiffel's RAC; along the way, I made ::nsf::current more robust when being used in assertions

  1. … 1 more file in changeset.
- don't call postcondition, when the command/invariant have returned already an error

  1. … 2 more files in changeset.
nsf.c - fixed a bug where turning on assertions could swallow result-codes - extended regression test

  1. … 2 more files in changeset.
- fix potential crash when preconditions are empty

nsf.c: - dont't use the default of a invocation parameter in "configure" when the object is already initialized. The default is in general only used when the parameter is not specified. We do not want e.g. superclass to be reset to ::nx::Object, when configure is called on a class without arguments. - extended regression test

  1. … 2 more files in changeset.
- remove debug statement

Fix the implementation of NsfInterpObjCmd() which crashed previously due to the broken resolution of the child interpreter

  1. … 1 more file in changeset.
- code cleanup

  1. … 3 more files in changeset.
- minor code cleanup

nsf.c: - fix a bug in SlotContainerCmdResolver() when NSF_MEM_COUNT is activated - fix a small memory leak for PER_OBJECT_PARAMETER_CACHING - all cases detectable with --enable-memcount=yes are fixed

  1. … 2 more files in changeset.
- fix label for debugging reference counts

- reduce variable scopes

  1. … 3 more files in changeset.
- Eliminate all use of Tcl_GetStringFromObj() function.

  1. … 1 more file in changeset.
- further release work

  1. … 35 more files in changeset.
nsf.c - removed obsolete function AssertionAppendPrePost() - removed obsolete function NsfNSCopyCmdsCmd() and ::nsf::nscopycmd (handled now more general on scripting level in the "copy" method)

nx.tcl:

- "copy" method: fixed copying of class-level per-object methods

- extended regression tests

  1. … 5 more files in changeset.
nsf.c - fixed a potental crash for objects having a wrapperless alias defined

Merge with remote branch

Make sure that the original error message is preserved when calling destroy after a failed CMD or INITCMD

  1. … 1 more file in changeset.
nsf.c - fixed a bug in "info methods returns" in cases, where no returns info was available. - we can "/obj/ copy" now objects/classes containing * aliases * setter * ensemble methods * method protections Instead of handling cmd copying in NsfNSCopyCmdsCmd, it is replaced now by introspection. - extended regression test

  1. … 5 more files in changeset.
- improved handling of required configure parameters when classes are changed dynamically. When configure parameter are defined required, checking for the absence of required parameter was only performed at creation time. When objects were re-classed or their classes extended with required parameters, later calls to configure did not trigger exceptions. Now we check for the existence of the instance variable which addresses most of these points, but in future we might wish a more general solution (see comment for futures releases)

  1. … 2 more files in changeset.
- when creation with an required configure parameter failed, delete the half-baked object to avoid confusing states.

  1. … 4 more files in changeset.