predefined.xotcl

Clone Tools
  • last updated 17 hours ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
- starting to use tcl85 stack (when complied with TCL85STACK). Goal is to remove the own stack handling, when compiled with Tcl 8.5+ Introduced two frame types, FRAME_IS_XOTCL_METHOD and FRAME_IS_XOTCL_OBJECt - Currently, only self is resolved this way from the Tcl stack. - Currentlsy, just parts (e.g. testo.tcl) of the regression test work

  1. … 3 more files in changeset.
- moved all definitions of method commands to generated code - from 15356 generic/xotcl.c => 13408

  1. … 6 more files in changeset.
- !!! removed obsolete features * ability to specify nonpos args and pos args as different arguments * compile flags AUTOVARS, REFCOUNTED, REFCOUNT_TRACE - added -flags with one argument + type - generated all class methods from interface descriptions

- transtional version, not all test of regression test work correctly

  1. … 9 more files in changeset.
- changed "<object> info hasNamespace" to "<object> info hasnamespace" (all commands and info options are lowercase only, no underscore) - 11 "<object> info" commands generated

  1. … 6 more files in changeset.
- added generator for tclAPI.h - defined 8 info methods based on the new objv parseing infrastructure - replaced occurances of "instdestroy" by "dealloc" in documentation

  1. … 9 more files in changeset.
- new command: ::xotcl::createobjectsystem <rootClass> <rootMetaClass> This command creates a basic object system with the specified <rootClass> as most general root class and the specified metaclass as most general meta class.

Example: ::xotcl::createobjectsystem ::oo::object ::oo::class

In general, it would be possible to remove an objects system

at runtime, but there is so far no tcl interface for this.

- extended framework to work with multiple root classes

- the basic root class of XOTcl is now ::xotcl::Object again

(instead of ::oo::object) as before. The old setup can be

achieved on the Tcl-layer.

  1. … 7 more files in changeset.
- added metaclass property for root metaclass - metaclass property is set via ::xotcl::relation ... metaclass

  1. … 3 more files in changeset.
- define default meta-class for ::xotcl::Class - use default meta-class, when a the topmost meta-class of an object system is deleted - fix regression test

  1. … 6 more files in changeset.
- work on collateral damage after merge - fixed many test cases from the regression thest - wrote some changes to ChangeLog as a reminder

  1. … 8 more files in changeset.
merge with 1.6.3 (HEAD)

  1. … 130 more files in changeset.
- handle nonposargs in method "copy" properly - extend regression test for copy - added "<class> mixinof -closure ?pattern?" - extended regression test for mixinof - updated documentation

  1. … 15 more files in changeset.
* updating language reference

* Fix contents for %proc in forwarders in cases,

where the forwarder was called via next and

the argument list for next was provided.

Previously, "next" was used for %proc.

  1. … 3 more files in changeset.
fixed error message

* allowed "abstract method" in additon to "abstract instproc" and "abstract proc"

  1. … 1 more file in changeset.
* Continued with info orthogonality change

<object> info mixin ?pattern?

<class> info instmixin ?pattern?

?pattern? behaves exactly like in the change of two days

ago. Preceding colons in the name of the queried class are not

required.

Still to do "-closure" in

<class> info instmixin -closure ?pattern?

* In all mentioned calls, where pattern refers to an object/class

and it contains wild-cards, a preceding :: is added automatically

to the search pattern, if it is missing. Since all object names

start with ::, an omitted leading :: in a search pattern is an

obvious mistake

* Made the behavior "pattern" in the following calls identical

concerning wild cards and object lookups

<object> mixin delete pattern

<class> instmixin delete pattern

<class> superclass delete pattern

* extended regresson test

  1. … 5 more files in changeset.
* Potential incompatibility: provide a uniform interface to the following info subcommands

<class> info superclass ?-closure? ?pattern?

<class> info subclass ?-closure? ?pattern?

<class> info instances ?-closure? ?pattern?

<class> info instmixinof ?-closure? ?pattern?

<class> info mixinof ?pattern?

In cases, where the option "-closure" is defined,

the values are computed transitively.

In cases, where a pattern is specified, and

the pattern contains meta-characters, a list

of results is returned matching the pattern

(like "string match"). When no matching value

is found, an empty list is returned.

In cases, where a pattern is specified, and

the pattern contains no meta-characters,

a single value is returned korrespinding to

the specified value. The pattern is used

to lookup an object or class, such it is

not necessary to provide fully qualified names).

if there is no match, empty is returned.

Previously, "info superclass" and "info subclass"

returned a boolean value and performed

always a transitive search. Returning ""

is more consistent and more in line with Tcl.

By using the option "-closure" one can

perform the lookup in the transitive

or in the intransitive sets.

Still to do:

children

parent

classchildren

classparent

  1. … 6 more files in changeset.
- preserving var traces when copying objects

  1. … 2 more files in changeset.
importing experimental xotcl version

  1. … 74 more files in changeset.
restructured directory to remove superfluous directory xotcl

    • -0
    • +880
    ./predefined.xotcl
  1. … 749 more files in changeset.