Cosmos/source/Playgrounds/Ben/SOOOS/Code/Libs.txt

39 lines
1.4 KiB
Text

Use a single runtime
Evolve into our own seperate runtime called by CLR
Util -> Extention of System requires CLR
KernelLib -> As CoreLib but has unsafe code in it. Called by trusted libs only. Is this needed ? We will leave as an unsafe version of Corelib for the moment and for things that should nvere be called by a user process ie Halt
IF marked MakeVisible to then can be seen by System etc. System.Exception needs to be patched here.
CoreLib.System -> Used by Trusted Libs , requires CLR/System so methods will be patched. ( eventually these classes will disapear as we build functionality in CoreLib)
CoreLib ( Runtime) -> Used by System , Util , Trusted Libs and user apps , Does not use CLR! SO no exception , we provide some basic logging and diagnostics) . COntains system structures.
Evolve to own run time which is called by Mono or .NET.
CorelIb.System can use Corelib but not visa versa.
Search for extern to find things that need to be patched
Issues
Assert -> Becomes check and Guard . Guard will call debugger , Check will log (and is used in checked builds)
String ( used everywhere and system)
Exceptions
SystemLog - In CoreLib implements ISystemLogProvider and Corelib will patch.
Best to use some interfaces here... Though they are not secure ( since user can implement )
Secure code checks should always check for a specific type.