mirror of
https://github.com/danbulant/Cosmos
synced 2026-05-30 04:40:14 +00:00
39 lines
1.4 KiB
Text
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|