diff options
author | dkf <donal.k.fellows@manchester.ac.uk> | 2018-05-15 13:04:10 (GMT) |
---|---|---|
committer | dkf <donal.k.fellows@manchester.ac.uk> | 2018-05-15 13:04:10 (GMT) |
commit | e6fdfbe93b022e8ac8dc26c7de9706b7b45d422f (patch) | |
tree | 2573310b16ebdfcea2159a4b30d2c0b07bea71e7 /generic/tclOOCall.c | |
parent | bd706be303307bc4bdeacf15c1af1a43f1585d6b (diff) | |
download | tcl-e6fdfbe93b022e8ac8dc26c7de9706b7b45d422f.zip tcl-e6fdfbe93b022e8ac8dc26c7de9706b7b45d422f.tar.gz tcl-e6fdfbe93b022e8ac8dc26c7de9706b7b45d422f.tar.bz2 |
Make [info object methods] and [info class methods] work right.
Diffstat (limited to 'generic/tclOOCall.c')
-rw-r--r-- | generic/tclOOCall.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/generic/tclOOCall.c b/generic/tclOOCall.c index 5fd0c2a..bc84da0 100644 --- a/generic/tclOOCall.c +++ b/generic/tclOOCall.c @@ -44,18 +44,25 @@ struct ChainBuilder { #define MIXIN_CONSISTENT(flags) \ (((flags) & OBJECT_MIXIN) || \ !((flags) & BUILDING_MIXINS) == !((flags) & TRAVERSED_MIXIN)) + /* - * Note that the flag bit PRIVATE_METHOD has a confusing name. + * Note that the flag bit PRIVATE_METHOD has a confusing name; it's just for + * Itcl's special type of private. */ + #define IS_PUBLIC(mPtr) \ (((mPtr)->flags & PUBLIC_METHOD) != 0) #define IS_UNEXPORTED(mPtr) \ + (((mPtr)->flags & SCOPE_FLAGS) == 0) +#define IS_ITCLPRIVATE(mPtr) \ (((mPtr)->flags & PRIVATE_METHOD) != 0) #define IS_PRIVATE(mPtr) \ (((mPtr)->flags & TRUE_PRIVATE_METHOD) != 0) #define WANT_PUBLIC(flags) \ (((flags) & PUBLIC_METHOD) != 0) #define WANT_UNEXPORTED(flags) \ + (((flags) & (PRIVATE_METHOD | TRUE_PRIVATE_METHOD)) == 0) +#define WANT_ITCLPRIVATE(flags) \ (((flags) & PRIVATE_METHOD) != 0) #define WANT_PRIVATE(flags) \ (((flags) & TRUE_PRIVATE_METHOD) != 0) |