Class Models for Lua

Release Notes
Version 2.3 beta
Class Models
- All Models
- New operation
memberof(class, name)
that gets the value of a member defined by a class;
Class Library
- New Classes
-
loop.collection.UnorderedArraySet
loop.compiler.Arguments
loop.object.Publisher
loop.collection.MapWithArrayOfKeys
-
- Bugfix when mapping key values to
false
;
- Bugfix when mapping key values to
loop.collection.OrderedSet
-
- Bugfixes to deal with
nil
parameters andfalse
elements properly;
- Bugfixes to deal with
loop.debug.Inspector
-
- Improvement to support commands
step
,step "in"
andstep "out"
; - Improvement to support definition of break points;
- Improvement to support command
lua
to retrieve values from the Lua global environment, i.e. _G;
- Improvement to support commands
loop.debug.Matcher
-
- Improvement to hold the values being compared at indexes 0 (second parameter) and 1 (first parameter) to be able to provide better error messages;
loop.debug.Verbose
-
- Bugfix when default inspection (self.inspect = true) was used;
- Bugfix to use a specific Viewer instance to avoid changing the behavior of the class
loop.debug.Viewer
;
loop.object.Exception
-
- Bugfix to allow subclasses to work with the inherited
__concat
metamethod;
- Bugfix to allow subclasses to work with the inherited
loop.serial.FileStreamer
-
- Bugfix when multiple values were serialized into a file using different
put
calls;
- Bugfix when multiple values were serialized into a file using different
loop.serial.Serializer
-
- Bugfix for proper serialization of global non-serializable functions;
- Bugfix to show a proper error message when attempting to serialize a userdata without custom serialization metamethod;
- Bugfix so all fields of loaded packages that have unique values (i.e. tables, functions, threads or userdata) are serialized as package fields instead of ordinary serializable values;
- Improvement so serialized code generated by redefined serialization functions for specific Lua types does not have to follow any protocol anymore. However, to avoid future serialization of the same value the a value retrieval code must be registered in the serializer using the serialized value as key;
loop.thread.CoSocket
-
- Bugfix when operation
send
yielded due to a full buffer; - Bugfix in
select
to prevent wrong socket selection; - Bugfix in
select
when executed without yielding and returned sockets instead of socket wrappers; - Improvement by use of package
socket.core
instead ofsocket
package; - Improvement by addition of
cosocket
verbose tag as a new level of verbose inloop.thread.Scheduler
verbose;
- Bugfix when operation
loop.thread.IOScheduler
-
- Bugfix to prevent duplicated verbose message already printed by the super class.;
loop.thread.Scheduler
-
- Bugfix in
remove(coroutine)
when coroutine == self.currentkey; - Bugfix in constructor that created instances that shared data structures used by the class. The new constructor also allows objects that already are instance of the class to be constructed again perserving its state;
- Bugfix when coroutine-safe pcall executed C functions;
- Improvement in
remove(coroutine)
to return the removed coroutine plus the time it should wake up if it was suspended; - Improvement by addition of method
halt()
that stops the scheduling performed by methodrun()
;
- Bugfix in
loop.thread.Timer
-
- Bugfix that prevents the timer thread to end after first execution;
- Bugfix when timer was disabled;
General Utilities
loop.table
-
- Bugfix in function
clear(table)
when table contained afalse
key; - Improvement in function
copy(table [, destiny])
that now performs a raw copy, i.e. usingrawset
;
- Bugfix in function
precompiler.lua
andpreloader.lua
-
- These scripts now support new command-line options but their current implementation require class
loop.compiler.Arguments
to handle these options properly (see instructions here);
- These scripts now support new command-line options but their current implementation require class
Copyright (C) 2004-2008 Tecgraf, PUC-RioThis project is currently being maintained by Tecgraf at PUC-Rio.