Skip to content
kurapica edited this page Apr 18, 2018 · 30 revisions

Prototype Lua Object-Oriented Program System

Prototype.lua

Prototype

Attribute

  • [[System.Abstract|system___abstract__]] used to set a class, a method or a feature(like event, property) as abstract
  • [[System.AnonymousClass|system___anonymousclass__]] used to make an interface so it should have anonymous class, so the interface can be used to generate objects
  • [[System.AutoIndex|system___autoindex__]] used to generate an auto-index enumeration
  • [[System.Arguments|system___arguments__]] used to build the overload and validation system for methods or functions
  • [[System.Base|system___base__]] used to set a base struct type to the target struct type
  • [[System.Default|system___default__]] used to set the default value of an enum or a custom struct type
  • [[System.Delegate|system___delegate__]] used to wrap the target function within the given function like pcall
  • [[System.EventChangeHandler|system___eventchangehandler__]] used to set the event change handler for an event
  • [[System.Final|system___final__]] used to set a class, an interface, a method or a feature as final
  • [[System.Flags|system___flags__]] used to set the enum as a flags enumeration
  • [[System.Get|system___get__]] used to modify the property's get behaviors, like deep clone
  • [[System.Indexer|system___indexer__]] used to set a property as indexer property that would be used as obj.Items[index] = value
  • [[System.NoNilValue|system___nonilvalue__]] used to mark a class's objects, so access non-existent value from them is denied
  • [[System.NoRawSet|system___norawset__]] used to mark a class's objects, so set value to their non-existent fields is denied
  • [[System.SuperObject|system___superobject__]] used to mark a class or interface, so whether they use super object style like super[self]:xxx()
  • [[System.ObjFuncAttr|system___objfuncattr__]] used to mark a class's objects, so functions that be assigned on them will be modified by the attribute system
  • [[System.ObjectSource|system___objectsource__]] with it the class ojbect will save the source where it's created
  • [[System.Require|system___require__]] used to mark an interface's require class
  • [[System.Sealed|system___sealed__]] used to seal enum, struct, interface and class, so they can't be re-defined
  • [[System.Set|system___set__]] used to modify the property's set behaviors
  • [[System.SingleVer|system___singlever__]] used to mark a class as single version class, so old object will receive re-defined class's new features
  • [[System.Static|system___static__]] used to mark the method or feature as static, so it only be used by the type itself
  • [[System.Super|system___super__]] used to set the target class's super class
  • [[System.Template|system___template__]] make the target struct, interface or class as a template

Enum

Struct

Interface

Class

System/Text.lua - provide the interface for encoding

Class

System/IO.lua - provides the basic support for input and ouput

Class

PLoop/System/Serialization.lua - provides the types for object serialization & deserialization

Attribute

  • [[System.Serialization.Serializable|system_serialization___serializable__]] indicates a class or custom struct type is serializable
  • [[System.Serialization.NonSerialized|system_serialization___nonserialized__]] indicates a member in struct or a property in class can't be serialized

Struct

Interface

Class

System/Date.lua - provide types for date management.

Struct

Class

System/Logger.lua - provide types for log system:

Enum

Class

System/Collections.lua - provide the interface of collections

Interface

System/Recycle.lua - provide type for object recycling

Class

System/Threading.lua - provide support for coroutine programming

Attribute

  • [[System.Threading.Async|system_threading___async__]] used to wrap a method or function to run it within coroutines fetched from thread pool
  • [[System.Threading.Iterator|system_threading___iterator__]] used to wrap a method or function as iterator which is process within coroutines fetched from thread pool

Interface

Class

System/Collections/List.lua - provide the collections types for list

Interface

Class

System/Collections/Dictionary.lua - provide the collections types for dictionary

Interface

Class

System/Collections/IIndexedListSorter.lua - used to provide several sort method for IIndexedList objects.

System/Collections/Array.lua - it provide the a template class to generate array of objects.

Class

System/Serialization/LuaFormatProvider.lua - provide format for lua data

Class

System/Serialization/StringFormatProvider.lua - provide format for string data

Class

System/Text/UTF8Encoding.lua - provides the encoding for UTF-8

Class

System/Text/UTF16Encoding.lua - provides the encoding for UTF-16

Class

Clone this wiki locally