nsf.c

Clone Tools
  • last updated 4 hours ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
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.
nx.tcl: - renamed variable option "-config" to "-configurable" to make its intention clearer

  1. … 11 more files in changeset.
nx.tcl: - replaced functionality of "/obj/ configure" by "/obj/ info configure" to re-enable semantics of the plain configure method, even when called without arguments. "/obj/ info configure" is actually a convenience method to allow to write o1 info configure instead of o1 info lookup configure syntax

  1. … 7 more files in changeset.
nsf.c - fixed potential inifinite loop in pattern matching for precedence lists - cget: make error message closer to tcl conventions - extended regression test

  1. … 4 more files in changeset.
- renamed initblock parameter from __initcmd to __initblock - renamed nsf::configure parameter from "keepinitcmds" to "keepcmds" - saving "keepcmds" in an associative array named "__cmd(/parameternName)" to allow saving of multiple parmeters with less nameclash danger (when application stays away from variables stating with double underscore)

  1. … 17 more files in changeset.
- changed enumeration values for "-source" in "info lookup methods" "info lookup slots" "info methods" "info slots" of "all|application|baseclasses" to "all|application|system" for consistencey with "nsf::my" and "nsf::dispatch" which uses "-system" as well

  1. … 4 more files in changeset.
Cleanup of nsfAPI.decls - remove unneeded enumeration types - use "typeName" to shorten reported names of parameters - use camel case for reported names

  1. … 4 more files in changeset.
- changed ::nsf::parametersyntax(..) to ::nsf::parameter::syntax(..) - xotcl2: adjusted manual parameter syntax entries to new conventions

  1. … 6 more files in changeset.
- added implementation for slots with traces+types for classes - exception for incorrect defaults are thrown during slot creation - extended nsf::is, added parameter * ?-configure? -- accept configure paramter options * ?-name /name/? -- provide a parameter name for error message - simplified nx.tcl by using new nsf::is - extended regression test

  1. … 6 more files in changeset.