Index: TODO =================================================================== diff -u -r0f881e4bc45e927c8d84c1b1b468ef7537cb9b03 -r3016e6466668218392140bc884fa8bf489721eda --- TODO (.../TODO) (revision 0f881e4bc45e927c8d84c1b1b468ef7537cb9b03) +++ TODO (.../TODO) (revision 3016e6466668218392140bc884fa8bf489721eda) @@ -5396,27 +5396,27 @@ - don't invalidate class-level param caches during shutdown nsf.c: parameter passing reform -- don't pass full argument list for filteing methods calle further +- don't pass full argument list for filtering 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 +- 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 +- more thorough checking ISOBJ(someObj) macro for asserts (use "assert(ISOBJ(someObj))" instead of just "assert(someObj)") - extend regression test nsf.c: -- checked, that all CallDirectly() cases, where method is dispatched +- checked, that all CallDirectly() cases, where method is dispatched (no direct call) are covered by the regression tests - avoid double memcpy() in dispatch recreate by using ObjectDispatch() rather than CallMethod() -- removed memcopy() in call-directy for "create" +- removed memcpy() in call-directy for "create" - some more cleanup gentclAPI.tcl: -- added option "-flags", which can be used for every parameter. +- added option "-flags", which can be used for every parameter. example: .... -flags NSF_ARG_NOLEADINGDASH .... - experimental: use NSF_ARG_NOLEADINGDASH for pattern "info subclass" to improve error messages. @@ -5436,10 +5436,10 @@ 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 +- allow abbreviated nonpos args +- change name of relation slot "superclass" to "superclasses". + (part of a planned change to use plural for set-valued parameters, + "info superclasses" and similar changes for mixins/filters will probably follow) nx.tcl: pluralism reform part 2 @@ -5455,7 +5455,7 @@ /cls/ configure -filter -> /cls/ configure -filters /obj/ configure -object-mixin -> /obj/ configure -object-mixins /obj/ configure -object-filter -> /obj/ configure -object-filters -- added handling for calling relationslot with unknown sub method +- added handling for calling relation slot with unknown sub method nx.tcl: @@ -5464,10 +5464,10 @@ nx.tcl: pluralism reform part 3 - introduced simple plural form "mixins" and "filters" for introspection -- moved differentiated interface into slot methods. +- moved differentiated interface into slot methods. the slot methods "get" stay symmetrically to "set", - but additional methods "classes" or "methods" are used - like "guard" to obtain partial results of the + but additional methods "classes" or "methods" are used + like "guard" to obtain partial results of the mixin and filter specs - changed info methods /cls/ info mixin classes -> /cls/ info mixins @@ -5479,18 +5479,27 @@ /cls/ info filter guard /obj/ info object mixin guard /obj/ info object filter guard -- added - /cls/ mixin classes - /cls/ filter methods - /obj/ object filter methods - /obj/ object mixin classes +- added + /cls/ mixins classes + /cls/ filters methods + /obj/ object filters methods + /obj/ object mixins classes +- asymmetry between "/obj/ info lookup mixins" vs. "/obj/ info ?object? mixin classes" resolved. +nsf.c: +- dropped unused object::info::is +- renamed + ::nsf::methods::class::info::filtermethods -> ::nsf::methods::class::info::filters + ::nsf::methods::object::info::filtermethods -> ::nsf::methods::object::info::filters + ::nsf::methods::class::info::mixinclasses -> ::nsf::methods::class::info::mixins + ::nsf::methods::object::info::mixinclasses -> ::nsf::methods::object::info::mixins + ======================================================================== TODO: -- EnsembleObject->unknown is still not correct - "C info object mixin classes" complains about "object" - and not about "mixin". +- EnsembleObject->unknown is still not correct + "C info object mixin classes" complains about "object" + and not about "mixin". The message for "C info mixin classes" is fine - finish pluaral reform @@ -5502,17 +5511,9 @@ (similar to "info method syntax /methodName/") - we could drop methods::object::info::objectparameter -- do we need: ::nsf::methods::object::info::is ? objectInfoMethod is NsfObjInfoIsMethod - -- we should rename ::nsf::methods::class::info::filtermethods to ::nsf::methods::class::info::filters -- we should rename ::nsf::methods::class::info::mixinclasses to ::nsf::methods::class::info::mixins -- can we drop ::nsf::methods::class::info::filterguards ? -- can we drop ::nsf::methods::class::info::mixinguards ? - - remove // comments - what should happen with: "/class/ info mixin classes -heritage" -- asymmetry between "/obj/ info lookup mixins" vs. "/obj/ info ?object? mixin classes" - check deactivated tests in tests/serialize.test C(One), C(IgnoreAll), C(None2) Index: generic/nsf.c =================================================================== diff -u -r2a3ac3f00afd5c5cfdfb1a9fff667cdec5b861be -r3016e6466668218392140bc884fa8bf489721eda --- generic/nsf.c (.../nsf.c) (revision 2a3ac3f00afd5c5cfdfb1a9fff667cdec5b861be) +++ generic/nsf.c (.../nsf.c) (revision 3016e6466668218392140bc884fa8bf489721eda) @@ -28756,14 +28756,14 @@ } /* -objectInfoMethod filtermethods NsfObjInfoFiltermethodsMethod { +objectInfoMethod filters NsfObjInfoFiltersMethod { {-argName "-guards" -nrargs 0 -type switch} {-argName "pattern"} } */ static int -NsfObjInfoFiltermethodsMethod(Tcl_Interp *interp, NsfObject *object, int withGuards, - CONST char *pattern) { +NsfObjInfoFiltersMethod(Tcl_Interp *interp, NsfObject *object, int withGuards, + CONST char *pattern) { NsfObjectOpt *opt = object->opt; assert(interp); @@ -28836,35 +28836,6 @@ } /* -objectInfoMethod is NsfObjInfoIsMethod { - {-argName "objectkind" -required 1 -type "class|baseclass|metaclass"} -} -*/ -static int -NsfObjInfoIsMethod(Tcl_Interp *interp, NsfObject *object, int objectkind) { - int success = 0; - - assert(interp); - assert(object); - - switch (objectkind) { - case ObjectkindClassIdx: - success = (NsfObjectIsClass(object) > 0); - break; - - case ObjectkindMetaclassIdx: - success = NsfObjectIsClass(object) && IsMetaClass(interp, (NsfClass *)object, 1); - break; - - case ObjectkindBaseclassIdx: - success = NsfObjectIsClass(object) && IsBaseClass(object); - break; - } - Tcl_SetIntObj(Tcl_GetObjResult(interp), success); - return TCL_OK; -} - -/* objectInfoMethod lookupfilter NsfObjInfoLookupFilterMethod { {-argName "filter" -required 1} } @@ -29190,14 +29161,14 @@ } /* -objectInfoMethod mixinclasses NsfObjInfoMixinclassesMethod { +objectInfoMethod mixins NsfObjInfoMixinsMethod { {-argName "-guards" -nrargs 0 -type switch} {-argName "pattern" -type objpattern} } */ static int -NsfObjInfoMixinclassesMethod(Tcl_Interp *interp, NsfObject *object, int withGuards, - CONST char *patternString, NsfObject *patternObj) { +NsfObjInfoMixinsMethod(Tcl_Interp *interp, NsfObject *object, int withGuards, + CONST char *patternString, NsfObject *patternObj) { assert(interp); assert(object); @@ -29425,14 +29396,14 @@ } /* -classInfoMethod filtermethods NsfClassInfoFiltermethodsMethod { - {-argName "-guards"} +classInfoMethod filters NsfClassInfoFiltersMethod { + {-argName "-guards" -nrargs 0 -type switch} {-argName "pattern"} } */ static int -NsfClassInfoFiltermethodsMethod(Tcl_Interp *interp, NsfClass *class, - int withGuards, CONST char *pattern) { +NsfClassInfoFiltersMethod(Tcl_Interp *interp, NsfClass *class, + int withGuards, CONST char *pattern) { assert(interp); assert(class); @@ -29650,17 +29621,17 @@ } /* -classInfoMethod mixinclasses NsfClassInfoMixinclassesMethod { - {-argName "-closure" -nrargs 0} - {-argName "-guards"} - {-argName "-heritage"} +classInfoMethod mixins NsfClassInfoMixinsMethod { + {-argName "-closure" -nrargs 0 -type switch} + {-argName "-guards" -nrargs 0 -type switch} + {-argName "-heritage" -nrargs 0 -type switch} {-argName "pattern" -type objpattern} } */ static int -NsfClassInfoMixinclassesMethod(Tcl_Interp *interp, NsfClass *class, - int withClosure, int withGuards, int withHeritage, - CONST char *patternString, NsfObject *patternObj) { +NsfClassInfoMixinsMethod(Tcl_Interp *interp, NsfClass *class, + int withClosure, int withGuards, int withHeritage, + CONST char *patternString, NsfObject *patternObj) { NsfClassOpt *opt = class->opt; Tcl_Obj *resultObj; int result = TCL_OK; Index: generic/nsfAPI.decls =================================================================== diff -u -rcd7387dce218900697565aeabc0e58afb0294a6a -r3016e6466668218392140bc884fa8bf489721eda --- generic/nsfAPI.decls (.../nsfAPI.decls) (revision cd7387dce218900697565aeabc0e58afb0294a6a) +++ generic/nsfAPI.decls (.../nsfAPI.decls) (revision 3016e6466668218392140bc884fa8bf489721eda) @@ -405,7 +405,7 @@ objectInfoMethod filterguard NsfObjInfoFilterguardMethod { {-argName "filter" -required 1} } -objectInfoMethod filtermethods NsfObjInfoFiltermethodsMethod { +objectInfoMethod filters NsfObjInfoFiltersMethod { {-argName "-guards" -nrargs 0 -type switch} {-argName "pattern"} } @@ -421,9 +421,6 @@ objectInfoMethod hastype NsfObjInfoHasTypeMethod { {-argName "class" -required 1 -type class} } -objectInfoMethod is NsfObjInfoIsMethod { - {-argName "objectkind" -required 1 -type "class|baseclass|metaclass"} -} objectInfoMethod lookupfilter NsfObjInfoLookupFilterMethod { {-argName "filter" -required 1} } @@ -463,7 +460,7 @@ {-argName "pattern" -required 0} } -objectInfoMethod mixinclasses NsfObjInfoMixinclassesMethod { +objectInfoMethod mixins NsfObjInfoMixinsMethod { {-argName "-guards" -nrargs 0 -type switch} {-argName "pattern" -type objpattern} } @@ -496,7 +493,7 @@ classInfoMethod filterguard NsfClassInfoFilterguardMethod { {-argName "filter" -required 1} } -classInfoMethod filtermethods NsfClassInfoFiltermethodsMethod { +classInfoMethod filters NsfClassInfoFiltersMethod { {-argName "-guards" -nrargs 0 -type switch} {-argName "pattern"} } @@ -524,7 +521,7 @@ {-argName "-source" -nrargs 1 -type "all|application|system" -default all} {-argName "pattern"} } -classInfoMethod mixinclasses NsfClassInfoMixinclassesMethod { +classInfoMethod mixins NsfClassInfoMixinsMethod { {-argName "-closure" -nrargs 0 -type switch} {-argName "-guards" -nrargs 0 -type switch} {-argName "-heritage" -nrargs 0 -type switch} Index: generic/nsfAPI.h =================================================================== diff -u -rcd7387dce218900697565aeabc0e58afb0294a6a -r3016e6466668218392140bc884fa8bf489721eda --- generic/nsfAPI.h (.../nsfAPI.h) (revision cd7387dce218900697565aeabc0e58afb0294a6a) +++ generic/nsfAPI.h (.../nsfAPI.h) (revision 3016e6466668218392140bc884fa8bf489721eda) @@ -246,19 +246,6 @@ return result; } -enum ObjectkindIdx {ObjectkindNULL, ObjectkindClassIdx, ObjectkindBaseclassIdx, ObjectkindMetaclassIdx}; - -static int ConvertToObjectkind(Tcl_Interp *interp, Tcl_Obj *objPtr, Nsf_Param CONST *pPtr, - ClientData *clientData, Tcl_Obj **outObjPtr) { - int index, result; - static CONST char *opts[] = {"class", "baseclass", "metaclass", NULL}; - (void)pPtr; - result = Tcl_GetIndexFromObj(interp, objPtr, opts, "objectkind", 0, &index); - *clientData = (ClientData) INT2PTR(index + 1); - *outObjPtr = objPtr; - return result; -} - enum InfoobjectparametersubcmdIdx {InfoobjectparametersubcmdNULL, InfoobjectparametersubcmdDefinitionsIdx, InfoobjectparametersubcmdListIdx, InfoobjectparametersubcmdNamesIdx, InfoobjectparametersubcmdSyntaxIdx}; static int ConvertToInfoobjectparametersubcmd(Tcl_Interp *interp, Tcl_Obj *objPtr, Nsf_Param CONST *pPtr, @@ -281,7 +268,6 @@ {ConvertToMethodtype, "all|scripted|builtin|alias|forwarder|object|setter|nsfproc"}, {ConvertToFrame, "method|object|default"}, {ConvertToCurrentoption, "proc|method|methodpath|object|class|activelevel|args|activemixin|calledproc|calledmethod|calledclass|callingproc|callingmethod|callingclass|callinglevel|callingobject|filterreg|isnextcall|nextmethod"}, - {ConvertToObjectkind, "class|baseclass|metaclass"}, {ConvertToMethodproperty, "class-only|call-private|call-protected|redefine-protected|returns|slotobj"}, {ConvertToRelationtype, "object-mixin|class-mixin|object-filter|class-filter|class|superclass|rootclass"}, {ConvertToSource, "all|application|system"}, @@ -295,7 +281,7 @@ /* just to define the symbol */ -static Nsf_methodDefinition method_definitions[111]; +static Nsf_methodDefinition method_definitions[110]; static CONST char *method_command_namespace_names[] = { "::nsf::methods::object::info", @@ -323,7 +309,7 @@ NSF_nonnull(1) NSF_nonnull(2) NSF_nonnull(4); static int NsfClassInfoFilterguardMethodStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv []) NSF_nonnull(1) NSF_nonnull(2) NSF_nonnull(4); -static int NsfClassInfoFiltermethodsMethodStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv []) +static int NsfClassInfoFiltersMethodStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv []) NSF_nonnull(1) NSF_nonnull(2) NSF_nonnull(4); static int NsfClassInfoForwardMethodStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv []) NSF_nonnull(1) NSF_nonnull(2) NSF_nonnull(4); @@ -337,10 +323,10 @@ NSF_nonnull(1) NSF_nonnull(2) NSF_nonnull(4); static int NsfClassInfoMixinOfMethodStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv []) NSF_nonnull(1) NSF_nonnull(2) NSF_nonnull(4); -static int NsfClassInfoMixinclassesMethodStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv []) - NSF_nonnull(1) NSF_nonnull(2) NSF_nonnull(4); static int NsfClassInfoMixinguardMethodStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv []) NSF_nonnull(1) NSF_nonnull(2) NSF_nonnull(4); +static int NsfClassInfoMixinsMethodStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv []) + NSF_nonnull(1) NSF_nonnull(2) NSF_nonnull(4); static int NsfClassInfoSlotobjectsMethodStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv []) NSF_nonnull(1) NSF_nonnull(2) NSF_nonnull(4); static int NsfClassInfoSubclassMethodStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv []) @@ -479,7 +465,7 @@ NSF_nonnull(1) NSF_nonnull(2) NSF_nonnull(4); static int NsfObjInfoFilterguardMethodStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv []) NSF_nonnull(1) NSF_nonnull(2) NSF_nonnull(4); -static int NsfObjInfoFiltermethodsMethodStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv []) +static int NsfObjInfoFiltersMethodStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv []) NSF_nonnull(1) NSF_nonnull(2) NSF_nonnull(4); static int NsfObjInfoForwardMethodStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv []) NSF_nonnull(1) NSF_nonnull(2) NSF_nonnull(4); @@ -489,8 +475,6 @@ NSF_nonnull(1) NSF_nonnull(2) NSF_nonnull(4); static int NsfObjInfoHasnamespaceMethodStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv []) NSF_nonnull(1) NSF_nonnull(2) NSF_nonnull(4); -static int NsfObjInfoIsMethodStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv []) - NSF_nonnull(1) NSF_nonnull(2) NSF_nonnull(4); static int NsfObjInfoLookupFilterMethodStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv []) NSF_nonnull(1) NSF_nonnull(2) NSF_nonnull(4); static int NsfObjInfoLookupFiltersMethodStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv []) @@ -507,10 +491,10 @@ NSF_nonnull(1) NSF_nonnull(2) NSF_nonnull(4); static int NsfObjInfoMethodsMethodStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv []) NSF_nonnull(1) NSF_nonnull(2) NSF_nonnull(4); -static int NsfObjInfoMixinclassesMethodStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv []) - NSF_nonnull(1) NSF_nonnull(2) NSF_nonnull(4); static int NsfObjInfoMixinguardMethodStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv []) NSF_nonnull(1) NSF_nonnull(2) NSF_nonnull(4); +static int NsfObjInfoMixinsMethodStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv []) + NSF_nonnull(1) NSF_nonnull(2) NSF_nonnull(4); static int NsfObjInfoNameMethodStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv []) NSF_nonnull(1) NSF_nonnull(2) NSF_nonnull(4); static int NsfObjInfoObjectparameterMethodStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv []) @@ -544,7 +528,7 @@ NSF_nonnull(1) NSF_nonnull(2); static int NsfClassInfoFilterguardMethod(Tcl_Interp *interp, NsfClass *cl, CONST char *filter) NSF_nonnull(1) NSF_nonnull(2) NSF_nonnull(3); -static int NsfClassInfoFiltermethodsMethod(Tcl_Interp *interp, NsfClass *cl, int withGuards, CONST char *pattern) +static int NsfClassInfoFiltersMethod(Tcl_Interp *interp, NsfClass *cl, int withGuards, CONST char *pattern) NSF_nonnull(1) NSF_nonnull(2); static int NsfClassInfoForwardMethod(Tcl_Interp *interp, NsfClass *cl, int withDefinition, CONST char *name) NSF_nonnull(1) NSF_nonnull(2); @@ -558,10 +542,10 @@ NSF_nonnull(1) NSF_nonnull(2); static int NsfClassInfoMixinOfMethod(Tcl_Interp *interp, NsfClass *cl, int withClosure, int withScope, CONST char *patternString, NsfObject *patternObject) NSF_nonnull(1) NSF_nonnull(2); -static int NsfClassInfoMixinclassesMethod(Tcl_Interp *interp, NsfClass *cl, int withClosure, int withGuards, int withHeritage, CONST char *patternString, NsfObject *patternObject) - NSF_nonnull(1) NSF_nonnull(2); static int NsfClassInfoMixinguardMethod(Tcl_Interp *interp, NsfClass *cl, CONST char *mixin) NSF_nonnull(1) NSF_nonnull(2) NSF_nonnull(3); +static int NsfClassInfoMixinsMethod(Tcl_Interp *interp, NsfClass *cl, int withClosure, int withGuards, int withHeritage, CONST char *patternString, NsfObject *patternObject) + NSF_nonnull(1) NSF_nonnull(2); static int NsfClassInfoSlotobjectsMethod(Tcl_Interp *interp, NsfClass *cl, int withClosure, int withSource, NsfClass *withType, CONST char *pattern) NSF_nonnull(1) NSF_nonnull(2); static int NsfClassInfoSubclassMethod(Tcl_Interp *interp, NsfClass *cl, int withClosure, int withDependent, CONST char *patternString, NsfObject *patternObject) @@ -700,7 +684,7 @@ NSF_nonnull(1) NSF_nonnull(2); static int NsfObjInfoFilterguardMethod(Tcl_Interp *interp, NsfObject *obj, CONST char *filter) NSF_nonnull(1) NSF_nonnull(2) NSF_nonnull(3); -static int NsfObjInfoFiltermethodsMethod(Tcl_Interp *interp, NsfObject *obj, int withGuards, CONST char *pattern) +static int NsfObjInfoFiltersMethod(Tcl_Interp *interp, NsfObject *obj, int withGuards, CONST char *pattern) NSF_nonnull(1) NSF_nonnull(2); static int NsfObjInfoForwardMethod(Tcl_Interp *interp, NsfObject *obj, int withDefinition, CONST char *name) NSF_nonnull(1) NSF_nonnull(2); @@ -710,8 +694,6 @@ NSF_nonnull(1) NSF_nonnull(2) NSF_nonnull(3); static int NsfObjInfoHasnamespaceMethod(Tcl_Interp *interp, NsfObject *obj) NSF_nonnull(1) NSF_nonnull(2); -static int NsfObjInfoIsMethod(Tcl_Interp *interp, NsfObject *obj, int objectkind) - NSF_nonnull(1) NSF_nonnull(2); static int NsfObjInfoLookupFilterMethod(Tcl_Interp *interp, NsfObject *obj, CONST char *filter) NSF_nonnull(1) NSF_nonnull(2) NSF_nonnull(3); static int NsfObjInfoLookupFiltersMethod(Tcl_Interp *interp, NsfObject *obj, int withGuards, CONST char *pattern) @@ -728,10 +710,10 @@ NSF_nonnull(1) NSF_nonnull(2) NSF_nonnull(4); static int NsfObjInfoMethodsMethod(Tcl_Interp *interp, NsfObject *obj, int withCallprotection, int withType, int withPath, CONST char *pattern) NSF_nonnull(1) NSF_nonnull(2); -static int NsfObjInfoMixinclassesMethod(Tcl_Interp *interp, NsfObject *obj, int withGuards, CONST char *patternString, NsfObject *patternObject) - NSF_nonnull(1) NSF_nonnull(2); static int NsfObjInfoMixinguardMethod(Tcl_Interp *interp, NsfObject *obj, CONST char *mixin) NSF_nonnull(1) NSF_nonnull(2) NSF_nonnull(3); +static int NsfObjInfoMixinsMethod(Tcl_Interp *interp, NsfObject *obj, int withGuards, CONST char *patternString, NsfObject *patternObject) + NSF_nonnull(1) NSF_nonnull(2); static int NsfObjInfoNameMethod(Tcl_Interp *interp, NsfObject *obj) NSF_nonnull(1) NSF_nonnull(2); static int NsfObjInfoObjectparameterMethod(Tcl_Interp *interp, NsfObject *obj, int subcmd, CONST char *pattern) @@ -756,15 +738,15 @@ NsfCRecreateMethodIdx, NsfCSuperclassMethodIdx, NsfClassInfoFilterguardMethodIdx, - NsfClassInfoFiltermethodsMethodIdx, + NsfClassInfoFiltersMethodIdx, NsfClassInfoForwardMethodIdx, NsfClassInfoHeritageMethodIdx, NsfClassInfoInstancesMethodIdx, NsfClassInfoMethodMethodIdx, NsfClassInfoMethodsMethodIdx, NsfClassInfoMixinOfMethodIdx, - NsfClassInfoMixinclassesMethodIdx, NsfClassInfoMixinguardMethodIdx, + NsfClassInfoMixinsMethodIdx, NsfClassInfoSlotobjectsMethodIdx, NsfClassInfoSubclassMethodIdx, NsfClassInfoSuperclassMethodIdx, @@ -834,12 +816,11 @@ NsfObjInfoChildrenMethodIdx, NsfObjInfoClassMethodIdx, NsfObjInfoFilterguardMethodIdx, - NsfObjInfoFiltermethodsMethodIdx, + NsfObjInfoFiltersMethodIdx, NsfObjInfoForwardMethodIdx, NsfObjInfoHasMixinMethodIdx, NsfObjInfoHasTypeMethodIdx, NsfObjInfoHasnamespaceMethodIdx, - NsfObjInfoIsMethodIdx, NsfObjInfoLookupFilterMethodIdx, NsfObjInfoLookupFiltersMethodIdx, NsfObjInfoLookupMethodMethodIdx, @@ -848,8 +829,8 @@ NsfObjInfoLookupSlotsMethodIdx, NsfObjInfoMethodMethodIdx, NsfObjInfoMethodsMethodIdx, - NsfObjInfoMixinclassesMethodIdx, NsfObjInfoMixinguardMethodIdx, + NsfObjInfoMixinsMethodIdx, NsfObjInfoNameMethodIdx, NsfObjInfoObjectparameterMethodIdx, NsfObjInfoParentMethodIdx, @@ -1070,22 +1051,22 @@ } static int -NsfClassInfoFiltermethodsMethodStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) { +NsfClassInfoFiltersMethodStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) { ParseContext pc; NsfClass *cl = NsfObjectToClass(clientData); assert(clientData); assert(objc > 0); if (unlikely(cl == NULL)) return NsfDispatchClientDataError(interp, clientData, "class", ObjStr(objv[0])); if (likely(ArgumentParse(interp, objc, objv, (NsfObject *) cl, objv[0], - method_definitions[NsfClassInfoFiltermethodsMethodIdx].paramDefs, - method_definitions[NsfClassInfoFiltermethodsMethodIdx].nrParameters, 0, NSF_ARGPARSE_BUILTIN, + method_definitions[NsfClassInfoFiltersMethodIdx].paramDefs, + method_definitions[NsfClassInfoFiltersMethodIdx].nrParameters, 0, NSF_ARGPARSE_BUILTIN, &pc) == TCL_OK)) { int withGuards = (int )PTR2INT(pc.clientData[0]); CONST char *pattern = (CONST char *)pc.clientData[1]; assert(pc.status == 0); - return NsfClassInfoFiltermethodsMethod(interp, cl, withGuards, pattern); + return NsfClassInfoFiltersMethod(interp, cl, withGuards, pattern); } else { return TCL_ERROR; @@ -1263,17 +1244,39 @@ } static int -NsfClassInfoMixinclassesMethodStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) { +NsfClassInfoMixinguardMethodStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) { ParseContext pc; NsfClass *cl = NsfObjectToClass(clientData); assert(clientData); assert(objc > 0); if (unlikely(cl == NULL)) return NsfDispatchClientDataError(interp, clientData, "class", ObjStr(objv[0])); if (likely(ArgumentParse(interp, objc, objv, (NsfObject *) cl, objv[0], - method_definitions[NsfClassInfoMixinclassesMethodIdx].paramDefs, - method_definitions[NsfClassInfoMixinclassesMethodIdx].nrParameters, 0, NSF_ARGPARSE_BUILTIN, + method_definitions[NsfClassInfoMixinguardMethodIdx].paramDefs, + method_definitions[NsfClassInfoMixinguardMethodIdx].nrParameters, 0, NSF_ARGPARSE_BUILTIN, &pc) == TCL_OK)) { + CONST char *mixin = (CONST char *)pc.clientData[0]; + + assert(pc.status == 0); + return NsfClassInfoMixinguardMethod(interp, cl, mixin); + + } else { + return TCL_ERROR; + } +} + +static int +NsfClassInfoMixinsMethodStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) { + ParseContext pc; + NsfClass *cl = NsfObjectToClass(clientData); + + assert(clientData); + assert(objc > 0); + if (unlikely(cl == NULL)) return NsfDispatchClientDataError(interp, clientData, "class", ObjStr(objv[0])); + if (likely(ArgumentParse(interp, objc, objv, (NsfObject *) cl, objv[0], + method_definitions[NsfClassInfoMixinsMethodIdx].paramDefs, + method_definitions[NsfClassInfoMixinsMethodIdx].nrParameters, 0, NSF_ARGPARSE_BUILTIN, + &pc) == TCL_OK)) { int withClosure = (int )PTR2INT(pc.clientData[0]); int withGuards = (int )PTR2INT(pc.clientData[1]); int withHeritage = (int )PTR2INT(pc.clientData[2]); @@ -1290,7 +1293,7 @@ } assert(pc.status == 0); - returnCode = NsfClassInfoMixinclassesMethod(interp, cl, withClosure, withGuards, withHeritage, patternString, patternObject); + returnCode = NsfClassInfoMixinsMethod(interp, cl, withClosure, withGuards, withHeritage, patternString, patternObject); if (pattern) { DECR_REF_COUNT2("patternObj", pattern); @@ -1302,28 +1305,6 @@ } static int -NsfClassInfoMixinguardMethodStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) { - ParseContext pc; - NsfClass *cl = NsfObjectToClass(clientData); - - assert(clientData); - assert(objc > 0); - if (unlikely(cl == NULL)) return NsfDispatchClientDataError(interp, clientData, "class", ObjStr(objv[0])); - if (likely(ArgumentParse(interp, objc, objv, (NsfObject *) cl, objv[0], - method_definitions[NsfClassInfoMixinguardMethodIdx].paramDefs, - method_definitions[NsfClassInfoMixinguardMethodIdx].nrParameters, 0, NSF_ARGPARSE_BUILTIN, - &pc) == TCL_OK)) { - CONST char *mixin = (CONST char *)pc.clientData[0]; - - assert(pc.status == 0); - return NsfClassInfoMixinguardMethod(interp, cl, mixin); - - } else { - return TCL_ERROR; - } -} - -static int NsfClassInfoSlotobjectsMethodStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) { ParseContext pc; NsfClass *cl = NsfObjectToClass(clientData); @@ -2708,22 +2689,22 @@ } static int -NsfObjInfoFiltermethodsMethodStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) { +NsfObjInfoFiltersMethodStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) { ParseContext pc; NsfObject *obj = (NsfObject *)clientData; assert(clientData); assert(objc > 0); if (unlikely(obj == NULL)) return NsfDispatchClientDataError(interp, clientData, "object", ObjStr(objv[0])); if (likely(ArgumentParse(interp, objc, objv, obj, objv[0], - method_definitions[NsfObjInfoFiltermethodsMethodIdx].paramDefs, - method_definitions[NsfObjInfoFiltermethodsMethodIdx].nrParameters, 0, NSF_ARGPARSE_BUILTIN, + method_definitions[NsfObjInfoFiltersMethodIdx].paramDefs, + method_definitions[NsfObjInfoFiltersMethodIdx].nrParameters, 0, NSF_ARGPARSE_BUILTIN, &pc) == TCL_OK)) { int withGuards = (int )PTR2INT(pc.clientData[0]); CONST char *pattern = (CONST char *)pc.clientData[1]; assert(pc.status == 0); - return NsfObjInfoFiltermethodsMethod(interp, obj, withGuards, pattern); + return NsfObjInfoFiltersMethod(interp, obj, withGuards, pattern); } else { return TCL_ERROR; @@ -2817,28 +2798,6 @@ } static int -NsfObjInfoIsMethodStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) { - ParseContext pc; - NsfObject *obj = (NsfObject *)clientData; - - assert(clientData); - assert(objc > 0); - if (unlikely(obj == NULL)) return NsfDispatchClientDataError(interp, clientData, "object", ObjStr(objv[0])); - if (likely(ArgumentParse(interp, objc, objv, obj, objv[0], - method_definitions[NsfObjInfoIsMethodIdx].paramDefs, - method_definitions[NsfObjInfoIsMethodIdx].nrParameters, 0, NSF_ARGPARSE_BUILTIN, - &pc) == TCL_OK)) { - int objectkind = (int )PTR2INT(pc.clientData[0]); - - assert(pc.status == 0); - return NsfObjInfoIsMethod(interp, obj, objectkind); - - } else { - return TCL_ERROR; - } -} - -static int NsfObjInfoLookupFilterMethodStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) { ParseContext pc; NsfObject *obj = (NsfObject *)clientData; @@ -3040,59 +2999,59 @@ } static int -NsfObjInfoMixinclassesMethodStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) { +NsfObjInfoMixinguardMethodStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) { ParseContext pc; NsfObject *obj = (NsfObject *)clientData; assert(clientData); assert(objc > 0); if (unlikely(obj == NULL)) return NsfDispatchClientDataError(interp, clientData, "object", ObjStr(objv[0])); if (likely(ArgumentParse(interp, objc, objv, obj, objv[0], - method_definitions[NsfObjInfoMixinclassesMethodIdx].paramDefs, - method_definitions[NsfObjInfoMixinclassesMethodIdx].nrParameters, 0, NSF_ARGPARSE_BUILTIN, + method_definitions[NsfObjInfoMixinguardMethodIdx].paramDefs, + method_definitions[NsfObjInfoMixinguardMethodIdx].nrParameters, 0, NSF_ARGPARSE_BUILTIN, &pc) == TCL_OK)) { - int withGuards = (int )PTR2INT(pc.clientData[0]); - CONST char *patternString = NULL; - NsfObject *patternObject = NULL; - Tcl_Obj *pattern = (Tcl_Obj *)pc.clientData[1]; - int returnCode; + CONST char *mixin = (CONST char *)pc.clientData[0]; - if (GetMatchObject(interp, pattern, objc>1 ? objv[1] : NULL, &patternObject, &patternString) == -1) { - if (pattern) { - DECR_REF_COUNT2("patternObj", pattern); - } - return TCL_OK; - } - assert(pc.status == 0); - returnCode = NsfObjInfoMixinclassesMethod(interp, obj, withGuards, patternString, patternObject); + return NsfObjInfoMixinguardMethod(interp, obj, mixin); - if (pattern) { - DECR_REF_COUNT2("patternObj", pattern); - } - return returnCode; } else { return TCL_ERROR; } } static int -NsfObjInfoMixinguardMethodStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) { +NsfObjInfoMixinsMethodStub(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) { ParseContext pc; NsfObject *obj = (NsfObject *)clientData; assert(clientData); assert(objc > 0); if (unlikely(obj == NULL)) return NsfDispatchClientDataError(interp, clientData, "object", ObjStr(objv[0])); if (likely(ArgumentParse(interp, objc, objv, obj, objv[0], - method_definitions[NsfObjInfoMixinguardMethodIdx].paramDefs, - method_definitions[NsfObjInfoMixinguardMethodIdx].nrParameters, 0, NSF_ARGPARSE_BUILTIN, + method_definitions[NsfObjInfoMixinsMethodIdx].paramDefs, + method_definitions[NsfObjInfoMixinsMethodIdx].nrParameters, 0, NSF_ARGPARSE_BUILTIN, &pc) == TCL_OK)) { - CONST char *mixin = (CONST char *)pc.clientData[0]; + int withGuards = (int )PTR2INT(pc.clientData[0]); + CONST char *patternString = NULL; + NsfObject *patternObject = NULL; + Tcl_Obj *pattern = (Tcl_Obj *)pc.clientData[1]; + int returnCode; + if (GetMatchObject(interp, pattern, objc>1 ? objv[1] : NULL, &patternObject, &patternString) == -1) { + if (pattern) { + DECR_REF_COUNT2("patternObj", pattern); + } + return TCL_OK; + } + assert(pc.status == 0); - return NsfObjInfoMixinguardMethod(interp, obj, mixin); + returnCode = NsfObjInfoMixinsMethod(interp, obj, withGuards, patternString, patternObject); + if (pattern) { + DECR_REF_COUNT2("patternObj", pattern); + } + return returnCode; } else { return TCL_ERROR; } @@ -3227,7 +3186,7 @@ } } -static Nsf_methodDefinition method_definitions[111] = { +static Nsf_methodDefinition method_definitions[110] = { {"::nsf::methods::class::alloc", NsfCAllocMethodStub, 1, { {"objectName", NSF_ARG_REQUIRED, 1, Nsf_ConvertTo_Tclobj, NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL}} }, @@ -3263,7 +3222,7 @@ {"::nsf::methods::class::info::filterguard", NsfClassInfoFilterguardMethodStub, 1, { {"filter", NSF_ARG_REQUIRED, 1, Nsf_ConvertTo_String, NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL}} }, -{"::nsf::methods::class::info::filtermethods", NsfClassInfoFiltermethodsMethodStub, 2, { +{"::nsf::methods::class::info::filters", NsfClassInfoFiltersMethodStub, 2, { {"-guards", 0, 0, Nsf_ConvertTo_Boolean, NULL,NULL,"switch",NULL,NULL,NULL,NULL,NULL}, {"pattern", 0, 1, Nsf_ConvertTo_String, NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL}} }, @@ -3295,15 +3254,15 @@ {"-scope", NSF_ARG_IS_ENUMERATION, 1, ConvertToScope, NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL}, {"pattern", 0, 1, ConvertToObjpattern, NULL,NULL,"objpattern",NULL,NULL,NULL,NULL,NULL}} }, -{"::nsf::methods::class::info::mixinclasses", NsfClassInfoMixinclassesMethodStub, 4, { +{"::nsf::methods::class::info::mixinguard", NsfClassInfoMixinguardMethodStub, 1, { + {"mixin", NSF_ARG_REQUIRED, 1, Nsf_ConvertTo_String, NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL}} +}, +{"::nsf::methods::class::info::mixins", NsfClassInfoMixinsMethodStub, 4, { {"-closure", 0, 0, Nsf_ConvertTo_Boolean, NULL,NULL,"switch",NULL,NULL,NULL,NULL,NULL}, {"-guards", 0, 0, Nsf_ConvertTo_Boolean, NULL,NULL,"switch",NULL,NULL,NULL,NULL,NULL}, {"-heritage", 0, 0, Nsf_ConvertTo_Boolean, NULL,NULL,"switch",NULL,NULL,NULL,NULL,NULL}, {"pattern", 0, 1, ConvertToObjpattern, NULL,NULL,"objpattern",NULL,NULL,NULL,NULL,NULL}} }, -{"::nsf::methods::class::info::mixinguard", NsfClassInfoMixinguardMethodStub, 1, { - {"mixin", NSF_ARG_REQUIRED, 1, Nsf_ConvertTo_String, NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL}} -}, {"::nsf::methods::class::info::slotobjects", NsfClassInfoSlotobjectsMethodStub, 4, { {"-closure", 0, 0, Nsf_ConvertTo_Boolean, NULL,NULL,"switch",NULL,NULL,NULL,NULL,NULL}, {"-source", NSF_ARG_IS_ENUMERATION, 1, ConvertToSource, NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL}, @@ -3615,7 +3574,7 @@ {"::nsf::methods::object::info::filterguard", NsfObjInfoFilterguardMethodStub, 1, { {"filter", NSF_ARG_REQUIRED, 1, Nsf_ConvertTo_String, NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL}} }, -{"::nsf::methods::object::info::filtermethods", NsfObjInfoFiltermethodsMethodStub, 2, { +{"::nsf::methods::object::info::filters", NsfObjInfoFiltersMethodStub, 2, { {"-guards", 0, 0, Nsf_ConvertTo_Boolean, NULL,NULL,"switch",NULL,NULL,NULL,NULL,NULL}, {"pattern", 0, 1, Nsf_ConvertTo_String, NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL}} }, @@ -3632,9 +3591,6 @@ {"::nsf::methods::object::info::hasnamespace", NsfObjInfoHasnamespaceMethodStub, 0, { {NULL, 0, 0, NULL, NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL}} }, -{"::nsf::methods::object::info::is", NsfObjInfoIsMethodStub, 1, { - {"objectkind", NSF_ARG_REQUIRED|NSF_ARG_IS_ENUMERATION, 1, ConvertToObjectkind, NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL}} -}, {"::nsf::methods::object::info::lookupfilter", NsfObjInfoLookupFilterMethodStub, 1, { {"filter", NSF_ARG_REQUIRED, 1, Nsf_ConvertTo_String, NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL}} }, @@ -3673,13 +3629,13 @@ {"-path", 0, 0, Nsf_ConvertTo_Boolean, NULL,NULL,"switch",NULL,NULL,NULL,NULL,NULL}, {"pattern", 0, 1, Nsf_ConvertTo_String, NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL}} }, -{"::nsf::methods::object::info::mixinclasses", NsfObjInfoMixinclassesMethodStub, 2, { - {"-guards", 0, 0, Nsf_ConvertTo_Boolean, NULL,NULL,"switch",NULL,NULL,NULL,NULL,NULL}, - {"pattern", 0, 1, ConvertToObjpattern, NULL,NULL,"objpattern",NULL,NULL,NULL,NULL,NULL}} -}, {"::nsf::methods::object::info::mixinguard", NsfObjInfoMixinguardMethodStub, 1, { {"mixin", NSF_ARG_REQUIRED, 1, Nsf_ConvertTo_String, NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL}} }, +{"::nsf::methods::object::info::mixins", NsfObjInfoMixinsMethodStub, 2, { + {"-guards", 0, 0, Nsf_ConvertTo_Boolean, NULL,NULL,"switch",NULL,NULL,NULL,NULL,NULL}, + {"pattern", 0, 1, ConvertToObjpattern, NULL,NULL,"objpattern",NULL,NULL,NULL,NULL,NULL}} +}, {"::nsf::methods::object::info::name", NsfObjInfoNameMethodStub, 0, { {NULL, 0, 0, NULL, NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL}} }, Index: generic/nsfAPI.nxdocindex =================================================================== diff -u -rd86805a2250aaa861470d4f4a13945d603585aca -r3016e6466668218392140bc884fa8bf489721eda --- generic/nsfAPI.nxdocindex (.../nsfAPI.nxdocindex) (revision d86805a2250aaa861470d4f4a13945d603585aca) +++ generic/nsfAPI.nxdocindex (.../nsfAPI.nxdocindex) (revision 3016e6466668218392140bc884fa8bf489721eda) @@ -73,12 +73,11 @@ set ::nxdoc::include(::nsf::methods::object::info::children) 0 set ::nxdoc::include(::nsf::methods::object::info::class) 0 set ::nxdoc::include(::nsf::methods::object::info::filterguard) 0 -set ::nxdoc::include(::nsf::methods::object::info::filtermethods) 0 +set ::nxdoc::include(::nsf::methods::object::info::filters) 0 set ::nxdoc::include(::nsf::methods::object::info::forward) 0 set ::nxdoc::include(::nsf::methods::object::info::hasmixin) 0 set ::nxdoc::include(::nsf::methods::object::info::hasnamespace) 0 set ::nxdoc::include(::nsf::methods::object::info::hastype) 0 -set ::nxdoc::include(::nsf::methods::object::info::is) 0 set ::nxdoc::include(::nsf::methods::object::info::lookupfilter) 0 set ::nxdoc::include(::nsf::methods::object::info::lookupfilters) 0 set ::nxdoc::include(::nsf::methods::object::info::lookupmethod) 0 @@ -87,7 +86,7 @@ set ::nxdoc::include(::nsf::methods::object::info::lookupslots) 0 set ::nxdoc::include(::nsf::methods::object::info::method) 0 set ::nxdoc::include(::nsf::methods::object::info::methods) 0 -set ::nxdoc::include(::nsf::methods::object::info::mixinclasses) 0 +set ::nxdoc::include(::nsf::methods::object::info::mixins) 0 set ::nxdoc::include(::nsf::methods::object::info::mixinguard) 0 set ::nxdoc::include(::nsf::methods::object::info::name) 0 set ::nxdoc::include(::nsf::methods::object::info::parent) 0 @@ -96,13 +95,13 @@ set ::nxdoc::include(::nsf::methods::object::info::slotobjects) 0 set ::nxdoc::include(::nsf::methods::object::info::vars) 0 set ::nxdoc::include(::nsf::methods::class::info::filterguard) 0 -set ::nxdoc::include(::nsf::methods::class::info::filtermethods) 0 +set ::nxdoc::include(::nsf::methods::class::info::filters) 0 set ::nxdoc::include(::nsf::methods::class::info::forward) 0 set ::nxdoc::include(::nsf::methods::class::info::heritage) 0 set ::nxdoc::include(::nsf::methods::class::info::instances) 0 set ::nxdoc::include(::nsf::methods::class::info::method) 0 set ::nxdoc::include(::nsf::methods::class::info::methods) 0 -set ::nxdoc::include(::nsf::methods::class::info::mixinclasses) 0 +set ::nxdoc::include(::nsf::methods::class::info::mixins) 0 set ::nxdoc::include(::nsf::methods::class::info::mixinguard) 0 set ::nxdoc::include(::nsf::methods::class::info::mixinof) 0 set ::nxdoc::include(::nsf::methods::class::info::slotobjects) 0 Index: library/nx/nx.tcl =================================================================== diff -u -r0f881e4bc45e927c8d84c1b1b468ef7537cb9b03 -r3016e6466668218392140bc884fa8bf489721eda --- library/nx/nx.tcl (.../nx.tcl) (revision 0f881e4bc45e927c8d84c1b1b468ef7537cb9b03) +++ library/nx/nx.tcl (.../nx.tcl) (revision 3016e6466668218392140bc884fa8bf489721eda) @@ -738,11 +738,10 @@ :alias "info has mixin" ::nsf::methods::object::info::hasmixin :alias "info has namespace" ::nsf::methods::object::info::hasnamespace :alias "info has type" ::nsf::methods::object::info::hastype - #:alias "info is" ::nsf::methods::object::info::is :alias "info name" ::nsf::methods::object::info::name - :alias "info object filters" ::nsf::methods::object::info::filtermethods + :alias "info object filters" ::nsf::methods::object::info::filters :alias "info object methods" ::nsf::methods::object::info::methods - :alias "info object mixins" ::nsf::methods::object::info::mixinclasses + :alias "info object mixins" ::nsf::methods::object::info::mixins :method "info object slots" {{-type:class ::nx::Slot} pattern:optional} { set method [list ::nsf::methods::object::info::slotobjects -type $type] if {[info exists pattern]} {lappend method $pattern} @@ -814,12 +813,12 @@ Class eval { :alias "info lookup" ::nx::Object::slot::__info::lookup - :alias "info filters" ::nsf::methods::class::info::filtermethods + :alias "info filters" ::nsf::methods::class::info::filters :alias "info has" ::nx::Object::slot::__info::has :alias "info heritage" ::nsf::methods::class::info::heritage :alias "info instances" ::nsf::methods::class::info::instances :alias "info methods" ::nsf::methods::class::info::methods - :alias "info mixins" ::nsf::methods::class::info::mixinclasses + :alias "info mixins" ::nsf::methods::class::info::mixins :alias "info mixinof" ::nsf::methods::class::info::mixinof :method "info slots" {{-type ::nx::Slot} -closure:switch -source:optional pattern:optional} { Index: library/xotcl/library/xotcl2.tcl =================================================================== diff -u -r891c57455f47da58a83db3981a8688608fba855e -r3016e6466668218392140bc884fa8bf489721eda --- library/xotcl/library/xotcl2.tcl (.../xotcl2.tcl) (revision 891c57455f47da58a83db3981a8688608fba855e) +++ library/xotcl/library/xotcl2.tcl (.../xotcl2.tcl) (revision 3016e6466668218392140bc884fa8bf489721eda) @@ -682,7 +682,7 @@ set def [method_handles_to_xotcl $def] } else { set def [::nsf::directdispatch [::nsf::current object] \ - ::nsf::methods::object::info::filtermethods \ + ::nsf::methods::object::info::filters \ {*}$guardsFlag \ {*}$patternArg] } @@ -720,7 +720,7 @@ if {$order} { set cmd ::nsf::methods::object::info::lookupmixins } else { - set cmd ::nsf::methods::object::info::mixinclasses + set cmd ::nsf::methods::object::info::mixins } if {$guards} {lappend cmd "-guards"} if {[info exists pattern]} {lappend cmd $pattern} @@ -788,7 +788,7 @@ #if {$r == 1 && ![info exists defaultVar]} {error inconsistency} return $r } - :alias instfilter ::nsf::methods::class::info::filtermethods + :alias instfilter ::nsf::methods::class::info::filters :alias instfilterguard ::nsf::methods::class::info::filterguard #:alias instforward ::nsf::methods::class::info::forward :proc instforward {-definition:switch name:optional} { @@ -802,7 +802,7 @@ } :proc instinvar {} {::nsf::method::assertion [self] class-invar} :proc instmixin {-order:switch -guards:switch pattern:optional} { - set cmd ::nsf::methods::class::info::mixinclasses + set cmd ::nsf::methods::class::info::mixins if {$order} {lappend cmd "-heritage"} if {$guards} {lappend cmd "-guards"} if {[info exists pattern]} {lappend cmd $pattern}