nsf

Clone Tools
  • last updated 6 hours ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
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

- fix parse context initialization

- collecting arguments

Continuing conversation

- fix shotdown comparison

- don't invalidate class-level param caches during shutdown

Merge branch 'master' of ssh://alice.wu-wien.ac.at/usr/local/src/git-repo/nsf

- add assertions for class colorings

Clarify usage of 'current methodpath' in defaultmethod of ensembles

Editing TODO

Add doc fragment on new

Adding missing info submethod docs for Class, document -dependent flag, and method create

- simplify test

- use 3-argument version of NsfMethodNamePath()

Add basic test for unexpected-#-args error in ensembles

Adding to the state of the method-path introspection reform; introducing CallStackGetFrame() which can also be used to implement CallStackGetTopFrame

- fix name paths in error messages triggered from ArgumentParse()

- move NsfMethodNamePath() out of NsfUnexpectedArgumentError() and NsfUnexpectedNonposArgumentError()

- no need to call NsfMethodNamePath in NsfArgumentError()

- move NsfMethodNamePath() out of NsfUnexpectedArgumentError() and NsfUnexpectedNonposArgumentError()

- move NsfMethodNamePath() out of NsfObjWrongArgs()

Saving away the ad hoc changes to fix method-path generation

nsf.c: - added option "-dependent" to "info subclass" - extended regression test

Working on info submethods for Class

- white-space change

nsf.c - base MixinInvalidateObjOrders() on DependentSubClasses() and avoid the need of using a separate hash table for class-mixin handling. The new implementation is several times faster and improves the speed of the functions CleanupDestroyClass(), SuperclassAdd() and NsfRelationClassMixinsSet(). Adding a class-mixin to ::xotcl::Object in OpenACS is more than 4x faster. - remove obsolete function MixinResetOrderForInstances() - rename ResetOrderOfClassesUsedAsMixins() to ResetOrderOfObjectsUsingThisClassAsObjectMixin() - used consistenlty DependentSubClasses() instead of TransitiveSubClasses() for invalidations. - extend regression test

- fix a few more cases, where required accessor method "get" was missing

- omit warnings, when value of "expected" looks like a non-positional parameter

nsf.c: - improve performance of MixinInvalidateObjOrders() by about 30% by recomping the list of the dependent classes over and over again, since MixinInvalidateObjOrders() iterates over the full list already. - Document NsfRelationClassMixinsSet() and add nonnull declarations and the usual assertions()

- added experimental code feature CYCLIC_MIXIN_ERROR