Full Code of slicol/SGF for AI

master c24cf335cae7 cached
625 files
3.8 MB
1.0M tokens
5410 symbols
1 requests
Download .txt
Showing preview only (4,217K chars total). Download the full file or copy to clipboard to get everything.
Repository: slicol/SGF
Branch: master
Commit: c24cf335cae7
Files: 625
Total size: 3.8 MB

Directory structure:
gitextract_tlw7vj5v/

├── .gitignore
├── Apps/
│   ├── DirConfig.json
│   ├── ILRuntime.dll.config
│   ├── SGFAppDemo.exe.config
│   ├── SGFAppILRScript.dll.config
│   ├── SGFCore.dll.config
│   ├── SGFCore.xml
│   ├── SGFServer.exe.config
│   └── SGFServerDemo.exe.config
├── ILRuntime/
│   ├── App.config
│   ├── ILRuntime/
│   │   ├── Adapters/
│   │   │   └── Editor/
│   │   │       └── ILRuntimeCLRBinding.cs
│   │   ├── CLR/
│   │   │   ├── Method/
│   │   │   │   ├── CLRMethod.cs
│   │   │   │   ├── ExceptionHandler.cs
│   │   │   │   ├── ILMethod.cs
│   │   │   │   └── IMethod.cs
│   │   │   ├── TypeSystem/
│   │   │   │   ├── CLRType.cs
│   │   │   │   ├── ILGenericParameterType.cs
│   │   │   │   ├── ILType.cs
│   │   │   │   └── IType.cs
│   │   │   └── Utils/
│   │   │       └── Extensions.cs
│   │   ├── Other/
│   │   │   ├── ByReferenceKeyComparer.cs
│   │   │   ├── DelegateExportAttribute.cs
│   │   │   ├── NeedAdaptorAttribute.cs
│   │   │   ├── ThreadSafeDictionary.cs
│   │   │   └── UncheckedList.cs
│   │   ├── Reflection/
│   │   │   ├── Extensions.cs
│   │   │   ├── ILRuntimeConstructorInfo.cs
│   │   │   ├── ILRuntimeFieldInfo.cs
│   │   │   ├── ILRuntimeMethodInfo.cs
│   │   │   ├── ILRuntimeParameterInfo.cs
│   │   │   ├── ILRuntimePropertyInfo.cs
│   │   │   ├── ILRuntimeType.cs
│   │   │   └── ILRuntimeWrapperType.cs
│   │   └── Runtime/
│   │       ├── Adaptors/
│   │       │   └── CLRCrossBindingAdaptors.cs
│   │       ├── CLRBinding/
│   │       │   ├── BindingCodeGenerator.cs
│   │       │   ├── BindingGeneratorExtensions.cs
│   │       │   ├── CommonBindingGenerator.cs
│   │       │   ├── ConstructorBindingGenerator.cs
│   │       │   ├── FieldBindingGenerator.cs
│   │       │   ├── MethodBindingGenerator.cs
│   │       │   └── ValueTypeBindingGenerator.cs
│   │       ├── Debugger/
│   │       │   ├── BreakPointContext.cs
│   │       │   ├── BreakpointInfo.cs
│   │       │   ├── DebugMessageType.cs
│   │       │   ├── DebugService.cs
│   │       │   ├── DebugSocket.cs
│   │       │   ├── DebuggerServer/
│   │       │   │   └── DebuggerServer.cs
│   │       │   ├── Protocol/
│   │       │   │   ├── CSBindBreakpoint.cs
│   │       │   │   ├── CSDeleteBreakpoint.cs
│   │       │   │   ├── CSExecute.cs
│   │       │   │   ├── CSResolveVariable.cs
│   │       │   │   ├── CSStep.cs
│   │       │   │   ├── SCAttachResult.cs
│   │       │   │   ├── SCBindBreakpointResult.cs
│   │       │   │   ├── SCBreakpointHit.cs
│   │       │   │   ├── SCModuleLoaded.cs
│   │       │   │   ├── SCResolveVariableResult.cs
│   │       │   │   ├── SCStepComplete.cs
│   │       │   │   └── SCThreadStarted.cs
│   │       │   ├── StackFrameInfo.cs
│   │       │   ├── StepTypes.cs
│   │       │   └── VariableInfo.cs
│   │       ├── Enviorment/
│   │       │   ├── AppDomain.cs
│   │       │   ├── CLRRedirections.cs
│   │       │   ├── CrossBindingAdaptor.cs
│   │       │   ├── DelegateManager.cs
│   │       │   ├── ILContext.cs
│   │       │   └── ValueTypeBinder.cs
│   │       ├── Extensions.cs
│   │       ├── Intepreter/
│   │       │   ├── DelegateAdapter.cs
│   │       │   ├── ILIntepreter.cs
│   │       │   ├── ILRuntimeException.cs
│   │       │   ├── ILTypeInstance.cs
│   │       │   └── OpCodes/
│   │       │       ├── OpCode.cs
│   │       │       └── OpCodeEnum.cs
│   │       └── Stack/
│   │           ├── RuntimeStack.cs
│   │           ├── StackFrame.cs
│   │           └── StackObject.cs
│   ├── ILRuntime.csproj
│   ├── ILRuntime.csproj.user
│   ├── Mono.Cecil.20/
│   │   └── MonoCecil/
│   │       ├── Mono/
│   │       │   ├── Actions.cs
│   │       │   ├── Empty.cs
│   │       │   └── Funcs.cs
│   │       ├── Mono.Cecil/
│   │       │   ├── ArrayType.cs
│   │       │   ├── AssemblyDefinition.cs
│   │       │   ├── AssemblyFlags.cs
│   │       │   ├── AssemblyHashAlgorithm.cs
│   │       │   ├── AssemblyLinkedResource.cs
│   │       │   ├── AssemblyNameDefinition.cs
│   │       │   ├── AssemblyNameReference.cs
│   │       │   ├── AssemblyReader.cs
│   │       │   ├── AssemblyWriter.cs
│   │       │   ├── BaseAssemblyResolver.cs
│   │       │   ├── CallSite.cs
│   │       │   ├── CustomAttribute.cs
│   │       │   ├── DefaultAssemblyResolver.cs
│   │       │   ├── EmbeddedResource.cs
│   │       │   ├── EventAttributes.cs
│   │       │   ├── EventDefinition.cs
│   │       │   ├── EventReference.cs
│   │       │   ├── ExportedType.cs
│   │       │   ├── FieldAttributes.cs
│   │       │   ├── FieldDefinition.cs
│   │       │   ├── FieldReference.cs
│   │       │   ├── FileAttributes.cs
│   │       │   ├── FunctionPointerType.cs
│   │       │   ├── GenericInstanceMethod.cs
│   │       │   ├── GenericInstanceType.cs
│   │       │   ├── GenericParameter.cs
│   │       │   ├── GenericParameterAttributes.cs
│   │       │   ├── IConstantProvider.cs
│   │       │   ├── ICustomAttributeProvider.cs
│   │       │   ├── IGenericInstance.cs
│   │       │   ├── IGenericParameterProvider.cs
│   │       │   ├── IMarshalInfoProvider.cs
│   │       │   ├── IMemberDefinition.cs
│   │       │   ├── IMetadataScope.cs
│   │       │   ├── IMetadataTokenProvider.cs
│   │       │   ├── IMethodSignature.cs
│   │       │   ├── Import.cs
│   │       │   ├── LinkedResource.cs
│   │       │   ├── ManifestResourceAttributes.cs
│   │       │   ├── MarshalInfo.cs
│   │       │   ├── MemberDefinitionCollection.cs
│   │       │   ├── MemberReference.cs
│   │       │   ├── MetadataResolver.cs
│   │       │   ├── MetadataSystem.cs
│   │       │   ├── MethodAttributes.cs
│   │       │   ├── MethodCallingConvention.cs
│   │       │   ├── MethodDefinition.cs
│   │       │   ├── MethodImplAttributes.cs
│   │       │   ├── MethodReference.cs
│   │       │   ├── MethodReturnType.cs
│   │       │   ├── MethodSemanticsAttributes.cs
│   │       │   ├── MethodSpecification.cs
│   │       │   ├── Modifiers.cs
│   │       │   ├── ModuleDefinition.cs
│   │       │   ├── ModuleKind.cs
│   │       │   ├── ModuleReference.cs
│   │       │   ├── NativeType.cs
│   │       │   ├── PInvokeAttributes.cs
│   │       │   ├── PInvokeInfo.cs
│   │       │   ├── ParameterAttributes.cs
│   │       │   ├── ParameterDefinition.cs
│   │       │   ├── ParameterDefinitionCollection.cs
│   │       │   ├── ParameterReference.cs
│   │       │   ├── PinnedType.cs
│   │       │   ├── PointerType.cs
│   │       │   ├── PropertyAttributes.cs
│   │       │   ├── PropertyDefinition.cs
│   │       │   ├── PropertyReference.cs
│   │       │   ├── ReferenceType.cs
│   │       │   ├── Resource.cs
│   │       │   ├── SecurityDeclaration.cs
│   │       │   ├── SentinelType.cs
│   │       │   ├── TargetRuntime.cs
│   │       │   ├── TypeAttributes.cs
│   │       │   ├── TypeDefinition.cs
│   │       │   ├── TypeDefinitionCollection.cs
│   │       │   ├── TypeParser.cs
│   │       │   ├── TypeReference.cs
│   │       │   ├── TypeSpecification.cs
│   │       │   ├── TypeSystem.cs
│   │       │   └── VariantType.cs
│   │       ├── Mono.Cecil.Cil/
│   │       │   ├── Code.cs
│   │       │   ├── CodeReader.cs
│   │       │   ├── CodeWriter.cs
│   │       │   ├── Document.cs
│   │       │   ├── ExceptionHandler.cs
│   │       │   ├── ILProcessor.cs
│   │       │   ├── Instruction.cs
│   │       │   ├── MethodBody.cs
│   │       │   ├── OpCode.cs
│   │       │   ├── OpCodes.cs
│   │       │   ├── SequencePoint.cs
│   │       │   ├── Symbols.cs
│   │       │   ├── VariableDefinition.cs
│   │       │   └── VariableReference.cs
│   │       ├── Mono.Cecil.Metadata/
│   │       │   ├── BlobHeap.cs
│   │       │   ├── Buffers.cs
│   │       │   ├── CodedIndex.cs
│   │       │   ├── ElementType.cs
│   │       │   ├── GuidHeap.cs
│   │       │   ├── Heap.cs
│   │       │   ├── MetadataToken.cs
│   │       │   ├── Row.cs
│   │       │   ├── StringHeap.cs
│   │       │   ├── TableHeap.cs
│   │       │   ├── TokenType.cs
│   │       │   ├── UserStringHeap.cs
│   │       │   └── Utilities.cs
│   │       ├── Mono.Cecil.PE/
│   │       │   ├── BinaryStreamReader.cs
│   │       │   ├── BinaryStreamWriter.cs
│   │       │   ├── ByteBuffer.cs
│   │       │   ├── ByteBufferEqualityComparer.cs
│   │       │   ├── DataDirectory.cs
│   │       │   ├── Image.cs
│   │       │   ├── ImageReader.cs
│   │       │   ├── ImageWriter.cs
│   │       │   ├── Section.cs
│   │       │   └── TextMap.cs
│   │       ├── Mono.Collections.Generic/
│   │       │   ├── Collection.cs
│   │       │   └── ReadOnlyCollection.cs
│   │       └── Mono.Security.Cryptography/
│   │           ├── CryptoConvert.cs
│   │           └── CryptoService.cs
│   └── Properties/
│       └── AssemblyInfo.cs
├── Libs/
│   ├── PublishLibrary.bat
│   ├── SGFAppDemo.exe.config
│   ├── SGFAppILRScript.dll.config
│   └── SGFCore.dll.config
├── README.md
├── SGF.sln
├── SGFAppCommon/
│   ├── Data/
│   │   ├── PlayerData.cs
│   │   ├── RoomData.cs
│   │   └── UserData.cs
│   ├── Properties/
│   │   └── AssemblyInfo.cs
│   ├── Proto/
│   │   ├── HeartBeatProto.cs
│   │   ├── LoginProto.cs
│   │   └── ProtoCmd.cs
│   └── SGFAppCommon.csproj
├── SGFAppDemo/
│   ├── App.config
│   ├── AppMain.cs
│   ├── Framework/
│   │   ├── SGFGameDefine.cs
│   │   ├── SGFGameMainLoop.cs
│   │   └── SGFGameObject.cs
│   ├── GlobalEvent.cs
│   ├── ModuleDef.cs
│   ├── Modules/
│   │   └── Version/
│   │       └── VersionModule.cs
│   ├── Program.cs
│   ├── Properties/
│   │   └── AssemblyInfo.cs
│   ├── SGFAppDemo.csproj
│   ├── SGFGameDefine.cs
│   ├── SGFGameMainLoop.cs
│   ├── SGFGameObject.cs
│   └── Services/
│       └── Online/
│           ├── HeartBeatHandler.cs
│           ├── OnlineManager.cs
│           ├── ServerProfiler.cs
│           └── ServerTestBot.cs
├── SGFAppILRScript/
│   ├── App.config
│   ├── ModuleDef.cs
│   ├── Modules/
│   │   ├── Login/
│   │   │   └── LoginModule.cs
│   │   └── Room/
│   │       └── RoomModule.cs
│   ├── Properties/
│   │   └── AssemblyInfo.cs
│   ├── SGFAppILRScript.csproj
│   ├── SGFAppILRScript.csproj.user
│   └── ScriptMain.cs
├── SGFCore/
│   ├── App.config
│   ├── Class1.cs
│   ├── Codec/
│   │   ├── MiniJSON.cs
│   │   ├── PBSerializer.cs
│   │   └── SGFEncoding.cs
│   ├── Event/
│   │   └── Signal.cs
│   ├── Extension/
│   │   ├── CollectionExtensions.cs
│   │   ├── ObjectExtensions.cs
│   │   ├── StreamExtension.cs
│   │   └── StringExtensions.cs
│   ├── G3Lite/
│   │   ├── IndexTypes.cs
│   │   ├── MathUtil.cs
│   │   ├── Matrix3.cs
│   │   ├── Quaternion.cs
│   │   ├── Vector2.cs
│   │   ├── Vector3.cs
│   │   └── Vector4.cs
│   ├── IPCWork/
│   │   ├── IPCConfig.cs
│   │   ├── IPCManager.cs
│   │   └── IPCMessage.cs
│   ├── Marshals/
│   │   ├── MarshalArray.cs
│   │   └── MarshalList.cs
│   ├── MathLite/
│   │   └── SGFRandom.cs
│   ├── Module/
│   │   ├── GeneralModule.cs
│   │   ├── IModuleActivator.cs
│   │   ├── ModuleBase.cs
│   │   ├── ModuleManager.cs
│   │   └── NativeModuleActivator.cs
│   ├── MvvmLite/
│   │   ├── MvvmBinding.cs
│   │   ├── MvvmCommand.cs
│   │   ├── MvvmManager.cs
│   │   ├── MvvmModel.cs
│   │   └── MvvmViewModel.cs
│   ├── Network/
│   │   ├── Core/
│   │   │   ├── KCP/
│   │   │   │   ├── KCPSocket.cs
│   │   │   │   ├── LICENSE.txt
│   │   │   │   ├── kcp.cs
│   │   │   │   └── switch_queue.cs
│   │   │   ├── NetBuffer.cs
│   │   │   ├── NetErrorCode.cs
│   │   │   ├── RPCLite/
│   │   │   │   ├── RPCManagerBase.cs
│   │   │   │   └── RPCMessage.cs
│   │   │   ├── SocketAsyncEventArgsPool.cs
│   │   │   └── UdpSocket.cs
│   │   ├── Debuger/
│   │   │   ├── NetDebugFile.cs
│   │   │   ├── NetDebuger.cs
│   │   │   └── net_debuger.cs
│   │   ├── FSPLite/
│   │   │   ├── Client/
│   │   │   │   ├── FSPClient.cs
│   │   │   │   ├── FSPFrameController.cs
│   │   │   │   └── FSPManager.cs
│   │   │   ├── FSPBasicCmd.cs
│   │   │   ├── FSPGameEndReason.cs
│   │   │   ├── FSPGameState.cs
│   │   │   ├── FSPLiteData.cs
│   │   │   └── Server/
│   │   │       ├── FSPGame.cs
│   │   │       ├── FSPGateway.cs
│   │   │       ├── FSPManager.cs
│   │   │       ├── FSPPlayer.cs
│   │   │       └── FSPSession.cs
│   │   ├── General/
│   │   │   ├── Client/
│   │   │   │   ├── IConnection.cs
│   │   │   │   ├── KCPConnection.cs
│   │   │   │   ├── NetManager.cs
│   │   │   │   ├── RPCManager.cs
│   │   │   │   ├── TcpConnection.cs
│   │   │   │   └── UdpConnection.cs
│   │   │   ├── ConnectionType.cs
│   │   │   ├── NetDefine.cs
│   │   │   ├── NetPacket.cs
│   │   │   ├── Proto/
│   │   │   │   ├── NetErrorProto.cs
│   │   │   │   ├── NetMessage.cs
│   │   │   │   ├── ProfilerTestProto.cs
│   │   │   │   └── ProtocolHead.cs
│   │   │   ├── Server/
│   │   │   │   ├── IGateway.cs
│   │   │   │   ├── ISession.cs
│   │   │   │   ├── KCPGateway.cs
│   │   │   │   ├── KCPSession.cs
│   │   │   │   ├── NetManager.cs
│   │   │   │   ├── RPCManager.cs
│   │   │   │   ├── TcpGateway.cs
│   │   │   │   ├── TcpSession.cs
│   │   │   │   ├── UdpGateway.cs
│   │   │   │   └── UdpSession.cs
│   │   │   └── TcpConnectionBase.cs
│   │   └── Utils/
│   │       ├── DnsUtils.cs
│   │       ├── IPUtils.cs
│   │       └── NetUtils.cs
│   ├── Properties/
│   │   └── AssemblyInfo.cs
│   ├── SGFCore.csproj
│   ├── SGFCore.csproj.user
│   ├── Server/
│   │   ├── MainLoop.cs
│   │   ├── ServerConfig.cs
│   │   ├── ServerManager.cs
│   │   └── ServerModule.cs
│   ├── Threading/
│   │   └── ThreadPool.cs
│   ├── Timers/
│   │   └── Timer.cs
│   └── Utils/
│       ├── AppPrefs.cs
│       ├── CmdlineUtils.cs
│       ├── ConsoleInput.cs
│       ├── DictionarySafe.cs
│       ├── FPSUtils.cs
│       ├── FileUtils.cs
│       ├── MapList.cs
│       ├── ObjectDumpUtils.cs
│       ├── PathUtils.cs
│       ├── SGFTime.cs
│       ├── Singleton.cs
│       ├── StringUtils.cs
│       ├── ThrowHelper.cs
│       ├── TimeUtils.cs
│       └── URLUtils.cs
├── SGFCoreTest/
│   ├── Properties/
│   │   └── AssemblyInfo.cs
│   ├── SGFCoreTest.csproj
│   ├── TestMarshalArray.cs
│   └── TestMarshalList.cs
├── SGFDebuger/
│   ├── Debuger.cs
│   ├── Properties/
│   │   └── AssemblyInfo.cs
│   └── SGFDebuger.csproj
├── SGFServerLite/
│   ├── App.config
│   ├── GameServer/
│   │   └── GameServer.cs
│   ├── Program.cs
│   ├── Properties/
│   │   └── AssemblyInfo.cs
│   ├── SGFServerDemo.csproj
│   └── ZoneServer/
│       ├── Online/
│       │   └── OnlineManager.cs
│       ├── Room/
│       │   ├── Room.cs
│       │   └── RoomManager.cs
│       ├── ServerContext.cs
│       └── ZoneServer.cs
├── SGFUnity/
│   ├── Class1.cs
│   ├── Common/
│   │   ├── AppPrefs.cs
│   │   ├── DelayInvoker.cs
│   │   ├── MonoHelper.cs
│   │   └── MonoSingleton.cs
│   ├── DebugerGUI/
│   │   ├── NetDebugerGUI.cs
│   │   ├── SGFDebugerGUI.cs
│   │   └── SGFDebugerGUIBase.cs
│   ├── Extension/
│   │   ├── BitmapDrawingExtensions.cs
│   │   ├── TransformExtensions.cs
│   │   └── VectorExtensions.cs
│   ├── ILR/
│   │   ├── DebugerILR/
│   │   │   ├── DebugerMethodRedirector.cs
│   │   │   └── ILogTagAdaptor.cs
│   │   ├── DelegateConvertor.cs
│   │   ├── ILRManager.cs
│   │   ├── ModuleILR/
│   │   │   ├── GeneralModuleAdaptor.cs
│   │   │   └── ILRModuleActivator.cs
│   │   └── UIILR/
│   │       ├── ILRUILoading.cs
│   │       ├── ILRUILoadingAdaptor.cs
│   │       ├── ILRUIPage.cs
│   │       ├── ILRUIPageAdaptor.cs
│   │       ├── ILRUIPanel.cs
│   │       ├── ILRUIPanelAdaptor.cs
│   │       ├── ILRUIWidget.cs
│   │       ├── ILRUIWidgetAdaptor.cs
│   │       ├── ILRUIWindow.cs
│   │       └── ILRUIWindowAdaptor.cs
│   ├── ILRuntime/
│   │   ├── Adapters/
│   │   │   └── Editor/
│   │   │       └── ILRuntimeCLRBinding.cs
│   │   ├── CLR/
│   │   │   ├── Method/
│   │   │   │   ├── CLRMethod.cs
│   │   │   │   ├── ExceptionHandler.cs
│   │   │   │   ├── ILMethod.cs
│   │   │   │   └── IMethod.cs
│   │   │   ├── TypeSystem/
│   │   │   │   ├── CLRType.cs
│   │   │   │   ├── ILGenericParameterType.cs
│   │   │   │   ├── ILType.cs
│   │   │   │   └── IType.cs
│   │   │   └── Utils/
│   │   │       └── Extensions.cs
│   │   ├── Other/
│   │   │   ├── ByReferenceKeyComparer.cs
│   │   │   ├── DelegateExportAttribute.cs
│   │   │   ├── NeedAdaptorAttribute.cs
│   │   │   ├── ThreadSafeDictionary.cs
│   │   │   └── UncheckedList.cs
│   │   ├── Reflection/
│   │   │   ├── Extensions.cs
│   │   │   ├── ILRuntimeConstructorInfo.cs
│   │   │   ├── ILRuntimeFieldInfo.cs
│   │   │   ├── ILRuntimeMethodInfo.cs
│   │   │   ├── ILRuntimeParameterInfo.cs
│   │   │   ├── ILRuntimePropertyInfo.cs
│   │   │   ├── ILRuntimeType.cs
│   │   │   └── ILRuntimeWrapperType.cs
│   │   └── Runtime/
│   │       ├── Adaptors/
│   │       │   └── CLRCrossBindingAdaptors.cs
│   │       ├── CLRBinding/
│   │       │   ├── BindingCodeGenerator.cs
│   │       │   ├── BindingGeneratorExtensions.cs
│   │       │   ├── CommonBindingGenerator.cs
│   │       │   ├── ConstructorBindingGenerator.cs
│   │       │   ├── FieldBindingGenerator.cs
│   │       │   ├── MethodBindingGenerator.cs
│   │       │   └── ValueTypeBindingGenerator.cs
│   │       ├── Debugger/
│   │       │   ├── BreakPointContext.cs
│   │       │   ├── BreakpointInfo.cs
│   │       │   ├── DebugMessageType.cs
│   │       │   ├── DebugService.cs
│   │       │   ├── DebugSocket.cs
│   │       │   ├── DebuggerServer/
│   │       │   │   └── DebuggerServer.cs
│   │       │   ├── Protocol/
│   │       │   │   ├── CSBindBreakpoint.cs
│   │       │   │   ├── CSDeleteBreakpoint.cs
│   │       │   │   ├── CSExecute.cs
│   │       │   │   ├── CSResolveVariable.cs
│   │       │   │   ├── CSStep.cs
│   │       │   │   ├── SCAttachResult.cs
│   │       │   │   ├── SCBindBreakpointResult.cs
│   │       │   │   ├── SCBreakpointHit.cs
│   │       │   │   ├── SCModuleLoaded.cs
│   │       │   │   ├── SCResolveVariableResult.cs
│   │       │   │   ├── SCStepComplete.cs
│   │       │   │   └── SCThreadStarted.cs
│   │       │   ├── StackFrameInfo.cs
│   │       │   ├── StepTypes.cs
│   │       │   └── VariableInfo.cs
│   │       ├── Enviorment/
│   │       │   ├── AppDomain.cs
│   │       │   ├── CLRRedirections.cs
│   │       │   ├── CrossBindingAdaptor.cs
│   │       │   ├── DelegateManager.cs
│   │       │   ├── ILContext.cs
│   │       │   └── ValueTypeBinder.cs
│   │       ├── Extensions.cs
│   │       ├── Intepreter/
│   │       │   ├── DelegateAdapter.cs
│   │       │   ├── ILIntepreter.cs
│   │       │   ├── ILRuntimeException.cs
│   │       │   ├── ILTypeInstance.cs
│   │       │   └── OpCodes/
│   │       │       ├── OpCode.cs
│   │       │       └── OpCodeEnum.cs
│   │       └── Stack/
│   │           ├── RuntimeStack.cs
│   │           ├── StackFrame.cs
│   │           └── StackObject.cs
│   ├── Mono.Cecil.20/
│   │   └── MonoCecil/
│   │       ├── Mono/
│   │       │   ├── Actions.cs
│   │       │   ├── Empty.cs
│   │       │   └── Funcs.cs
│   │       ├── Mono.Cecil/
│   │       │   ├── ArrayType.cs
│   │       │   ├── AssemblyDefinition.cs
│   │       │   ├── AssemblyFlags.cs
│   │       │   ├── AssemblyHashAlgorithm.cs
│   │       │   ├── AssemblyLinkedResource.cs
│   │       │   ├── AssemblyNameDefinition.cs
│   │       │   ├── AssemblyNameReference.cs
│   │       │   ├── AssemblyReader.cs
│   │       │   ├── AssemblyWriter.cs
│   │       │   ├── BaseAssemblyResolver.cs
│   │       │   ├── CallSite.cs
│   │       │   ├── CustomAttribute.cs
│   │       │   ├── DefaultAssemblyResolver.cs
│   │       │   ├── EmbeddedResource.cs
│   │       │   ├── EventAttributes.cs
│   │       │   ├── EventDefinition.cs
│   │       │   ├── EventReference.cs
│   │       │   ├── ExportedType.cs
│   │       │   ├── FieldAttributes.cs
│   │       │   ├── FieldDefinition.cs
│   │       │   ├── FieldReference.cs
│   │       │   ├── FileAttributes.cs
│   │       │   ├── FunctionPointerType.cs
│   │       │   ├── GenericInstanceMethod.cs
│   │       │   ├── GenericInstanceType.cs
│   │       │   ├── GenericParameter.cs
│   │       │   ├── GenericParameterAttributes.cs
│   │       │   ├── IConstantProvider.cs
│   │       │   ├── ICustomAttributeProvider.cs
│   │       │   ├── IGenericInstance.cs
│   │       │   ├── IGenericParameterProvider.cs
│   │       │   ├── IMarshalInfoProvider.cs
│   │       │   ├── IMemberDefinition.cs
│   │       │   ├── IMetadataScope.cs
│   │       │   ├── IMetadataTokenProvider.cs
│   │       │   ├── IMethodSignature.cs
│   │       │   ├── Import.cs
│   │       │   ├── LinkedResource.cs
│   │       │   ├── ManifestResourceAttributes.cs
│   │       │   ├── MarshalInfo.cs
│   │       │   ├── MemberDefinitionCollection.cs
│   │       │   ├── MemberReference.cs
│   │       │   ├── MetadataResolver.cs
│   │       │   ├── MetadataSystem.cs
│   │       │   ├── MethodAttributes.cs
│   │       │   ├── MethodCallingConvention.cs
│   │       │   ├── MethodDefinition.cs
│   │       │   ├── MethodImplAttributes.cs
│   │       │   ├── MethodReference.cs
│   │       │   ├── MethodReturnType.cs
│   │       │   ├── MethodSemanticsAttributes.cs
│   │       │   ├── MethodSpecification.cs
│   │       │   ├── Modifiers.cs
│   │       │   ├── ModuleDefinition.cs
│   │       │   ├── ModuleKind.cs
│   │       │   ├── ModuleReference.cs
│   │       │   ├── NativeType.cs
│   │       │   ├── PInvokeAttributes.cs
│   │       │   ├── PInvokeInfo.cs
│   │       │   ├── ParameterAttributes.cs
│   │       │   ├── ParameterDefinition.cs
│   │       │   ├── ParameterDefinitionCollection.cs
│   │       │   ├── ParameterReference.cs
│   │       │   ├── PinnedType.cs
│   │       │   ├── PointerType.cs
│   │       │   ├── PropertyAttributes.cs
│   │       │   ├── PropertyDefinition.cs
│   │       │   ├── PropertyReference.cs
│   │       │   ├── ReferenceType.cs
│   │       │   ├── Resource.cs
│   │       │   ├── SecurityDeclaration.cs
│   │       │   ├── SentinelType.cs
│   │       │   ├── TargetRuntime.cs
│   │       │   ├── TypeAttributes.cs
│   │       │   ├── TypeDefinition.cs
│   │       │   ├── TypeDefinitionCollection.cs
│   │       │   ├── TypeParser.cs
│   │       │   ├── TypeReference.cs
│   │       │   ├── TypeSpecification.cs
│   │       │   ├── TypeSystem.cs
│   │       │   └── VariantType.cs
│   │       ├── Mono.Cecil.Cil/
│   │       │   ├── Code.cs
│   │       │   ├── CodeReader.cs
│   │       │   ├── CodeWriter.cs
│   │       │   ├── Document.cs
│   │       │   ├── ExceptionHandler.cs
│   │       │   ├── ILProcessor.cs
│   │       │   ├── Instruction.cs
│   │       │   ├── MethodBody.cs
│   │       │   ├── OpCode.cs
│   │       │   ├── OpCodes.cs
│   │       │   ├── SequencePoint.cs
│   │       │   ├── Symbols.cs
│   │       │   ├── VariableDefinition.cs
│   │       │   └── VariableReference.cs
│   │       ├── Mono.Cecil.Metadata/
│   │       │   ├── BlobHeap.cs
│   │       │   ├── Buffers.cs
│   │       │   ├── CodedIndex.cs
│   │       │   ├── ElementType.cs
│   │       │   ├── GuidHeap.cs
│   │       │   ├── Heap.cs
│   │       │   ├── MetadataToken.cs
│   │       │   ├── Row.cs
│   │       │   ├── StringHeap.cs
│   │       │   ├── TableHeap.cs
│   │       │   ├── TokenType.cs
│   │       │   ├── UserStringHeap.cs
│   │       │   └── Utilities.cs
│   │       ├── Mono.Cecil.PE/
│   │       │   ├── BinaryStreamReader.cs
│   │       │   ├── BinaryStreamWriter.cs
│   │       │   ├── ByteBuffer.cs
│   │       │   ├── ByteBufferEqualityComparer.cs
│   │       │   ├── DataDirectory.cs
│   │       │   ├── Image.cs
│   │       │   ├── ImageReader.cs
│   │       │   ├── ImageWriter.cs
│   │       │   ├── Section.cs
│   │       │   └── TextMap.cs
│   │       ├── Mono.Collections.Generic/
│   │       │   ├── Collection.cs
│   │       │   └── ReadOnlyCollection.cs
│   │       └── Mono.Security.Cryptography/
│   │           ├── CryptoConvert.cs
│   │           └── CryptoService.cs
│   ├── Properties/
│   │   └── AssemblyInfo.cs
│   ├── SGFUnity.csproj
│   ├── SGFUnity.csproj.user
│   ├── UI/
│   │   ├── Drag/
│   │   │   ├── Draggable.cs
│   │   │   └── DropZone.cs
│   │   ├── SGUI/
│   │   │   ├── Drawing.cs
│   │   │   ├── DrawingSimple.cs
│   │   │   └── GUICurve.cs
│   │   ├── UIDefine.cs
│   │   ├── UIElementBinder.cs
│   │   ├── UIEventTrigger.cs
│   │   ├── UILib/
│   │   │   ├── Control/
│   │   │   │   ├── CtlList.cs
│   │   │   │   ├── CtlListItem.cs
│   │   │   │   ├── CtlProgressBar.cs
│   │   │   │   └── UIControl.cs
│   │   │   ├── UIMsgBox.cs
│   │   │   ├── UIMsgTips.cs
│   │   │   └── UISimpleLoading.cs
│   │   ├── UILoading.cs
│   │   ├── UIManager.cs
│   │   ├── UIPage.cs
│   │   ├── UIPanel.cs
│   │   ├── UIRes.cs
│   │   ├── UIRoot.cs
│   │   ├── UIUtils.cs
│   │   ├── UIWidget.cs
│   │   └── UIWindow.cs
│   └── Utils/
│       ├── GameObjectUtils.cs
│       ├── NetUtils.cs
│       └── QRCodeUtils.cs
└── SGFUnityTest/
    ├── Properties/
    │   └── AssemblyInfo.cs
    ├── SGFUnityTest.csproj
    └── UnitTest1.cs

================================================
FILE CONTENTS
================================================

================================================
FILE: .gitignore
================================================
.vs
*.pdb
*.mdb
SGFAppCommon/obj
SGFAppDemo/obj
SGFAppILRScript/obj
SGFCore/obj
SGFDebuger/obj
SGFServerLite/obj
SGFUnity/obj


================================================
FILE: Apps/DirConfig.json
================================================
DB,4.3.2.1,32154
DB,4.3.2.1,32153
Zone,5.3.2.1,32154


================================================
FILE: Apps/ILRuntime.dll.config
================================================
<?xml version="1.0" encoding="utf-8"?>
<configuration>
    <startup> 
        
    <supportedRuntime version="v2.0.50727"/></startup>
</configuration>


================================================
FILE: Apps/SGFAppDemo.exe.config
================================================
<?xml version="1.0" encoding="utf-8"?>
<configuration>
    <startup> 
        
    <supportedRuntime version="v2.0.50727"/></startup>
</configuration>


================================================
FILE: Apps/SGFAppILRScript.dll.config
================================================
<?xml version="1.0" encoding="utf-8"?>
<configuration>
    <startup> 
        
    <supportedRuntime version="v2.0.50727"/></startup>
</configuration>


================================================
FILE: Apps/SGFCore.dll.config
================================================
<?xml version="1.0" encoding="utf-8"?>
<configuration>
    <startup> 
        
    <supportedRuntime version="v2.0.50727"/></startup>
</configuration>


================================================
FILE: Apps/SGFCore.xml
================================================
<?xml version="1.0"?>
<doc>
    <assembly>
        <name>SGFCore</name>
    </assembly>
    <members>
        <member name="T:SGF.Codec.PBSerializer">
            <summary>
            序列化帮助类
            </summary>
        </member>
        <member name="M:SGF.Codec.PBSerializer.NSerialize``1(``0)">
            <summary>
            序列化pb数据
            </summary>
            <typeparam name="T"></typeparam>
            <param name="t"></param>
            <returns></returns>
        </member>
        <member name="M:SGF.Codec.PBSerializer.NDeserialize``1(System.Byte[])">
            <summary>
            反序列化pb数据
            </summary>
            <typeparam name="T"></typeparam>
            <param name="buffer"></param>
            <returns></returns>
        </member>
        <member name="M:SGF.Event.SGFEventTable`1.GetEvent(System.String)">
            <summary>
            获取Type所指定的ModuleEvent(它其实是一个EventTable)
            如果不存在,则实例化一个
            </summary>
            <param name="type"></param>
            <returns></returns>
        </member>
        <member name="M:SGF.Math.SGFRandom.Rnd">
            <summary>
            采用线性同余算法产生一个0~1之间的随机小数
            </summary>
            <returns></returns>
        </member>
        <member name="M:SGF.Module.BusinessModule.Event(System.String)">
            <summary>
            实现抽象事件功能
            可以像这样使用:obj.Event("onLogin").AddListener(...)        
            事件的发送方法:this.Event("onLogin").Invoke(args)
            而不需要在编码时先定义好,以提高模块的抽象程度
            但是在模块内部的类不应该过于抽象,比如数据发生更新了,
            在UI类这样使用:obj.onUpdate.AddListener(...)
            这两种方法在使用形式上,保持了一致性!
            </summary>
            <param name="type"></param>
            <returns></returns>
        </member>
        <member name="M:SGF.Module.BusinessModule.Create(System.Object)">
            <summary>
            调用它以创建模块
            </summary>
            <param name="args"></param>
        </member>
        <member name="M:SGF.Module.BusinessModule.Release">
            <summary>
            调用它以释放模块
            </summary>
        </member>
        <member name="M:SGF.Module.BusinessModule.HandleMessage(System.String,System.Object[])">
            <summary>
            当模块收到消息后,对消息进行一些处理
            </summary>
            <param name="msg"></param>
            <param name="args"></param>
        </member>
        <member name="M:SGF.Module.BusinessModule.OnModuleMessage(System.String,System.Object[])">
            <summary>
            由派生类去实现,用于处理消息
            </summary>
            <param name="msg"></param>
            <param name="args"></param>
        </member>
        <member name="M:SGF.Module.BusinessModule.Show(System.Object)">
            <summary>
            显示业务模块的主UI
            一般业务模块都有UI,这是游戏业务模块的特点
            </summary>
        </member>
        <member name="M:SGF.Module.LuaModule.#ctor(System.String)">
            <summary>
            构造函数传入Name
            是因为Lua模块无法通过反射来获取Name
            </summary>
            <param name="name"></param>
        </member>
        <member name="M:SGF.Module.LuaModule.Create(System.Object)">
            <summary>
            这里应该去加载Lua脚本
            并且将EventManager映射到Lua脚本中
            </summary>
            <param name="args"></param>
        </member>
        <member name="M:SGF.Module.LuaModule.Release">
            <summary>
            调用它以卸载Lua脚本
            </summary>
        </member>
        <member name="M:SGF.Module.ModuleBase.Release">
            <summary>
            调用它以释放模块
            </summary>
        </member>
        <member name="F:SGF.Module.ModuleManager.m_mapModules">
            <summary>
            已创建的模块列表
            </summary>
        </member>
        <member name="F:SGF.Module.ModuleManager.m_mapCacheMessage">
            <summary>
            当目标模块未创建时,缓存的消息对象
            </summary>
        </member>
        <member name="F:SGF.Module.ModuleManager.m_mapPreListenEvents">
            <summary>
            当目标模块未创建时,预监听的事件
            </summary>
        </member>
        <member name="F:SGF.Module.ModuleManager.m_domain">
            <summary>
            用于模块反射的域
            </summary>
        </member>
        <member name="M:SGF.Module.ModuleManager.Init(System.String)">
            <summary>
            初始化
            </summary>
            <param name="domain">业务模块所在的域</param>
        </member>
        <member name="M:SGF.Module.ModuleManager.CreateModule``1(System.Object)">
            <summary>
            通过类型创建一个业务模块
            </summary>
            <typeparam name="T"></typeparam>
            <param name="args"></param>
            <returns></returns>
        </member>
        <member name="M:SGF.Module.ModuleManager.CreateModule(System.String,System.Object)">
            <summary>
            通过名字创建一个业务模块
            先通过名字反射出Class,如果不存在
            则通过扫描Lua文件目录加载LuaModule
            </summary>
            <param name="name">业务模块的名字</param>
            <param name="args"></param>
            <returns></returns>
        </member>
        <member name="M:SGF.Module.ModuleManager.ReleaseModule(SGF.Module.BusinessModule)">
            <summary>
            释放一个由ModuleManager创建的模块
            遵守谁创建谁释放的原则
            </summary>
            <param name="module"></param>
        </member>
        <member name="M:SGF.Module.ModuleManager.ReleaseAll">
            <summary>
            释放所有模块
            </summary>
        </member>
        <member name="M:SGF.Module.ModuleManager.GetModule(System.String)">
            <summary>
            通过名字获取一个Module
            如果未创建过该Module,则返回null
            </summary>
            <param name="name"></param>
            <returns></returns>
        </member>
        <member name="M:SGF.Module.ModuleManager.ShowModule(System.String,System.Object)">
            <summary>
            显示业务模块的默认UI
            </summary>
            <param name="name"></param>
        </member>
        <member name="M:SGF.Module.ModuleManager.SendMessage(System.String,System.String,System.Object[])">
            <summary>
            向指定的模块发送消息
            </summary>
            <param name="target"></param>
            <param name="msg"></param>
            <param name="args"></param>
        </member>
        <member name="M:SGF.Module.ModuleManager.Event(System.String,System.String)">
            <summary>
            监听指定模块的指定事件
            </summary>
            <param name="target"></param>
            <param name="type"></param>
            <returns></returns>
        </member>
        <member name="P:SGF.Module.ServiceModule`1.Instance">
            <summary>
            用于实现单例
            </summary>
        </member>
        <member name="M:SGF.Module.ServiceModule`1.CheckSingleton">
            <summary>
            调用它以创建模块
            并且检查它是否以单例形式创建
            </summary>
            <param name="args"></param>
        </member>
        <member name="F:SGF.Network.NetBuffer.m_16b">
            <summary>
            临时字节长度
            </summary>
        </member>
        <member name="M:SGF.Network.NetBuffer.Arrangement(System.Int32)">
            <summary>
            去掉已经读完的字节
            装POSITION设置成0
            </summary>
        </member>
        <member name="M:SGF.Network.NetBuffer.UpdateLenAndGetWritePos(System.Int32,System.Int32)">
            <summary>
            将位置设置到最大
            </summary>
        </member>
        <member name="M:SGF.Network.NetBuffer.AddBytes(System.Byte[],System.Int32,System.Int32)">
            <summary>
            将Byte[]写入Buffer的末尾
            不移动游标,返回长度
            </summary>
        </member>
        <member name="M:SGF.Network.NetBuffer.CopyWith(SGF.Network.NetBuffer,System.Int32,System.Boolean)">
            <summary>
            把src对象的数组copy到本对象,从dstOffect的地方开始
            不移动游标,返回长度
            </summary>
        </member>
        <member name="M:SGF.Network.NetBuffer.CopyWith(SGF.Network.NetBuffer,System.Int32,System.Int32,System.Boolean)">
            <summary>
            把src对象的数组从srcOffset开始copy到本对象从dstOffect的地方开始
            不移动游标,返回长度
            </summary>
        </member>
        <member name="M:SGF.Network.NetBuffer.AddLength(System.Int32,System.Int32)">
            <summary>
            从指定Pos增加指定Len
            </summary>
        </member>
        <member name="M:SGF.Network.NetBuffer.ReadBytes(System.Byte[],System.Int32,System.Int32)">
            读取数据
             
        </member>
        <member name="T:SGF.Network.NetBufferReader">
            <summary>
            字节读出
            </summary>
        </member>
        <member name="T:SGF.Network.NetBufferWriter">
            <summary>
            字节写入...
            </summary>
        </member>
        <member name="M:SGF.Network.FSPLite.Client.FSPManager.SetFrameListener(System.Action{System.Int32,SGF.Network.FSPLite.FSPFrame})">
            <summary>
            设置帧数据的监听
            </summary>
            <param name="listener"></param>
        </member>
        <member name="M:SGF.Network.FSPLite.Client.FSPManager.OnFSPListener(SGF.Network.FSPLite.FSPFrame)">
            <summary>
            监听来自FSPClient的帧数据
            </summary>
            <param name="frame"></param>
        </member>
        <member name="M:SGF.Network.FSPLite.Client.FSPManager.EnterFrame">
            <summary>
            由外界驱动
            </summary>
        </member>
        <member name="M:SGF.Network.FSPLite.Client.FSPManager.ExecuteFrame(System.Int32,SGF.Network.FSPLite.FSPFrame)">
            <summary>
            执行每一帧
            </summary>
            <param name="frameId"></param>
            <param name="frame"></param>
        </member>
        <member name="M:SGF.Network.FSPLite.Client.FSPManager.SendFSP(System.Int32,System.Int32)">
            <summary>
            给外界用来发送FSPVkey的
            </summary>
            <param name="vkey"></param>
            <param name="arg"></param>
        </member>
        <member name="M:SGF.Network.FSPLite.Client.FSPManager.SendFSPLocal(System.Int32,System.Int32)">
            <summary>
            用于本地兼容,比如打PVE的时候,也可以用帧同步兼容
            </summary>
            <param name="vkey"></param>
            <param name="arg"></param>
        </member>
        <member name="F:SGF.Network.FSPLite.FSPGameState.None">
            <summary>
            0 初始状态
            </summary>
        </member>
        <member name="F:SGF.Network.FSPLite.FSPGameState.Create">
            <summary>
            游戏创建状态
            只有在该状态下,才允许加入玩家
            当所有玩家都发VKey.GameBegin后,进入下一个状态
            </summary>
        </member>
        <member name="F:SGF.Network.FSPLite.FSPGameState.GameBegin">
            <summary>
            游戏开始状态
            在该状态下,等待所有玩家发VKey.RoundBegin,或者 判断玩家是否掉线
            当所有人都发送VKey.RoundBegin,进入下一个状态
            当有玩家掉线,则从FSPGame中删除该玩家:
                判断如果只剩下1个玩家了,则直接进入GameEnd状态,否则不影响游戏状态
            </summary>
        </member>
        <member name="F:SGF.Network.FSPLite.FSPGameState.RoundBegin">
            <summary>
            回合开始状态
            (这个时候客户端可能在加载资源)
            在该状态下,等待所有玩家发VKey.ControlStart, 或者 判断玩家是否掉线
            当所有人都发送VKey.ControlStart,进入下一个状态
            当有玩家掉线,则从FSPGame中删除该玩家:
                判断如果只剩下1个玩家了,则直接进入GameEnd状态,否则不影响游戏状态
            </summary>
        </member>
        <member name="F:SGF.Network.FSPLite.FSPGameState.ControlStart">
            <summary>
            可以开始操作状态
            (因为每个回合可能都会有加载过程,不同的玩家加载速度可能不同,需要用一个状态统一一下)
            在该状态下,接收玩家的业务VKey, 或者 VKey.RoundEnd,或者VKey.GameExit
            当所有人都发送VKey.RoundEnd,进入下一个状态
            当有玩家掉线,或者发送VKey.GameExit,则从FSPGame中删除该玩家:
                判断如果只剩下1个玩家了,则直接进入GameEnd状态,否则不影响游戏状态
            </summary>
        </member>
        <member name="F:SGF.Network.FSPLite.FSPGameState.RoundEnd">
            <summary>
            回合结束状态
            (大部分游戏只有1个回合,也有些游戏有多个回合,由客户端逻辑决定)
            在该状态下,等待玩家发送VKey.GameEnd,或者 VKey.RoundBegin(如果游戏不只1个回合的话)
            当所有人都发送VKey.GameEnd,或者 VKey.RoundBegin时,进入下一个状态
            当有玩家掉线,则从FSPGame中删除该玩家:
                判断如果只剩下1个玩家了,则直接进入GameEnd状态,否则不影响游戏状态
            </summary>
        </member>
        <member name="F:SGF.Network.FSPLite.FSPGameState.GameEnd">
            <summary>
            游戏结束状态
            在该状态下,不再接收任何Vkey,然后给所有玩家发VKey.GameEnd,并且等待FSPServer关闭
            </summary>
        </member>
        <member name="T:SGF.Network.FSPLite.FSPVKey">
            <summary>
            为了兼容键盘和轮盘操作,将玩家的操作抽象为【虚拟按键+参数】的【命令】形式:VKey+Arg
            </summary>
        </member>
        <member name="F:SGF.Network.FSPLite.FSPVKey.vkey">
            <summary>
            键值
            </summary>
        </member>
        <member name="F:SGF.Network.FSPLite.FSPVKey.args">
            <summary>
            参数列表
            </summary>
        </member>
        <member name="F:SGF.Network.FSPLite.FSPVKey.playerIdOrClientFrameId">
            <summary>
            S2C  服务器下发PlayerId
            C2S  客户端上报ClientFrameId
            </summary>
        </member>
        <member name="F:SGF.Network.FSPLite.FSPVKeyBase.GAME_BEGIN">
            <summary>
            PVP战斗结束
            </summary>
        </member>
        <member name="F:SGF.Network.FSPLite.FSPVKeyBase.ROUND_BEGIN">
            <summary>
            对局开始
            </summary>
        </member>
        <member name="F:SGF.Network.FSPLite.FSPVKeyBase.LOAD_START">
            <summary>
            开始加载
            </summary>
        </member>
        <member name="F:SGF.Network.FSPLite.FSPVKeyBase.LOAD_PROGRESS">
            <summary>
            加载进度条
            </summary>
        </member>
        <member name="F:SGF.Network.FSPLite.FSPVKeyBase.CONTROL_START">
            <summary>
            可以开始控制...
            </summary>
        </member>
        <member name="F:SGF.Network.FSPLite.FSPVKeyBase.GAME_EXIT">
            <summary>
            发送中途退出
            </summary>
        </member>
        <member name="F:SGF.Network.FSPLite.FSPVKeyBase.ROUND_END">
            <summary>
            对局结束
            </summary>
        </member>
        <member name="F:SGF.Network.FSPLite.FSPVKeyBase.GAME_END">
            <summary>
            PVP战斗结束
            </summary>
        </member>
        <member name="F:SGF.Network.FSPLite.FSPVKeyBase.AUTH">
            <summary>
            UDP身份字段
            </summary>
        </member>
        <member name="F:SGF.Network.FSPLite.FSPVKeyBase.PING">
            <summary>
            PING 响应回包...
            </summary>
        </member>
        <member name="F:SGF.Network.FSPLite.Server.FSPGame.MaxPlayerNum">
            <summary>
            最大支持的玩家数:31
            因为用来保存玩家Flag的Int只有31位有效位可用,不过31已经足够了
            </summary>
        </member>
        <member name="M:SGF.Network.FSPLite.Server.FSPGame.HandleClientCmd(SGF.Network.FSPLite.Server.FSPPlayer,SGF.Network.FSPLite.FSPVKey)">
            <summary>
            处理来自客户端的 Cmd
            对其中的关键VKey进行处理
            并且收集业务VKey
            </summary>
            <param name="player"></param>
            <param name="cmd"></param>
        </member>
        <member name="M:SGF.Network.FSPLite.Server.FSPGame.EnterFrame">
            <summary>
            驱动游戏状态
            </summary>
        </member>
        <member name="M:SGF.Network.FSPLite.Server.FSPGame.CheckGameAbnormalEnd">
            <summary>
            检测游戏是否异常结束
            </summary>
        </member>
        <member name="M:SGF.Network.FSPLite.Server.FSPGame.OnState_Create">
            <summary>
            游戏创建状态
            只有在该状态下,才允许加入玩家
            当所有玩家都发VKey.GameBegin后,进入下一个状态
            </summary>
        </member>
        <member name="M:SGF.Network.FSPLite.Server.FSPGame.OnState_GameBegin">
            <summary>
            游戏开始状态
            在该状态下,等待所有玩家发VKey.RoundBegin,或者 判断玩家是否掉线
            当所有人都发送VKey.RoundBegin,进入下一个状态
            当有玩家掉线,则从FSPGame中删除该玩家:
                判断如果只剩下1个玩家了,则直接进入GameEnd状态,否则不影响游戏状态
            </summary>
        </member>
        <member name="M:SGF.Network.FSPLite.Server.FSPGame.OnState_RoundBegin">
            <summary>
            回合开始状态
            (这个时候客户端可能在加载资源)
            在该状态下,等待所有玩家发VKey.ControlStart, 或者 判断玩家是否掉线
            当所有人都发送VKey.ControlStart,进入下一个状态
            当有玩家掉线,则从FSPGame中删除该玩家:
                判断如果只剩下1个玩家了,则直接进入GameEnd状态,否则不影响游戏状态
            </summary>
        </member>
        <member name="M:SGF.Network.FSPLite.Server.FSPGame.OnState_ControlStart">
            <summary>
            可以开始操作状态
            (因为每个回合可能都会有加载过程,不同的玩家加载速度可能不同,需要用一个状态统一一下)
            在该状态下,接收玩家的业务VKey, 或者 VKey.RoundEnd,或者VKey.GameExit
            当所有人都发送VKey.RoundEnd,进入下一个状态
            当有玩家掉线,或者发送VKey.GameExit,则从FSPGame中删除该玩家:
                判断如果只剩下1个玩家了,则直接进入GameEnd状态,否则不影响游戏状态
            </summary>
        </member>
        <member name="M:SGF.Network.FSPLite.Server.FSPGame.OnState_RoundEnd">
            <summary>
            回合结束状态
            (大部分游戏只有1个回合,也有些游戏有多个回合,由客户端逻辑决定)
            在该状态下,等待玩家发送VKey.GameEnd,或者 VKey.RoundBegin(如果游戏不只1个回合的话)
            当所有人都发送VKey.GameEnd,或者 VKey.RoundBegin时,进入下一个状态
            当有玩家掉线,则从FSPGame中删除该玩家:
                判断如果只剩下1个玩家了,则直接进入GameEnd状态,否则不影响游戏状态
            </summary>
        </member>
        <member name="M:SGF.Network.FSPLite.Server.FSPPlayer.IsLose">
            <summary>
            判断是否掉线
            </summary>
            <returns></returns>
        </member>
        <member name="F:SGF.Network.FSPLite.Server.FSPServer.FRAME_TICK_INTERVAL">
            <summary>
            帧间隔...
            </summary>
        </member>
        <member name="M:SGF.Utils.TimeUtils.GetTimeStringV2(System.String,System.Int64)">
            <summary>
            如果不显示天, 显示hh就会显示所有小时, 但是又怕有地方需要这样, 因此这里新开一下
            </summary>
            <param name="format"></param>
            <param name="seconds"></param>
            <returns></returns>
        </member>
        <member name="T:MiniJSON.Json">
             <summary>
             This class encodes and decodes JSON strings.
             Spec. details, see http://www.json.org/
            
             JSON uses Arrays and Objects. These correspond here to the datatypes IList and IDictionary.
             All numbers are parsed to doubles.
             </summary>
        </member>
        <member name="M:MiniJSON.Json.Deserialize(System.String)">
            <summary>
            Parses the string json into a value
            </summary>
            <param name="json">A JSON string.</param>
            <returns>An List&lt;object&gt;, a Dictionary&lt;string, object&gt;, a double, an integer,a string, null, true, or false</returns>
        </member>
        <member name="M:MiniJSON.Json.Serialize(System.Object)">
            <summary>
            Converts a IDictionary / IList object or a simple type (string, int, etc.) into a JSON string
            </summary>
            <param name="json">A Dictionary&lt;string, object&gt; / List&lt;object&gt;</param>
            <returns>A JSON encoded string, or null if object 'json' is not serializable</returns>
        </member>
        <member name="M:CollectionExtensions.FilterByType``2(System.Collections.Generic.IEnumerable{``0})">
                    Returns all elements of the source which are of FilterType.
        </member>
        <member name="M:CollectionExtensions.RemoveAllBut``1(System.Collections.Generic.List{``0},System.Predicate{``0})">
            <summary>
            移除不符合条件的元素
            </summary>
            <typeparam name="T"></typeparam>
            <param name="source"></param>
            <param name="match"></param>
        </member>
        <member name="M:CollectionExtensions.IsEmpty``1(System.Collections.Generic.ICollection{``0})">
            <summary>
            返回容器是否为空
            </summary>
            <typeparam name="T"></typeparam>
            <param name="collection"></param>
            <returns></returns>
        </member>
        <member name="M:CollectionExtensions.AddRange``1(System.Collections.Generic.ICollection{``0},System.Collections.Generic.IEnumerable{``0})">
            <summary>
            批量追加元素
            </summary>
            <typeparam name="T"></typeparam>
            <param name="collection"></param>
            <param name="other"></param>
        </member>
        <member name="M:CollectionExtensions.ListToString``1(System.Collections.Generic.IEnumerable{``0})">
            <summary>
            将容器序列化成字符串
            格式:{a, b, c}
            </summary>
            <typeparam name="T"></typeparam>
            <param name="source"></param>
            <returns></returns>
        </member>
        <member name="M:CollectionExtensions.ListToString(System.Object)">
            <summary>
            将容器序列化成字符串
            </summary>
            <param name="obj"></param>
            <returns></returns>
        </member>
        <member name="M:CollectionExtensions.ButFirst``1(System.Collections.Generic.IEnumerable{``0})">
                    Returns an enumerable of all elements of the given list	but the first,
                    keeping them in order.
        </member>
        <member name="M:CollectionExtensions.ButLast``1(System.Collections.Generic.IEnumerable{``0})">
                    Returns an enumarable of all elements in the given 
                    list but the last, keeping them in order.
        </member>
        <member name="M:CollectionExtensions.MaxBy``1(System.Collections.Generic.IEnumerable{``0},System.Func{``0,System.IComparable})">
            <summary>
            根据给定的方法,求出容器中最大的元素
            </summary>
            <typeparam name="T"></typeparam>
            <param name="source"></param>
            <param name="score"></param>
            <returns></returns>
        </member>
        <member name="M:CollectionExtensions.MinBy``2(System.Collections.Generic.IEnumerable{``0},System.Func{``0,``1})">
                    Finds the maximum element in the source as scored by the given function.
        </member>
        <member name="M:CollectionExtensions.RotateLeft``1(System.Collections.Generic.IEnumerable{``0})">
                    Returns a enumerable with elements in order, but the first element is moved to the end.
        </member>
        <member name="M:CollectionExtensions.RotateRight``1(System.Collections.Generic.IEnumerable{``0})">
                    Returns a enumerable with elements in order, but the last element is moved to the front.
        </member>
        <member name="M:CollectionExtensions.RandomItem``1(System.Collections.Generic.IEnumerable{``0})">
                    Returns a random element from the list.
        </member>
        <member name="M:CollectionExtensions.SampleRandom``1(System.Collections.Generic.IEnumerable{``0},System.Int32)">
                    Returns a random sample from the list.
        </member>
        <member name="M:CollectionExtensions.Shuffle``1(System.Collections.Generic.IList{``0})">
            <summary>
            乱序
            </summary>
            <typeparam name="T"></typeparam>
            <param name="source"></param>
        </member>
        <member name="M:CollectionExtensions.BinarySearch``2(System.Collections.Generic.ICollection{``0},``1,System.Func{``0,``1})">
                    Find an element in a collection by binary searching. 
                    This requires the collection to be sorted on the values returned by getSubElement
                    This will compare some derived property of the elements in the collection, rather than the elements
                    themselves.
        </member>
        <member name="M:CollectionExtensions.BinarySearch``2(System.Collections.Generic.ICollection{``0},``1,System.Func{``0,``1},System.Collections.Generic.IComparer{``1})">
                    Find an element in a collection by binary searching. 
                    This requires the collection to be sorted on the values returned by getSubElement
                    This will compare some derived property of the elements in the collection, rather than the elements
                    themselves.
        </member>
        <member name="M:CollectionExtensions.BinarySearch``2(System.Collections.Generic.ICollection{``0},``1,System.Func{``0,``1},System.Int32,System.Int32)">
                    Find an element in a collection by binary searching. 
                    This requires the collection to be sorted on the values returned by getSubElement
                    This will compare some derived property of the elements in the collection, rather than the elements
                    themselves.
        </member>
        <member name="M:CollectionExtensions.BinarySearch``2(System.Collections.Generic.ICollection{``0},``1,System.Func{``0,``1},System.Int32,System.Int32,System.Collections.Generic.IComparer{``1})">
                    Find an element in a collection by binary searching. 
                    This requires the collection to be sorted on the values returned by getSubElement
                    This will compare some derived property of the elements in the collection, rather than the elements
                    themselves.
        </member>
        <member name="M:ObjectExtensions.ThrowIfNull(System.Object,System.String)">
            <summary>
            对象如果为Null,抛出异常
            </summary>
            <param name="o"></param>
            <param name="message">异常消息</param>
        </member>
    </members>
</doc>


================================================
FILE: Apps/SGFServer.exe.config
================================================
<?xml version="1.0" encoding="utf-8"?>
<configuration>
    <startup> 
        
    <supportedRuntime version="v2.0.50727"/></startup>
</configuration>


================================================
FILE: Apps/SGFServerDemo.exe.config
================================================
<?xml version="1.0" encoding="utf-8"?>
<configuration>
    <startup> 
        
    <supportedRuntime version="v2.0.50727"/></startup>
</configuration>


================================================
FILE: ILRuntime/App.config
================================================
<?xml version="1.0" encoding="utf-8"?>
<configuration>
    <startup> 
        
    <supportedRuntime version="v2.0.50727"/></startup>
</configuration>


================================================
FILE: ILRuntime/ILRuntime/Adapters/Editor/ILRuntimeCLRBinding.cs
================================================
#if UNITY_EDITOR
using UnityEditor;
using UnityEngine;
using System;
using System.Text;
using System.Collections.Generic;
using OT.Foundation;

[System.Reflection.Obfuscation(Exclude = true)]
public class ILRuntimeCLRBinding
{
    [MenuItem("ILRuntime/Generate CLR Binding Code")]
    static void GenerateCLRBinding()
    {
        List<Type> types = new List<Type>();
        types.Add(typeof(int));
        types.Add(typeof(float));
        types.Add(typeof(long));
        types.Add(typeof(object));
        types.Add(typeof(string));
        types.Add(typeof(Array));
        types.Add(typeof(Vector2));
        types.Add(typeof(Vector3));
        types.Add(typeof(Quaternion));
        types.Add(typeof(GameObject));
        types.Add(typeof(UnityEngine.Object));
        types.Add(typeof(Transform));
        types.Add(typeof(RectTransform));
        types.Add(typeof(CLRBindingTestClass));
        types.Add(typeof(Time));
        types.Add(typeof(Debug));
        types.Add(typeof(OT.Foundation.Debuger));
        //所有DLL内的类型的真实C#类型都是ILTypeInstance
        types.Add(typeof(List<ILRuntime.Runtime.Intepreter.ILTypeInstance>));

        ILRuntime.Runtime.CLRBinding.BindingCodeGenerator.GenerateBindingCode(types, "Assets/ILRuntime/Generated");

    }

    [MenuItem("ILRuntime/Generate CLR Binding Code by Analysis")]
    static void GenerateCLRBindingByAnalysis()
    {
        //用新的分析热更dll调用引用来生成绑定代码
        ILRuntime.Runtime.Enviorment.AppDomain domain = new ILRuntime.Runtime.Enviorment.AppDomain();
        using (System.IO.FileStream fs = new System.IO.FileStream("Assets/StreamingAssets/HotFix_Project.dll", System.IO.FileMode.Open, System.IO.FileAccess.Read))
        {
            domain.LoadAssembly(fs);
        }
        //Crossbind Adapter is needed to generate the correct binding code
        InitILRuntime(domain);
        ILRuntime.Runtime.CLRBinding.BindingCodeGenerator.GenerateBindingCode(domain, "Assets/ILRuntime/Generated");
    }

    static void InitILRuntime(ILRuntime.Runtime.Enviorment.AppDomain domain)
    {
        //这里需要注册所有热更DLL中用到的跨域继承Adapter,否则无法正确抓取引用
        domain.RegisterCrossBindingAdaptor(new MonoBehaviourAdapter());
        domain.RegisterCrossBindingAdaptor(new CoroutineAdapter());
        domain.RegisterCrossBindingAdaptor(new InheritanceAdapter());
    }
}
#endif


================================================
FILE: ILRuntime/ILRuntime/CLR/Method/CLRMethod.cs
================================================
using System;
using System.Collections.Generic;
using System.Linq;
using System.Reflection;
using System.Text;

using Mono.Cecil;
using ILRuntime.Runtime.Intepreter;
using ILRuntime.Runtime.Enviorment;
using ILRuntime.CLR.TypeSystem;
using ILRuntime.Runtime.Stack;
using ILRuntime.CLR.Utils;
namespace ILRuntime.CLR.Method
{
    public class CLRMethod : IMethod
    {
        MethodInfo def;
        ConstructorInfo cDef;
        List<IType> parameters;
        ILRuntime.Runtime.Enviorment.AppDomain appdomain;
        CLRType declaringType;
        ParameterInfo[] param;
        bool isConstructor;
        CLRRedirectionDelegate redirect;
        IType[] genericArguments;
        object[] invocationParam;
        bool isDelegateInvoke;
        int hashCode = -1;
        static int instance_id = 0x20000000;

        public IType DeclearingType
        {
            get
            {
                return declaringType;
            }
        }
        public string Name
        {
            get
            {
                return def.Name;
            }
        }
        public bool HasThis
        {
            get
            {
                return isConstructor ? !cDef.IsStatic : !def.IsStatic;
            }
        }
        public int GenericParameterCount
        {
            get
            {
                if (def.ContainsGenericParameters && def.IsGenericMethodDefinition)
                {
                    return def.GetGenericArguments().Length;
                }
                return 0;
            }
        }
        public bool IsGenericInstance
        {
            get
            {
                return genericArguments != null;
            }
        }

        public bool IsDelegateInvoke
        {
            get
            {
                return isDelegateInvoke;
            }
        }

        public bool IsStatic
        {
            get { return def.IsStatic; }
        }

        public CLRRedirectionDelegate Redirection { get { return redirect; } }

        public MethodInfo MethodInfo { get { return def; } }

        public ConstructorInfo ConstructorInfo { get { return cDef; } }

        public IType[] GenericArguments { get { return genericArguments; } }

        internal CLRMethod(MethodInfo def, CLRType type, ILRuntime.Runtime.Enviorment.AppDomain domain)
        {
            this.def = def;
            declaringType = type;
            this.appdomain = domain;
            param = def.GetParameters();
            if (!def.ContainsGenericParameters)
            {
                ReturnType = domain.GetType(def.ReturnType.FullName);
                if (ReturnType == null)
                {
                    ReturnType = domain.GetType(def.ReturnType.AssemblyQualifiedName);
                }
            }
            if (type.IsDelegate && def.Name == "Invoke")
                isDelegateInvoke = true;
            isConstructor = false;

            if (def != null)
            {
                if (def.IsGenericMethod && !def.IsGenericMethodDefinition)
                {
                    appdomain.RedirectMap.TryGetValue(def.GetGenericMethodDefinition(), out redirect);
                }
                else
                    appdomain.RedirectMap.TryGetValue(def, out redirect);
            }
        }
        internal CLRMethod(ConstructorInfo def, CLRType type, ILRuntime.Runtime.Enviorment.AppDomain domain)
        {
            this.cDef = def;
            declaringType = type;
            this.appdomain = domain;
            param = def.GetParameters();
            if (!def.ContainsGenericParameters)
            {
                ReturnType = type;
            }
            isConstructor = true;

            if (def != null)
            {
                appdomain.RedirectMap.TryGetValue(cDef, out redirect);
            }
        }

        public int ParameterCount
        {
            get
            {
                return param != null ? param.Length : 0;
            }
        }


        public List<IType> Parameters
        {
            get
            {
                if (parameters == null)
                {
                    InitParameters();
                }
                return parameters;
            }
        }

        public IType ReturnType
        {
            get;
            private set;
        }

        public bool IsConstructor
        {
            get
            {
                return cDef != null;
            }
        }

        void InitParameters()
        {
            parameters = new List<IType>();
            foreach (var i in param)
            {
                IType type = appdomain.GetType(i.ParameterType.FullName);
                if (type == null)
                    type = appdomain.GetType(i.ParameterType.AssemblyQualifiedName);
                if (i.ParameterType.IsGenericTypeDefinition)
                {
                    if (type == null)
                        type = appdomain.GetType(i.ParameterType.GetGenericTypeDefinition().FullName);
                    if (type == null)
                        type = appdomain.GetType(i.ParameterType.GetGenericTypeDefinition().AssemblyQualifiedName);
                }
                if (i.ParameterType.ContainsGenericParameters)
                {
                    var t = i.ParameterType;
                    if (t.HasElementType)
                        t = i.ParameterType.GetElementType();
                    else if (t.GetGenericArguments().Length > 0)
                    {
                        t = t.GetGenericArguments()[0];
                    }
                    type = new ILGenericParameterType(t.Name);
                }
                if (type == null)
                    throw new TypeLoadException();
                parameters.Add(type);
            }
        }

        unsafe StackObject* Minus(StackObject* a, int b)
        {
            return (StackObject*)((long)a - sizeof(StackObject) * b);
        }

        public unsafe object Invoke(Runtime.Intepreter.ILIntepreter intepreter, StackObject* esp, IList<object> mStack, bool isNewObj = false)
        {
            if (parameters == null)
            {
                InitParameters();
            }
            int paramCount = ParameterCount;
            if (invocationParam == null)
                invocationParam = new object[paramCount];
            object[] param = invocationParam;
            for (int i = paramCount; i >= 1; i--)
            {
                var p = Minus(esp, i);
                var obj = this.param[paramCount - i].ParameterType.CheckCLRTypes(StackObject.ToObject(p, appdomain, mStack));
                obj = ILIntepreter.CheckAndCloneValueType(obj, appdomain);
                param[paramCount - i] = obj;
            }

            if (isConstructor)
            {
                if (!isNewObj)
                {
                    if (!cDef.IsStatic)
                    {
                        object instance = declaringType.TypeForCLR.CheckCLRTypes(StackObject.ToObject((Minus(esp, paramCount + 1)), appdomain, mStack));
                        if (instance == null)
                            throw new NullReferenceException();
                        if (instance is CrossBindingAdaptorType && paramCount == 0)//It makes no sense to call the Adaptor's default constructor
                            return null;
                        cDef.Invoke(instance, param);
                        return null;
                    }
                    else
                    {
                        throw new NotImplementedException();
                    }
                }
                else
                {
                    var res = cDef.Invoke(param);

                    FixReference(paramCount, esp, param, mStack);
                    return res;
                }

            }
            else
            {
                object instance = null;

                if (!def.IsStatic)
                {
                    instance = declaringType.TypeForCLR.CheckCLRTypes(StackObject.ToObject((Minus(esp, paramCount + 1)), appdomain, mStack));
                    if (instance == null)
                        throw new NullReferenceException();
                }
                object res = null;
                /*if (redirect != null)
                    res = redirect(new ILContext(appdomain, intepreter, esp, mStack, this), instance, param, genericArguments);
                else*/
                {
                    res = def.Invoke(instance, param);
                }

                FixReference(paramCount, esp, param, mStack);
                return res;
            }
        }

        unsafe void FixReference(int paramCount, StackObject* esp, object[] param, IList<object> mStack)
        {
            for (int i = paramCount; i >= 1; i--)
            {
                var p = Minus(esp, i);
                var val = param[paramCount - i];
                switch (p->ObjectType)
                {
                    case ObjectTypes.StackObjectReference:
                        {
                            var dst = *(StackObject**)&p->Value;
                            if (dst->ObjectType >= ObjectTypes.Object)
                            {
                                var obj = val;
                                if (obj is CrossBindingAdaptorType)
                                    obj = ((CrossBindingAdaptorType)obj).ILInstance;
                                mStack[dst->Value] = obj;
                            }
                            else
                            {
                                ILIntepreter.UnboxObject(dst, val);
                            }
                        }
                        break;
                    case ObjectTypes.FieldReference:
                        {
                            var obj = mStack[p->Value];
                            if(obj is ILTypeInstance)
                            {
                                ((ILTypeInstance)obj)[p->ValueLow] = val;
                            }
                            else
                            {
                                var t = appdomain.GetType(obj.GetType()) as CLRType;
                                t.GetField(p->ValueLow).SetValue(obj, val);
                            }
                        }
                        break;
                    case ObjectTypes.StaticFieldReference:
                        {
                            var t = appdomain.GetType(p->Value);
                            if(t is ILType)
                            {
                                ((ILType)t).StaticInstance[p->ValueLow] = val;
                            }
                            else
                            {
                                ((CLRType)t).SetStaticFieldValue(p->ValueLow, val);
                            }
                        }
                        break;
                }
            }
        }

        public IMethod MakeGenericMethod(IType[] genericArguments)
        {
            Type[] p = new Type[genericArguments.Length];
            for (int i = 0; i < genericArguments.Length; i++)
            {
                p[i] = genericArguments[i].TypeForCLR;
            }
            var t = def.MakeGenericMethod(p);
            var res = new CLRMethod(t, declaringType, appdomain);
            res.genericArguments = genericArguments;
            return res;
        }

        public override string ToString()
        {
            if (def != null)
                return def.ToString();
            else
                return cDef.ToString();
        }

        public override int GetHashCode()
        {
            if (hashCode == -1)
                hashCode = System.Threading.Interlocked.Add(ref instance_id, 1);
            return hashCode;
        }
    }
}


================================================
FILE: ILRuntime/ILRuntime/CLR/Method/ExceptionHandler.cs
================================================
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

using ILRuntime.CLR.TypeSystem;

namespace ILRuntime.CLR.Method
{
    enum ExceptionHandlerType
    {
        Catch,
        Finally,
        Fault,
    }
    class ExceptionHandler
    {
        public ExceptionHandlerType HandlerType { get; set; }

        public int TryStart { get; set; }
        public int TryEnd { get; set; }
        public int HandlerStart { get; set; }
        public int HandlerEnd { get; set; }
        public IType CatchType { get; set; }
    }
}


================================================
FILE: ILRuntime/ILRuntime/CLR/Method/ILMethod.cs
================================================
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Reflection;

using Mono.Cecil;
using ILRuntime.Runtime.Intepreter.OpCodes;
using ILRuntime.Runtime.Intepreter;
using ILRuntime.Runtime.Debugger;
using ILRuntime.CLR.TypeSystem;
using ILRuntime.Reflection;
namespace ILRuntime.CLR.Method
{
    public class ILMethod : IMethod
    {
        OpCode[] body;
        MethodDefinition def;
        List<IType> parameters;
        ILRuntime.Runtime.Enviorment.AppDomain appdomain;
        ILType declaringType;
        ExceptionHandler[] exceptionHandler;
        KeyValuePair<string, IType>[] genericParameters;
        IType[] genericArguments;
        Dictionary<int, int[]> jumptables;
        bool isDelegateInvoke;
        ILRuntimeMethodInfo refletionMethodInfo;
        ILRuntimeConstructorInfo reflectionCtorInfo;
        int paramCnt, localVarCnt;
        Mono.Collections.Generic.Collection<Mono.Cecil.Cil.VariableDefinition> variables;
        int hashCode = -1;
        static int instance_id = 0x10000000;

        public MethodDefinition Definition { get { return def; } }

        public Dictionary<int, int[]> JumpTables { get { return jumptables; } }

        internal IDelegateAdapter DelegateAdapter { get; set; }

        internal int StartLine { get; set; }

        internal int EndLine { get; set; }

        public MethodInfo ReflectionMethodInfo
        {
            get
            {
                if (IsConstructor)
                    throw new NotSupportedException();
                if (refletionMethodInfo == null)
                    refletionMethodInfo = new ILRuntimeMethodInfo(this);
                return refletionMethodInfo;
            }
        }

        public ConstructorInfo ReflectionConstructorInfo
        {
            get
            {
                if (!IsConstructor)
                    throw new NotSupportedException();
                if (reflectionCtorInfo == null)
                    reflectionCtorInfo = new ILRuntimeConstructorInfo(this);
                return reflectionCtorInfo;
            }
        }

        internal ExceptionHandler[] ExceptionHandler
        {
            get
            {
                if (body == null)
                    InitCodeBody();
                return exceptionHandler;
            }
        }

        public string Name
        {
            get
            {
                return def.Name;
            }
        }

        public IType DeclearingType
        {
            get
            {
                return declaringType;
            }
        }

        public bool HasThis
        {
            get
            {
                return def.HasThis;
            }
        }
        public int GenericParameterCount
        {
            get
            {
                if (IsGenericInstance)
                    return 0;
                return def.GenericParameters.Count;
            }
        }
        public bool IsGenericInstance
        {
            get
            {
                return genericParameters != null;
            }
        }
        public Mono.Collections.Generic.Collection<Mono.Cecil.Cil.VariableDefinition> Variables
        {
            get
            {
                return variables;
            }
        }

        public KeyValuePair<string, IType>[] GenericArguments { get { return genericParameters; } }

        public IType[] GenericArugmentsArray { get { return genericArguments; } }
        public ILMethod(MethodDefinition def, ILType type, ILRuntime.Runtime.Enviorment.AppDomain domain)
        {
            this.def = def;
            declaringType = type;
            if (def.ReturnType.IsGenericParameter)
            {
                ReturnType = FindGenericArgument(def.ReturnType.Name);
            }
            else
                ReturnType = domain.GetType(def.ReturnType, type, this);
            if (type.IsDelegate && def.Name == "Invoke")
                isDelegateInvoke = true;
            this.appdomain = domain;
            paramCnt = def.HasParameters ? def.Parameters.Count : 0;
#if DEBUG
            if (def.HasBody)
            {
                var sp = DebugService.FindSequencePoint(def.Body.Instructions[0]);
                if (sp != null)
                {
                    StartLine = sp.StartLine;
                    sp = DebugService.FindSequencePoint(def.Body.Instructions[def.Body.Instructions.Count - 1]);
                    if (sp != null)
                    {
                        EndLine = sp.EndLine;
                    }
                }
            }
#endif
        }

        public IType FindGenericArgument(string name)
        {
            IType res = declaringType.FindGenericArgument(name);
            if (res == null && genericParameters != null)
            {
                foreach (var i in genericParameters)
                {
                    if (i.Key == name)
                        return i.Value;
                }
            }
            else
                return res;
            return null;
        }

        internal OpCode[] Body
        {
            get
            {
                if (body == null)
                    InitCodeBody();
                return body;
            }
        }

        public int LocalVariableCount
        {
            get
            {
                return localVarCnt;
            }
        }

        public bool IsConstructor
        {
            get
            {
                return def.IsConstructor;
            }
        }

        public bool IsDelegateInvoke
        {
            get
            {
                return isDelegateInvoke;
            }
        }

        public bool IsStatic
        {
            get { return def.IsStatic; }
        }

        public int ParameterCount
        {
            get
            {
                return paramCnt;
            }
        }


        public List<IType> Parameters
        {
            get
            {
                if (def.HasParameters && parameters == null)
                {
                    InitParameters();
                }
                return parameters;
            }
        }

        public IType ReturnType
        {
            get;
            private set;
        }
        void InitCodeBody()
        {
            if (def.HasBody)
            {
                localVarCnt = def.Body.Variables.Count;
                body = new OpCode[def.Body.Instructions.Count];
                Dictionary<Mono.Cecil.Cil.Instruction, int> addr = new Dictionary<Mono.Cecil.Cil.Instruction, int>();
                for (int i = 0; i < body.Length; i++)
                {
                    var c = def.Body.Instructions[i];
                    OpCode code = new OpCode();
                    code.Code = (OpCodeEnum)c.OpCode.Code;
                    addr[c] = i;
                    body[i] = code;
                }
                for (int i = 0; i < body.Length; i++)
                {
                    var c = def.Body.Instructions[i];
                    InitToken(ref body[i], c.Operand, addr);
                }

                for (int i = 0; i < def.Body.ExceptionHandlers.Count; i++)
                {
                    var eh = def.Body.ExceptionHandlers[i];
                    if (exceptionHandler == null)
                        exceptionHandler = new Method.ExceptionHandler[def.Body.ExceptionHandlers.Count];
                    ExceptionHandler e = new ExceptionHandler();
                    e.HandlerStart = addr[eh.HandlerStart];
                    e.HandlerEnd = addr[eh.HandlerEnd] - 1;
                    e.TryStart = addr[eh.TryStart];
                    e.TryEnd = addr[eh.TryEnd] - 1;
                    switch (eh.HandlerType)
                    {
                        case Mono.Cecil.Cil.ExceptionHandlerType.Catch:
                            e.CatchType = appdomain.GetType(eh.CatchType, declaringType, this);
                            e.HandlerType = ExceptionHandlerType.Catch;
                            break;
                        case Mono.Cecil.Cil.ExceptionHandlerType.Finally:
                            e.HandlerType = ExceptionHandlerType.Finally;
                            break;
                        case Mono.Cecil.Cil.ExceptionHandlerType.Fault:
                            e.HandlerType = ExceptionHandlerType.Fault;
                            break;
                        default:
                            throw new NotImplementedException();
                    }
                    exceptionHandler[i] = e;
                    //Mono.Cecil.Cil.ExceptionHandlerType.
                }
                //Release Method body to save memory
                variables = def.Body.Variables;
                def.Body = null;
            }
            else
                body = new OpCode[0];
        }

        unsafe void InitToken(ref OpCode code, object token, Dictionary<Mono.Cecil.Cil.Instruction, int> addr)
        {
            switch (code.Code)
            {
                case OpCodeEnum.Leave:
                case OpCodeEnum.Leave_S:
                case OpCodeEnum.Br:
                case OpCodeEnum.Br_S:
                case OpCodeEnum.Brtrue:
                case OpCodeEnum.Brtrue_S:
                case OpCodeEnum.Brfalse:
                case OpCodeEnum.Brfalse_S:
                //比较流程控制
                case OpCodeEnum.Beq:
                case OpCodeEnum.Beq_S:
                case OpCodeEnum.Bne_Un:
                case OpCodeEnum.Bne_Un_S:
                case OpCodeEnum.Bge:
                case OpCodeEnum.Bge_S:
                case OpCodeEnum.Bge_Un:
                case OpCodeEnum.Bge_Un_S:
                case OpCodeEnum.Bgt:
                case OpCodeEnum.Bgt_S:
                case OpCodeEnum.Bgt_Un:
                case OpCodeEnum.Bgt_Un_S:
                case OpCodeEnum.Ble:
                case OpCodeEnum.Ble_S:
                case OpCodeEnum.Ble_Un:
                case OpCodeEnum.Ble_Un_S:
                case OpCodeEnum.Blt:
                case OpCodeEnum.Blt_S:
                case OpCodeEnum.Blt_Un:
                case OpCodeEnum.Blt_Un_S:
                    code.TokenInteger = addr[(Mono.Cecil.Cil.Instruction)token];
                    break;
                case OpCodeEnum.Ldc_I4:
                    code.TokenInteger = (int)token;
                    break;
                case OpCodeEnum.Ldc_I4_S:
                    code.TokenInteger = (sbyte)token;
                    break;
                case OpCodeEnum.Ldc_I8:
                    code.TokenLong = (long)token;
                    break;
                case OpCodeEnum.Ldc_R4:
                    {
                        float val = (float)token;
                        code.TokenInteger = *(int*)&val;
                    }
                    break;
                case OpCodeEnum.Ldc_R8:
                    {
                        double val = (double)token;
                        code.TokenLong = *(long*)&val;
                    }
                    break;
                case OpCodeEnum.Stloc:
                case OpCodeEnum.Stloc_S:
                case OpCodeEnum.Ldloc:
                case OpCodeEnum.Ldloc_S:
                case OpCodeEnum.Ldloca:
                case OpCodeEnum.Ldloca_S:
                    {
                        Mono.Cecil.Cil.VariableDefinition vd = (Mono.Cecil.Cil.VariableDefinition)token;
                        code.TokenInteger = vd.Index;
                    }
                    break;
                case OpCodeEnum.Ldarg_S:
                case OpCodeEnum.Ldarg:
                case OpCodeEnum.Ldarga:
                case OpCodeEnum.Ldarga_S:
                case OpCodeEnum.Starg:
                case OpCodeEnum.Starg_S:
                    {
                        Mono.Cecil.ParameterDefinition vd = (Mono.Cecil.ParameterDefinition)token;
                        code.TokenInteger = vd.Index;
                        if (HasThis)
                            code.TokenInteger++;
                    }
                    break;
                case OpCodeEnum.Call:
                case OpCodeEnum.Newobj:
                case OpCodeEnum.Ldftn:
                case OpCodeEnum.Ldvirtftn:
                case OpCodeEnum.Callvirt:
                    {
                        bool invalidToken;
                        var m = appdomain.GetMethod(token, declaringType, this, out invalidToken);
                        if (m != null)
                        {
                            if (invalidToken)
                                code.TokenInteger = m.GetHashCode();
                            else
                                code.TokenInteger = token.GetHashCode();
                        }
                        else
                        {
                            //Cannot find method or the method is dummy
                            MethodReference _ref = (MethodReference)token;
                            int paramCnt = _ref.HasParameters ? _ref.Parameters.Count : 0;
                            if (_ref.HasThis)
                                paramCnt++;
                            code.TokenLong = paramCnt;
                        }
                    }
                    break;
                case OpCodeEnum.Constrained:
                case OpCodeEnum.Box:
                case OpCodeEnum.Unbox_Any:
                case OpCodeEnum.Unbox:
                case OpCodeEnum.Initobj:
                case OpCodeEnum.Isinst:
                case OpCodeEnum.Newarr:
                case OpCodeEnum.Stobj:
                case OpCodeEnum.Ldobj:
                    {
                        code.TokenInteger = GetTypeTokenHashCode(token);
                    }
                    break;
                case OpCodeEnum.Stfld:
                case OpCodeEnum.Ldfld:
                case OpCodeEnum.Ldflda:
                    {
                        code.TokenLong = appdomain.GetStaticFieldIndex(token, declaringType, this);
                    }
                    break;

                case OpCodeEnum.Stsfld:
                case OpCodeEnum.Ldsfld:
                case OpCodeEnum.Ldsflda:
                    {
                        code.TokenLong = appdomain.GetStaticFieldIndex(token, declaringType, this);
                    }
                    break;
                case OpCodeEnum.Ldstr:
                    {
                        long hashCode = appdomain.CacheString(token);
                        code.TokenLong = hashCode;
                    }
                    break;
                case OpCodeEnum.Ldtoken:
                    {
                        if (token is FieldReference)
                        {
                            code.TokenInteger = 0;
                            code.TokenLong = appdomain.GetStaticFieldIndex(token, declaringType, this);
                        }
                        else if (token is TypeReference)
                        {
                            code.TokenInteger = 1;
                            code.TokenLong = GetTypeTokenHashCode(token);
                        }
                        else
                            throw new NotImplementedException();
                    }
                    break;
                case OpCodeEnum.Switch:
                    {
                        PrepareJumpTable(token, addr);
                        code.TokenInteger = token.GetHashCode();
                    }
                    break;
            }
        }

        int GetTypeTokenHashCode(object token)
        {
            var t = appdomain.GetType(token, declaringType, this);
            bool isGenericParameter = CheckHasGenericParamter(token);
            if (t == null && isGenericParameter)
            {
                t = FindGenericArgument(((TypeReference)token).Name);
            }
            if (t != null)
            {
                if (t is ILType)
                {
                    if (((ILType)t).TypeReference.HasGenericParameters)
                        return t.GetHashCode();
                    else
                        return ((ILType)t).TypeReference.GetHashCode();
                }
                else if (isGenericParameter)
                {
                    return t.GetHashCode();
                }
                else
                    return token.GetHashCode();
            }
            return 0;
        }

        bool CheckHasGenericParamter(object token)
        {
            if (token is TypeReference)
            {
                TypeReference _ref = ((TypeReference)token);
                if (_ref.IsGenericParameter)
                    return true;
                if (_ref.IsGenericInstance)
                {
                    GenericInstanceType gi = (GenericInstanceType)_ref;
                    foreach(var i in gi.GenericArguments)
                    {
                        if (CheckHasGenericParamter(i))
                            return true;
                    }
                    return false;
                }
                else
                    return false;
            }
            else
                return false;
        }

        void PrepareJumpTable(object token, Dictionary<Mono.Cecil.Cil.Instruction, int> addr)
        {
            int hashCode = token.GetHashCode();

            if (jumptables == null)
                jumptables = new Dictionary<int, int[]>();
            if (jumptables.ContainsKey(hashCode))
                return;
            Mono.Cecil.Cil.Instruction[] e = token as Mono.Cecil.Cil.Instruction[];
            int[] addrs = new int[e.Length];
            for (int i = 0; i < e.Length; i++)
            {
                addrs[i] = addr[e[i]];
            }

            jumptables[hashCode] = addrs;
        }

        void InitParameters()
        {
            parameters = new List<IType>();
            foreach (var i in def.Parameters)
            {
                IType type = null;
                bool isByRef = false;
                bool isArray = false;
                TypeReference pt = i.ParameterType;
                if (i.ParameterType.IsByReference)
                {
                    isByRef = true;
                    pt = pt.GetElementType();
                }
                if (i.ParameterType.IsArray)
                {
                    isArray = true;
                    pt = pt.GetElementType();
                }
                if (pt.IsGenericParameter)
                {
                    type = FindGenericArgument(pt.Name);
                    if (type == null && def.HasGenericParameters)
                    {
                        bool found = false;
                        foreach (var j in def.GenericParameters)
                        {
                            if (j.Name == pt.Name)
                            {
                                found = true;
                                break;
                            }
                        }
                        if (found)
                        {
                            type = new ILGenericParameterType(pt.Name);
                        }
                        else
                            throw new NotSupportedException("Cannot find Generic Parameter " + pt.Name + " in " + def.FullName);
                    }

                    if (isByRef)
                        type = type.MakeByRefType();
                    if (isArray)
                        type = type.MakeArrayType();
                }
                else
                    type = appdomain.GetType(i.ParameterType, declaringType, this);
                parameters.Add(type);
            }
        }

        public IMethod MakeGenericMethod(IType[] genericArguments)
        {
            KeyValuePair<string, IType>[] genericParameters = new KeyValuePair<string, IType>[genericArguments.Length];
            for (int i = 0; i < genericArguments.Length; i++)
            {
                string name = def.GenericParameters[i].Name;
                IType val = genericArguments[i];
                genericParameters[i] = new KeyValuePair<string, IType>(name, val);
            }

            ILMethod m = new ILMethod(def, declaringType, appdomain);
            m.genericParameters = genericParameters;
            m.genericArguments = genericArguments;
            if (m.def.ReturnType.IsGenericParameter)
            {
                m.ReturnType = m.FindGenericArgument(m.def.ReturnType.Name);
            }
            return m;
        }

        public override string ToString()
        {
            StringBuilder sb = new StringBuilder();
            sb.Append(declaringType.FullName);
            sb.Append('.');
            sb.Append(Name);
            sb.Append('(');
            bool isFirst = true;
            if (parameters == null)
                InitParameters();
            for (int i = 0; i < parameters.Count; i++)
            {
                if (isFirst)
                    isFirst = false;
                else
                    sb.Append(", ");
                sb.Append(parameters[i].Name);
                sb.Append(' ');
                sb.Append(def.Parameters[i].Name);
            }
            sb.Append(')');
            return sb.ToString();
        }

        public override int GetHashCode()
        {
            if (hashCode == -1)
                hashCode = System.Threading.Interlocked.Add(ref instance_id, 1);
            return hashCode;
        }
    }
}


================================================
FILE: ILRuntime/ILRuntime/CLR/Method/IMethod.cs
================================================
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

using ILRuntime.CLR.TypeSystem;
namespace ILRuntime.CLR.Method
{
    public interface IMethod
    {
        string Name { get; }
        int ParameterCount { get; }

        bool HasThis { get; }

        IType DeclearingType { get; }

        IType ReturnType { get; }
        List<IType> Parameters { get; }

        int GenericParameterCount { get; }

        bool IsGenericInstance { get; }

        bool IsConstructor { get; }

        bool IsDelegateInvoke { get; }

        bool IsStatic { get; }

        IMethod MakeGenericMethod(IType[] genericArguments);
    }
}


================================================
FILE: ILRuntime/ILRuntime/CLR/TypeSystem/CLRType.cs
================================================
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Reflection;

using Mono.Cecil;
using ILRuntime.CLR.Method;
using ILRuntime.Reflection;
using ILRuntime.Runtime.Enviorment;

namespace ILRuntime.CLR.TypeSystem
{
    public class CLRType : IType
    {
        Type clrType;
        bool isPrimitive, isValueType;
        Dictionary<string, List<CLRMethod>> methods;
        ILRuntime.Runtime.Enviorment.AppDomain appdomain;
        List<CLRMethod> constructors;
        KeyValuePair<string, IType>[] genericArguments;
        List<CLRType> genericInstances;
        Dictionary<string, int> fieldMapping;
        Dictionary<int, FieldInfo> fieldInfoCache;
        Dictionary<int, CLRFieldGetterDelegate> fieldGetterCache;
        Dictionary<int, CLRFieldSetterDelegate> fieldSetterCache;
        Dictionary<int, int> fieldIdxMapping;
        IType[] orderedFieldTypes;

        CLRMemberwiseCloneDelegate memberwiseCloneDelegate;
        CLRCreateDefaultInstanceDelegate createDefaultInstanceDelegate;
        CLRCreateArrayInstanceDelegate createArrayInstanceDelegate;
        Dictionary<int, int> fieldTokenMapping;
        IType byRefType, arrayType, elementType;
        IType[] interfaces;
        bool isDelegate;
        IType baseType;
        bool isBaseTypeInitialized = false, interfaceInitialized = false, valueTypeBinderGot = false;
        ILRuntimeWrapperType wraperType;
        ValueTypeBinder valueTypeBinder;

        int hashCode = -1;
        static int instance_id = 0x20000000;

        public Dictionary<int, FieldInfo> Fields
        {
            get
            {
                if (fieldMapping == null)
                    InitializeFields();
                return fieldInfoCache;
            }
        }

        public Dictionary<int, int> FieldIndexMapping
        {
            get { return fieldIdxMapping; }
        }

        public IType[] OrderedFieldTypes
        {
            get
            {
                if (fieldMapping == null)
                    InitializeFields();
                return orderedFieldTypes;
            }
        }

        public int TotalFieldCount
        {
            get
            {
                if (fieldMapping == null)
                    InitializeFields();
                return fieldIdxMapping.Count;
            }
        }

        public ILRuntime.Runtime.Enviorment.AppDomain AppDomain
        {
            get
            {
                return appdomain;
            }
        }

        public CLRType(Type clrType, Runtime.Enviorment.AppDomain appdomain)
        {
            this.clrType = clrType;
            this.appdomain = appdomain;
            isPrimitive = clrType.IsPrimitive;
            isValueType = clrType.IsValueType;
            isDelegate = clrType.BaseType == typeof(MulticastDelegate);
        }

        public bool IsGenericInstance
        {
            get
            {
                return genericArguments != null;
            }
        }

        public KeyValuePair<string, IType>[] GenericArguments
        {
            get
            {
                return genericArguments;
            }
        }

        public IType ElementType { get { return elementType; } }

        public bool HasGenericParameter
        {
            get
            {
                return clrType.ContainsGenericParameters;
            }
        }

        public Type TypeForCLR
        {
            get
            {
                return clrType;
            }
        }

        public Type ReflectionType
        {
            get
            {
                if (wraperType == null)
                    wraperType = new ILRuntimeWrapperType(this);
                return wraperType;
            }
        }
        public IType ByRefType
        {
            get
            {
                return byRefType;
            }
        }
        public IType ArrayType
        {
            get
            {
                return arrayType;
            }
        }

        public bool IsArray
        {
            get;private set;
        }

        public bool IsValueType
        {
            get
            {
                return isValueType;
            }
        }
        public bool IsDelegate
        {
            get
            {
                return isDelegate;
            }
        }

        public bool IsPrimitive
        {
            get
            {
                return isPrimitive;
            }
        }
        public string FullName
        {
            get
            {
                return clrType.FullName;
            }
        }
        public string Name
        {
            get
            {
                return clrType.Name;
            }
        }

        public IType BaseType
        {
            get
            {
                if (!isBaseTypeInitialized)
                    InitializeBaseType();
                return baseType;
            }
        }

        public IType[] Implements
        {
            get
            {
                if (!interfaceInitialized)
                    InitializeInterfaces();
                return interfaces;
            }
        }

        public ValueTypeBinder ValueTypeBinder
        {
            get
            {
                if (clrType.IsValueType)
                {
                    if (!valueTypeBinderGot)
                    {
                        valueTypeBinderGot = true;
                        if (appdomain.ValueTypeBinders.TryGetValue(clrType, out valueTypeBinder))
                            valueTypeBinder.CLRType = this;
                    }
                    return valueTypeBinder;
                }
                else
                    return null;
            }
        }

        public object PerformMemberwiseClone(object target)
        {
            if (memberwiseCloneDelegate == null)
            {
                if (!AppDomain.MemberwiseCloneMap.TryGetValue(this.clrType, out memberwiseCloneDelegate))
                {
                    var memberwiseClone = clrType.GetMethod("MemberwiseClone", System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.NonPublic);

                    if (memberwiseClone != null)
                    {
                        memberwiseCloneDelegate = (ref object t) => memberwiseClone.Invoke(t, null);
                    }
                    else
                    {
                        throw new InvalidOperationException("Memberwise clone method not found for " + clrType.FullName);
                    }
                }
            }

            return memberwiseCloneDelegate(ref target);
        }

        void InitializeBaseType()
        {
            baseType = appdomain.GetType(clrType.BaseType);
            if (baseType.TypeForCLR == typeof(Enum) || baseType.TypeForCLR == typeof(object) || baseType.TypeForCLR == typeof(ValueType) || baseType.TypeForCLR == typeof(System.Enum))
            {//都是这样,无所谓
                baseType = null;
            }
            isBaseTypeInitialized = true;
        }

        void InitializeInterfaces()
        {
            interfaceInitialized = true;
            var arr = clrType.GetInterfaces();
            if (arr.Length >0)
            {
                interfaces = new IType[arr.Length];
                for (int i = 0; i < interfaces.Length; i++)
                {
                    interfaces[i] = appdomain.GetType(arr[i]);
                }
            }
        }

        public object GetFieldValue(int hash, object target)
        {
            if (fieldMapping == null)
                InitializeFields();

            var getter = GetFieldGetter(hash);
            if (getter != null)
            {
                return getter(ref target);
            }

            var fieldinfo = GetField(hash);
            if (fieldinfo != null)
            {
                return fieldinfo.GetValue(target);
            }

            return null;
        }

        public void SetStaticFieldValue(int hash, object value)
        {
            if (fieldMapping == null)
                InitializeFields();

            var setter = GetFieldSetter(hash);
            object target = null;
            if (setter != null)
            {
                setter(ref target, value);
                return;
            }

            var fieldInfo = GetField(hash);
            if (fieldInfo != null)
            {
                fieldInfo.SetValue(null, value);
            }
        }

        public unsafe void SetFieldValue(int hash, ref object target, object value)
        {
            if (fieldMapping == null)
                InitializeFields();

            var setter = GetFieldSetter(hash);
            if (setter != null)
            {
                setter(ref target, value);
                return;
            }

            var fieldInfo = GetField(hash);
            if (fieldInfo != null)
            {
                fieldInfo.SetValue(target, value);
            }
        }

        private CLRFieldGetterDelegate GetFieldGetter(int hash)
        {
            var dic = fieldGetterCache;
            CLRFieldGetterDelegate res;
            if (dic != null && dic.TryGetValue(hash, out res))
                return res;
            else if (BaseType != null)
                return ((CLRType)BaseType).GetFieldGetter(hash);
            else
                return null;
        }

        private CLRFieldSetterDelegate GetFieldSetter(int hash)
        {
            var dic = fieldSetterCache;
            CLRFieldSetterDelegate res;
            if (dic != null && dic.TryGetValue(hash, out res))
                return res;
            else if (BaseType != null)
                return ((CLRType)BaseType).GetFieldSetter(hash);
            else
                return null;
        }

        public FieldInfo GetField(int hash)
        {
            var dic = Fields;
            FieldInfo res;
            if (dic.TryGetValue(hash, out res))
                return res;
            else if (BaseType != null)
                return ((CLRType)BaseType).GetField(hash);
            else
                return null;
        }

        void InitializeMethods()
        {
            methods = new Dictionary<string, List<CLRMethod>>();
            constructors = new List<CLRMethod>();
            foreach (var i in clrType.GetMethods(BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.Static))
            {
                if (i.IsPrivate)
                    continue;
                List<CLRMethod> lst;
                if (!methods.TryGetValue(i.Name, out lst))
                {
                    lst = new List<CLRMethod>();
                    methods[i.Name] = lst;
                }
                lst.Add(new CLRMethod(i, this, appdomain));
            }
            foreach (var i in clrType.GetConstructors())
            {
                constructors.Add(new CLRMethod(i, this, appdomain));
            }
        }
        public List<IMethod> GetMethods()
        {
            if (methods == null)
                InitializeMethods();
            List<IMethod> res = new List<IMethod>();
            foreach (var i in methods)
            {
                foreach (var j in i.Value)
                    res.Add(j);
            }

            return res;
        }

        public IMethod GetVirtualMethod(IMethod method)
        {
            var m = GetMethod(method.Name, method.Parameters, null, method.ReturnType);
            if (m == null)
            {
                return method;
            }
            else
                return m;
        }

        void InitializeFields()
        {
            fieldMapping = new Dictionary<string, int>();
            fieldInfoCache = new Dictionary<int, FieldInfo>();

            var fields = clrType.GetFields(BindingFlags.Public | BindingFlags.Instance | BindingFlags.NonPublic | BindingFlags.Static);
            int idx = 0;
            bool hasValueTypeBinder = ValueTypeBinder != null;
            if (hasValueTypeBinder)
            {
                fieldIdxMapping = new Dictionary<int, int>();
                orderedFieldTypes = new IType[fields.Length];
            }
            foreach (var i in fields)
            {
                int hashCode = i.GetHashCode();

                if (i.IsPublic || i.IsFamily || hasValueTypeBinder)
                {
                    fieldMapping[i.Name] = hashCode;
                    fieldInfoCache[hashCode] = i;
                }
                if (hasValueTypeBinder && !i.IsStatic)
                {
                    orderedFieldTypes[idx] = appdomain.GetType(i.FieldType);
                    fieldIdxMapping[hashCode] = idx++;
                }

                CLRFieldGetterDelegate getter;
                if (AppDomain.FieldGetterMap.TryGetValue(i, out getter))
                {
                    if (fieldGetterCache == null) fieldGetterCache = new Dictionary<int, CLRFieldGetterDelegate>();
                    fieldGetterCache[hashCode] = getter;
                }

                CLRFieldSetterDelegate setter;
                if (AppDomain.FieldSetterMap.TryGetValue(i, out setter))
                {
                    if (fieldSetterCache == null) fieldSetterCache = new Dictionary<int, CLRFieldSetterDelegate>();
                    fieldSetterCache[hashCode] = setter;
                }
            }
        }
        public int GetFieldIndex(object token)
        {
            if (fieldMapping == null)
                InitializeFields();
            int idx;
            int hashCode = token.GetHashCode();
            if (fieldTokenMapping == null)
                fieldTokenMapping = new Dictionary<int, int>();
            if (fieldTokenMapping.TryGetValue(hashCode, out idx))
                return idx;
            FieldReference f = token as FieldReference;
            if (fieldMapping.TryGetValue(f.Name, out idx))
            {
                fieldTokenMapping[hashCode] = idx;
                return idx;
            }

            return -1;
        }
        public IType FindGenericArgument(string key)
        {
            if (genericArguments != null)
            {
                foreach (var i in genericArguments)
                {
                    if (i.Key == key)
                        return i.Value;
                }
            }
            return null;
        }
        public IMethod GetMethod(string name, int paramCount, bool declaredOnly = false)
        {
            if (methods == null)
                InitializeMethods();
            List<CLRMethod> lst;
            if (methods.TryGetValue(name, out lst))
            {
                foreach (var i in lst)
                {
                    if (i.ParameterCount == paramCount)
                        return i;
                }
            }
            return null;
        }

        public IMethod GetMethod(string name, List<IType> param, IType[] genericArguments, IType returnType = null, bool declaredOnly = false)
        {
            if (methods == null)
                InitializeMethods();
            List<CLRMethod> lst;
            IMethod genericMethod = null;
            if (methods.TryGetValue(name, out lst))
            {
                foreach (var i in lst)
                {
                    if (i.ParameterCount == param.Count)
                    {
                        bool match = true;
                        if (genericArguments != null && i.GenericParameterCount == genericArguments.Length)
                        {
                            for (int j = 0; j < param.Count; j++)
                            {
                                var p = i.Parameters[j].TypeForCLR;
                                var q = param[j].TypeForCLR;

                                if (i.Parameters[j].HasGenericParameter)
                                {
                                    //TODO should match the generic parameters;
                                    continue;
                                }
                                if (q != p)
                                {
                                    match = false;
                                    break;
                                }
                            }
                            if (match && genericMethod == null)
                            {
                                genericMethod = i;
                            }
                        }
                        else
                        {
                            if (genericArguments == null)
                                match = i.GenericArguments == null;
                            else
                            {
                                if (i.GenericArguments == null)
                                    match = false;
                                else
                                    match = i.GenericArguments.Length == genericArguments.Length;
                            }
                            for (int j = 0; j < param.Count; j++)
                            {
                                var typeA = param[j].TypeForCLR.IsByRef ? param[j].TypeForCLR.GetElementType() : param[j].TypeForCLR;
                                var typeB = i.Parameters[j].TypeForCLR.IsByRef ? i.Parameters[j].TypeForCLR.GetElementType() : i.Parameters[j].TypeForCLR;

                                if (typeA != typeB)
                                {
                                    match = false;
                                    break;
                                }
                            }
                            if (match)
                            {
                                match = returnType == null || i.ReturnType.TypeForCLR == returnType.TypeForCLR;
                            }
                            if (match)
                            {

                                if (i.IsGenericInstance)
                                {
                                    if (i.GenericArguments.Length == genericArguments.Length)
                                    {
                                        for (int j = 0; j < genericArguments.Length; j++)
                                        {
                                            if (i.GenericArguments[j] != genericArguments[j])
                                            {
                                                match = false;
                                                break;
                                            }
                                        }
                                        if (match)
                                            return i;
                                    }
                                }
                                else
                                    return i;
                            }
                        }
                    }
                }
            }
            if (genericArguments != null && genericMethod != null)
            {
                var m = genericMethod.MakeGenericMethod(genericArguments);
                lst.Add((CLRMethod)m);
                return m;
            }
            return null;
        }
        public bool CanAssignTo(IType type)
        {
            if (this == type)
            {
                return true;
            }
            else
                return false;
        }

        public IMethod GetConstructor(List<IType> param)
        {
            if (constructors == null)
                InitializeMethods();
            foreach (var i in constructors)
            {
                if (i.ParameterCount == param.Count)
                {
                    bool match = true;

                    for (int j = 0; j < param.Count; j++)
                    {
                        if (param[j].TypeForCLR != i.Parameters[j].TypeForCLR)
                        {
                            match = false;
                            break;
                        }
                    }
                    if (match)
                    {
                        return i;
                    }
                }
            }

            return null;
        }

        public IType MakeGenericInstance(KeyValuePair<string, IType>[] genericArguments)
        {
            if (genericInstances == null)
                genericInstances = new List<CLRType>();
            foreach (var i in genericInstances)
            {
                bool match = true;
                for (int j = 0; j < genericArguments.Length; j++)
                {
                    if (i.genericArguments[j].Value != genericArguments[j].Value)
                    {
                        match = false;
                        break;
                    }
                }
                if (match)
                    return i;
            }
            Type[] args = new Type[genericArguments.Length];
            for (int i = 0; i < genericArguments.Length; i++)
            {
                args[i] = genericArguments[i].Value.TypeForCLR;
            }
            Type newType = clrType.MakeGenericType(args);
            var res = new CLRType(newType, appdomain);
            res.genericArguments = genericArguments;

            genericInstances.Add(res);
            return res;
        }

        public object CreateDefaultInstance()
        {
            if (createDefaultInstanceDelegate == null)
            {
                if (!AppDomain.CreateDefaultInstanceMap.TryGetValue(clrType, out createDefaultInstanceDelegate))
                {
                    createDefaultInstanceDelegate = () => Activator.CreateInstance(TypeForCLR);
                }
            }

            return createDefaultInstanceDelegate();
        }

        public object CreateArrayInstance(int size)
        {
            if (createArrayInstanceDelegate == null)
            {
                if (!AppDomain.CreateArrayInstanceMap.TryGetValue(clrType, out createArrayInstanceDelegate))
                {
                    createArrayInstanceDelegate = s => Array.CreateInstance(TypeForCLR, s);
                }
            }

            return createArrayInstanceDelegate(size);
        }

        public IType MakeByRefType()
        {
            if (byRefType == null)
            {
                Type t = clrType.MakeByRefType();
                byRefType = new CLRType(t, appdomain);
            }
            return byRefType;
        }
        public IType MakeArrayType()
        {
            if (arrayType == null)
            {
                Type t = clrType.MakeArrayType();
                arrayType = new CLRType(t, appdomain);
                ((CLRType)arrayType).elementType = this;
                ((CLRType)arrayType).IsArray = true;
            }
            return arrayType;
        }

        public IType ResolveGenericType(IType contextType)
        {
            throw new NotImplementedException();
        }

        public override int GetHashCode()
        {
            if (hashCode == -1)
                hashCode = System.Threading.Interlocked.Add(ref instance_id, 1);
            return hashCode;
        }

        public override string ToString()
        {
            return clrType.ToString();
        }
    }
}


================================================
FILE: ILRuntime/ILRuntime/CLR/TypeSystem/ILGenericParameterType.cs
================================================
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ILRuntime.CLR.TypeSystem
{
    class ILGenericParameterType : IType
    {
        string name;
        ILGenericParameterType arrayType;
        public ILGenericParameterType(string name)
        {
            this.name = name;
        }
        public bool IsGenericInstance
        {
            get { return false; }
        }

        public KeyValuePair<string, IType>[] GenericArguments
        {
            get { return null; }
        }
        public bool HasGenericParameter
        {
            get
            {
                return true;
            }
        }

        public Type TypeForCLR
        {
            get { return typeof(ILGenericParameterType); }
        }

        public string FullName
        {
            get { return name; }
        }

        public Runtime.Enviorment.AppDomain AppDomain
        {
            get { return null; }
        }

        public Method.IMethod GetMethod(string name, int paramCount, bool declaredOnly = false)
        {
            return null;
        }

        public Method.IMethod GetMethod(string name, List<IType> param, IType[] genericArguments, IType returnType = null, bool declaredOnly = false)
        {
            return null;
        }

        public List<Method.IMethod> GetMethods()
        {
            return null;
        }

        public Method.IMethod GetConstructor(List<IType> param)
        {
            return null;
        }

        public bool CanAssignTo(IType type)
        {
            return false;
        }

        public IType MakeGenericInstance(KeyValuePair<string, IType>[] genericArguments)
        {
            return null;
        }

        public IType ResolveGenericType(IType contextType)
        {
            throw new NotImplementedException();
        }


        public int GetFieldIndex(object token)
        {
            return -1;
        }


        public IType FindGenericArgument(string key)
        {
            return null;
        }


        public IType ByRefType
        {
            get { throw new NotImplementedException(); }
        }

        public IType MakeByRefType()
        {
            return this;
        }


        public IType ArrayType
        {
            get { return arrayType; }
        }

        public IType MakeArrayType()
        {
            if (arrayType == null)
                arrayType = new ILGenericParameterType(name + "[]");
            return arrayType;
        }


        public bool IsValueType
        {
            get { throw new NotImplementedException(); }
        }

        public bool IsPrimitive
        {
            get { return false; }
        }

        public string Name
        {
            get
            {
                return name;
            }
        }

        public bool IsDelegate
        {
            get
            {
                return false;
            }
        }

        public Type ReflectionType
        {
            get
            {
                throw new NotImplementedException();
            }
        }

        public IType BaseType
        {
            get
            {
                return null;
            }
        }

        public Method.IMethod GetVirtualMethod(Method.IMethod method)
        {
            return method;
        }

        public bool IsArray
        {
            get { return false; }
        }

        public IType[] Implements
        {
            get
            {
                return null;
            }
        }
    }
}


================================================
FILE: ILRuntime/ILRuntime/CLR/TypeSystem/ILType.cs
================================================
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

using Mono.Cecil;
using ILRuntime.Runtime.Enviorment;
using ILRuntime.CLR.Method;
using ILRuntime.Runtime.Intepreter;
using ILRuntime.Reflection;

namespace ILRuntime.CLR.TypeSystem
{
    public class ILType : IType
    {
        Dictionary<string, List<ILMethod>> methods;
        TypeReference typeRef;
        TypeDefinition definition;
        ILRuntime.Runtime.Enviorment.AppDomain appdomain;
        ILMethod staticConstructor;
        List<ILMethod> constructors;
        IType[] fieldTypes;
        FieldDefinition[] fieldDefinitions;
        IType[] staticFieldTypes;
        FieldDefinition[] staticFieldDefinitions;
        Dictionary<string, int> fieldMapping;
        Dictionary<string, int> staticFieldMapping;
        ILTypeStaticInstance staticInstance;
        Dictionary<int, int> fieldTokenMapping = new Dictionary<int, int>();
        int fieldStartIdx = -1;
        int totalFieldCnt = -1;
        KeyValuePair<string, IType>[] genericArguments;
        IType baseType, byRefType, arrayType, enumType, elementType;
        Type arrayCLRType, byRefCLRType;
        IType[] interfaces;
        bool baseTypeInitialized = false;
        bool interfaceInitialized = false;
        List<ILType> genericInstances;
        bool isDelegate;
        ILRuntimeType reflectionType;
        IType firstCLRBaseType, firstCLRInterface;
        int hashCode = -1;
        static int instance_id = 0x10000000;
        public TypeDefinition TypeDefinition { get { return definition; } }

        public TypeReference TypeReference
        {
            get { return typeRef; }
            set
            {
                typeRef = value;
                RetriveDefinitino(value);
            }
        }

        public IType BaseType
        {
            get
            {
                if (!baseTypeInitialized)
                    InitializeBaseType();
                return baseType;
            }
        }

        public IType[] Implements
        {
            get
            {
                if (!interfaceInitialized)
                    InitializeInterfaces();
                return interfaces;
            }
        }

        public ILTypeStaticInstance StaticInstance
        {
            get
            {
                if (fieldMapping == null)
                    InitializeFields();
                if (methods == null)
                    InitializeMethods();
                return staticInstance;
            }
        }

        public IType[] FieldTypes
        {
            get
            {
                if (fieldMapping == null)
                    InitializeFields();
                return fieldTypes;
            }
        }

        public IType[] StaticFieldTypes
        {
            get
            {
                if (fieldMapping == null)
                    InitializeFields();
                return staticFieldTypes;
            }
        }

        public FieldDefinition[] StaticFieldDefinitions
        {
            get
            {
                if (fieldMapping == null)
                    InitializeFields();
                return staticFieldDefinitions;
            }
        }

        public Dictionary<string, int> FieldMapping
        {
            get
            {
                if (fieldMapping == null)
                    InitializeFields(); return fieldMapping;
            }
        }

        public IType FirstCLRBaseType
        {
            get
            {
                if (!baseTypeInitialized)
                    InitializeBaseType();
                return firstCLRBaseType;
            }
        }

        public IType FirstCLRInterface
        {
            get
            {
                if (!interfaceInitialized)
                    InitializeInterfaces();
                return firstCLRInterface;
            }
        }
        public bool HasGenericParameter
        {
            get
            {
                return definition.HasGenericParameters && genericArguments == null;
            }
        }

        public Dictionary<string, int> StaticFieldMapping { get { return staticFieldMapping; } }
        public ILRuntime.Runtime.Enviorment.AppDomain AppDomain
        {
            get
            {
                return appdomain;
            }
        }

        internal int FieldStartIndex
        {
            get
            {
                if (fieldStartIdx < 0)
                {
                    if (BaseType != null)
                    {
                        if (BaseType is ILType)
                        {
                            fieldStartIdx = ((ILType)BaseType).TotalFieldCount;
                        }
                        else
                            fieldStartIdx = 0;
                    }
                    else
                        fieldStartIdx = 0;
                }
                return fieldStartIdx;
            }
        }

        public int TotalFieldCount
        {
            get
            {
                if (totalFieldCnt < 0)
                {
                    if (fieldMapping == null)
                        InitializeFields();
                    if (BaseType != null)
                    {
                        if (BaseType is ILType)
                        {
                            totalFieldCnt = ((ILType)BaseType).TotalFieldCount + fieldTypes.Length;
                        }
                        else
                            totalFieldCnt = fieldTypes.Length;
                    }
                    else
                        totalFieldCnt = fieldTypes.Length;
                }
                return totalFieldCnt;
            }
        }

        /// <summary>
        /// 初始化IL类型
        /// </summary>
        /// <param name="def">MONO返回的类型定义</param>
        /// <param name="domain">ILdomain</param>
        public ILType(TypeReference def, Runtime.Enviorment.AppDomain domain)
        {
            this.typeRef = def;
            RetriveDefinitino(def);
            appdomain = domain;
        }

        /// <summary>
        /// 加载类型
        /// </summary>
        /// <param name="def"></param>
        void RetriveDefinitino(TypeReference def)
        {
            if (!def.IsGenericParameter)
            {
                if (def is TypeSpecification)
                    RetriveDefinitino(def.GetElementType());
                else
                    definition = def as TypeDefinition;
            }
        }

        public bool IsGenericInstance
        {
            get
            {
                return genericArguments != null;
            }
        }
        public KeyValuePair<string, IType>[] GenericArguments
        {
            get
            {
                return genericArguments;
            }
        }

        public IType ElementType { get { return elementType; } }

        public bool IsArray
        {
            get; private set;
        }

        private bool? isValueType;

        public bool IsValueType
        {
            get
            {
                if (isValueType == null)
                    isValueType = definition.IsValueType;

                return isValueType.Value;
            }
        }

        public bool IsDelegate
        {
            get
            {
                if (!baseTypeInitialized)
                    InitializeBaseType();
                return isDelegate;
            }
        }

        public bool IsPrimitive
        {
            get { return false; }
        }

        public Type TypeForCLR
        {
            get
            {
                if (!baseTypeInitialized)
                    InitializeBaseType();
                if (typeRef is ArrayType)
                {
                    return arrayCLRType;
                }
                else if (typeRef is ByReferenceType)
                {
                    return byRefCLRType;
                }
                else if (definition.IsEnum)
                {
                    if (enumType == null)
                        InitializeFields();
                    return enumType.TypeForCLR;
                }
                else if (FirstCLRBaseType != null && FirstCLRBaseType is CrossBindingAdaptor)
                {
                    return ((CrossBindingAdaptor)FirstCLRBaseType).RuntimeType.TypeForCLR;
                }
                else if (FirstCLRInterface != null && FirstCLRInterface is CrossBindingAdaptor)
                {
                    return ((CrossBindingAdaptor)FirstCLRInterface).RuntimeType.TypeForCLR;
                }
                else
                    return typeof(ILTypeInstance);
            }
        }

        public Type ReflectionType
        {
            get
            {
                if (reflectionType == null)
                    reflectionType = new ILRuntimeType(this);
                return reflectionType;
            }
        }

        public IType ByRefType
        {
            get
            {
                return byRefType;
            }
        }
        public IType ArrayType
        {
            get
            {
                return arrayType;
            }
        }

        public bool IsEnum
        {
            get
            {
                return definition.IsEnum;
            }
        }
        public string FullName
        {
            get
            {
                return typeRef.FullName;
            }
        }
        public string Name
        {
            get
            {
                return typeRef.Name;
            }
        }
        public List<IMethod> GetMethods()
        {
            if (methods == null)
                InitializeMethods();
            List<IMethod> res = new List<IMethod>();
            foreach (var i in methods)
            {
                foreach (var j in i.Value)
                    res.Add(j);
            }

            return res;
        }
        void InitializeInterfaces()
        {
            interfaceInitialized = true;
            if (definition.HasInterfaces)
            {
                interfaces = new IType[definition.Interfaces.Count];
                for (int i = 0; i < interfaces.Length; i++)
                {
                    interfaces[i] = appdomain.GetType(definition.Interfaces[i], this, null);
                    //only one clrInterface is valid
                    if (interfaces[i] is CLRType && firstCLRInterface == null)
                    {
                        CrossBindingAdaptor adaptor;
                        if (appdomain.CrossBindingAdaptors.TryGetValue(interfaces[i].TypeForCLR, out adaptor))
                        {
                            interfaces[i] = adaptor;
                            firstCLRInterface = adaptor;
                        }
                        else
                            throw new TypeLoadException("Cannot find Adaptor for:" + interfaces[i].TypeForCLR.ToString());
                    }
                }
            }
        }
        void InitializeBaseType()
        {
            if (definition.BaseType != null)
            {
                bool specialProcess = false;
                List<int> spIdx = null;
                if (definition.BaseType.IsGenericInstance)
                {
                    GenericInstanceType git = definition.BaseType as GenericInstanceType;
                    var elementType = appdomain.GetType(definition.BaseType.GetElementType(), this, null);
                    if (elementType is CLRType)
                    {
                        for (int i = 0; i < git.GenericArguments.Count; i++)
                        {
                            var ga = git.GenericArguments[i];
                            if (ga == typeRef)
                            {
                                specialProcess = true;
                                if (spIdx == null)
                                    spIdx = new List<int>();
                                spIdx.Add(i);
                            }
                        }
                    }
                }
                if (specialProcess)
                {
                    //如果泛型参数是自身,则必须要特殊处理,否则会StackOverflow
                    var elementType = appdomain.GetType(definition.BaseType.GetElementType(), this, null);
                    foreach (var i in appdomain.CrossBindingAdaptors)
                    {
                        if (i.Key.IsGenericType && !i.Key.IsGenericTypeDefinition)
                        {
                            var gd = i.Key.GetGenericTypeDefinition();
                            if (gd == elementType.TypeForCLR)
                            {
                                var ga = i.Key.GetGenericArguments();
                                bool match = true;
                                foreach (var j in spIdx)
                                {
                                    if (ga[j] != i.Value.AdaptorType)
                                    {
                                        match = false;
                                        break;
                                    }
                                }
                                if (match)
                                {
                                    baseType = i.Value;
                                    break;
                                }
                            }
                        }
                    }
                    if (baseType == null)
                    {
                        throw new TypeLoadException("Cannot find Adaptor for:" + definition.BaseType.FullName);
                    }
                }
                else
                {
                    baseType = appdomain.GetType(definition.BaseType, this, null);
                    if (baseType is CLRType)
                    {
                        if (baseType.TypeForCLR == typeof(Enum) || baseType.TypeForCLR == typeof(object) || baseType.TypeForCLR == typeof(ValueType) || baseType.TypeForCLR == typeof(System.Enum))
                        {//都是这样,无所谓
                            baseType = null;
                        }
                        else if (baseType.TypeForCLR == typeof(MulticastDelegate))
                        {
                            baseType = null;
                            isDelegate = true;
                        }
                        else
                        {
                            CrossBindingAdaptor adaptor;
                            if (appdomain.CrossBindingAdaptors.TryGetValue(baseType.TypeForCLR, out adaptor))
                            {
                                baseType = adaptor;
                            }
                            else
                                throw new TypeLoadException("Cannot find Adaptor for:" + baseType.TypeForCLR.ToString());
                            //继承了其他系统类型
                            //env.logger.Log_Error("ScriptType:" + Name + " Based On a SystemType:" + BaseType.Name);
                            //HasSysBase = true;
                            //throw new Exception("不得继承系统类型,脚本类型系统和脚本类型系统是隔离的");
                        }
                    }
                }
            }
            var curBase = baseType;
            while (curBase is ILType)
            {
                curBase = curBase.BaseType;
            }
            firstCLRBaseType = curBase;
            baseTypeInitialized = true;
        }

        public IMethod GetMethod(string name)
        {
            if (methods == null)
                InitializeMethods();
            List<ILMethod> lst;
            if (methods.TryGetValue(name, out lst))
            {
                return lst[0];
            }
            return null;
        }

        public IMethod GetMethod(string name, int paramCount, bool declaredOnly = false)
        {
            if (methods == null)
                InitializeMethods();
            List<ILMethod> lst;
            if (methods.TryGetValue(name, out lst))
            {
                foreach (var i in lst)
                {
                    if (i.ParameterCount == paramCount)
                        return i;
                }
            }
            if (declaredOnly)
                return null;
            else
            {
                //skip clr base type, this doesn't make any sense
                if (BaseType != null && !(BaseType is CrossBindingAdaptor))
                    return BaseType.GetMethod(name, paramCount, false);
                else
                    return null;
            }
        }

        void InitializeMethods()
        {
            methods = new Dictionary<string, List<ILMethod>>();
            constructors = new List<ILMethod>();
            foreach (var i in definition.Methods)
            {
                if (i.IsConstructor)
                {
                    if (i.IsStatic)
                        staticConstructor = new ILMethod(i, this, appdomain);
                    else
                        constructors.Add(new ILMethod(i, this, appdomain));
                }
                else
                {
                    List<ILMethod> lst;
                    if (!methods.TryGetValue(i.Name, out lst))
                    {
                        lst = new List<ILMethod>();
                        methods[i.Name] = lst;
                    }
                    var m = new ILMethod(i, this, appdomain);
                    lst.Add(new ILMethod(i, this, appdomain));
                }
            }

            if (staticConstructor != null && (!TypeReference.HasGenericParameters || IsGenericInstance))
            {
                appdomain.Invoke(staticConstructor, null, null);
            }
        }

        public IMethod GetVirtualMethod(IMethod method)
        {
            IType[] genericArguments = null;
            if (method.IsGenericInstance)
            {
                if (method is ILMethod)
                {
                    genericArguments = ((ILMethod)method).GenericArugmentsArray;
                }
                else
                {
                    genericArguments = ((CLRMethod)method).GenericArguments;
                }
            }

            var m = GetMethod(method.Name, method.Parameters, genericArguments, method.ReturnType, true);
            if (m == null)
            {
                if (BaseType != null)
                {
                    return BaseType.GetVirtualMethod(method);
                }
                else
                    return null;//BaseType == null means base type is Object or Enum
            }
            else if (m.IsGenericInstance == method.IsGenericInstance)
                return m;
            else
                return method;
        }

        public IMethod GetMethod(string name, List<IType> param, IType[] genericArguments, IType returnType = null, bool declaredOnly = false)
        {
            if (methods == null)
                InitializeMethods();
            List<ILMethod> lst;
            IMethod genericMethod = null;
            if (methods.TryGetValue(name, out lst))
            {
                for (var idx = 0; idx < lst.Count; idx++)
                {
                    var i = lst[idx];
                    int pCnt = param != null ? param.Count : 0;
                    if (i.ParameterCount == pCnt)
                    {
                        bool match = true;
                        if (genericArguments != null && i.GenericParameterCount == genericArguments.Length)
                        {
                            genericMethod = CheckGenericParams(i, param, ref match);
                        }
                        else
                        {
                            match = CheckGenericArguments(i, genericArguments);
                            if (!match)
                                continue;
                            for (int j = 0; j < pCnt; j++)
                            {
                                if (param[j] != i.Parameters[j])
                                {
                                    match = false;
                                    break;
                                }
                            }
                            if (match)
                            {
                                match = returnType == null || i.ReturnType == returnType;
                            }
                            if (match)
                                return i;
                        }
                    }
                }
            }
            if (genericArguments != null && genericMethod != null)
            {
                var m = genericMethod.MakeGenericMethod(genericArguments);
                lst.Add((ILMethod)m);
                return m;
            }
            if (declaredOnly)
                return null;
            else
            {
                if (BaseType != null)
                    return BaseType.GetMethod(name, param, genericArguments, returnType, false);
                else
                    return null;
            }
        }

        bool CheckGenericArguments(ILMethod i, IType[] genericArguments)
        {
            if (genericArguments == null)
            {
                return i.GenericArguments == null;
            }
            else
            {
                if (i.GenericArguments == null)
                    return false;
                else if (i.GenericArguments.Length != genericArguments.Length)
                    return false;
                if (i.GenericArguments.Length == genericArguments.Length)
                {
                    for (int j = 0; j < genericArguments.Length; j++)
                    {
                        if (i.GenericArguments[j].Value != genericArguments[j])
                            return false;
                    }
                    return true;
                }
                else
                    return false;
            }
        }

        ILMethod CheckGenericParams(ILMethod i, List<IType> param, ref bool match)
        {
            ILMethod genericMethod = null;
            if (param != null)
            {
                for (int j = 0; j < param.Count; j++)
                {
                    var p = i.Parameters[j];
                    if (p.HasGenericParameter)
                    {
                        //TODO should match the generic parameters;
                        continue;
                    }

                    if (param[j] != p)
                    {
                        match = false;
                        break;
                    }
                }
            }
            if (match)
            {
                genericMethod = i;
            }
            return genericMethod;
        }

        public List<ILMethod> GetConstructors()
        {
            if (constructors == null)
                InitializeMethods();
            return constructors;
        }

        public IMethod GetStaticConstroctor()
        {
            if (constructors == null)
                InitializeMethods();
            return staticConstructor;
        }

        public IMethod GetConstructor(int paramCnt)
        {
            if (constructors == null)
                InitializeMethods();
            foreach (var i in constructors)
            {
                if (i.ParameterCount == paramCnt)
                {
                    return i;
                }
            }
            return null;
        }

        public IMethod GetConstructor(List<IType> param)
        {
            if (constructors == null)
                InitializeMethods();
            foreach (var i in constructors)
            {
                if (i.ParameterCount == param.Count)
                {
                    bool match = true;

                    for (int j = 0; j < param.Count; j++)
                    {
                        if (param[j] != i.Parameters[j])
                        {
                            match = false;
                            break;
                        }
                    }

                    if (match)
                        return i;
                }
            }
            return null;
        }

        public int GetFieldIndex(object token)
        {
            if (fieldMapping == null)
                InitializeFields();
            int idx;
            int hashCode = token.GetHashCode();
            if (fieldTokenMapping.TryGetValue(hashCode, out idx))
                return idx;
            FieldReference f = token as FieldReference;
            if (staticFieldMapping != null && staticFieldMapping.TryGetValue(f.Name, out idx))
            {
                fieldTokenMapping[hashCode] = idx;
                return idx;
            }
            if (fieldMapping.TryGetValue(f.Name, out idx))
            {
                fieldTokenMapping[hashCode] = idx;
                return idx;
            }

            return -1;
        }

        public IType GetField(string name, out int fieldIdx)
        {
            if (fieldMapping == null)
                InitializeFields();
            if (fieldMapping.TryGetValue(name, out fieldIdx))
            {
                return fieldTypes[fieldIdx - FieldStartIndex];
            }
            else if (BaseType != null && BaseType is ILType)
            {
                return ((ILType)BaseType).GetField(name, out fieldIdx);
            }
            else
                return null;
        }

        public IType GetField(int fieldIdx, out FieldDefinition fd)
        {
            if (fieldMapping == null)
                InitializeFields();
            if (fieldIdx < FieldStartIndex)
                return ((ILType)BaseType).GetField(fieldIdx, out fd);
            else
            {
                fd = fieldDefinitions[fieldIdx - FieldStartIndex];
                return fieldTypes[fieldIdx - FieldStartIndex];
            }
        }

        void InitializeFields()
        {
            fieldMapping = new Dictionary<string, int>();
            fieldTypes = new IType[definition.Fields.Count];
            fieldDefinitions = new FieldDefinition[definition.Fields.Count];
            var fields = definition.Fields;
            int idx = FieldStartIndex;
            int idxStatic = 0;
            for (int i = 0; i < fields.Count; i++)
            {
                var field = fields[i];
                if (field.IsStatic)
                {
                    //It makes no sence to initialize
                    if (!TypeReference.HasGenericParameters || IsGenericInstance)
                    {
                        if (staticFieldTypes == null)
                        {
                            staticFieldTypes = new IType[definition.Fields.Count];
                            staticFieldDefinitions = new FieldDefinition[definition.Fields.Count];
                            staticFieldMapping = new Dictionary<string, int>();
                        }
                        staticFieldMapping[field.Name] = idxStatic;
                        staticFieldDefinitions[idxStatic] = field;
                        if (field.FieldType.IsGenericParameter)
                        {
                            staticFieldTypes[idxStatic] = FindGenericArgument(field.FieldType.Name);
                        }
                        else
                            staticFieldTypes[idxStatic] = appdomain.GetType(field.FieldType, this, null);
                        idxStatic++;
                    }
                }
                else
                {
                    fieldMapping[field.Name] = idx;
                    fieldDefinitions[idx - FieldStartIndex] = field;
                    if (field.FieldType.IsGenericParameter)
                    {
                        fieldTypes[idx - FieldStartIndex] = FindGenericArgument(field.FieldType.Name);
                    }
                    else
                        fieldTypes[idx - FieldStartIndex] = appdomain.GetType(field.FieldType, this, null);
                    if (IsEnum)
                    {
                        enumType = fieldTypes[idx - FieldStartIndex];
                    }
                    idx++;
                }
            }
            Array.Resize(ref fieldTypes, idx - FieldStartIndex);
            Array.Resize(ref fieldDefinitions, idx - FieldStartIndex);

            if (staticFieldTypes != null)
            {
                Array.Resize(ref staticFieldTypes, idxStatic);
                Array.Resize(ref staticFieldDefinitions, idxStatic);
                staticInstance = new ILTypeStaticInstance(this);
            }
        }

        public IType FindGenericArgument(string key)
        {
            if (genericArguments != null)
            {
                foreach (var i in genericArguments)
                {
                    if (i.Key == key)
                        return i.Value;
                }
            }
            return null;
        }

        public bool CanAssignTo(IType type)
        {
            bool res = false;
            if (this == type)
            {
                return true;
            }

            if (BaseType != null)
            {
                res = BaseType.CanAssignTo(type);

                if (res) return true;
            }

            if (Implements != null)
            {
                for (int i = 0; i < interfaces.Length; i++)
                {
                    var im = interfaces[i];
                    res = im.CanAssignTo(type);
                    if (res)
                        return true;
                }
            }
            return res;
        }

        public ILTypeInstance Instantiate(bool callDefaultConstructor = true)
        {
            var res = new ILTypeInstance(this);
            if (callDefaultConstructor)
            {
                var m = GetConstructor(CLR.Utils.Extensions.EmptyParamList);
                if (m != null)
                {
                    appdomain.Invoke(m, res, null);
                }
            }
            return res;
        }
        public IType MakeGenericInstance(KeyValuePair<string, IType>[] genericArguments)
        {
            if (genericInstances == null)
                genericInstances = new List<ILType>();
            foreach (var i in genericInstances)
            {
                bool match = true;
                for (int j = 0; j < genericArguments.Length; j++)
                {
                    if (i.genericArguments[j].Value != genericArguments[j].Value)
                    {
                        match = false;
                        break;
                    }
                }
                if (match)
                    return i;
            }
            var res = new ILType(definition, appdomain);
            res.genericArguments = genericArguments;

            genericInstances.Add(res);
            return res;
        }

        public IType MakeByRefType()
        {
            if (byRefType == null)
            {
                var def = new ByReferenceType(typeRef);
                byRefType = new ILType(def, appdomain);
                ((ILType)byRefType).elementType = this;
                ((ILType)byRefType).byRefCLRType = this.TypeForCLR.MakeByRefType();
            }
            return byRefType;
        }

        public IType MakeArrayType()
        {
            if (arrayType == null)
            {
                var def = new ArrayType(typeRef);
                arrayType = new ILType(def, appdomain);
                ((ILType)arrayType).IsArray = true;
                ((ILType)arrayType).elementType = this;
                ((ILType)arrayType).arrayCLRType = this.TypeForCLR.MakeArrayType();
            }
            return arrayType;
        }

        public IType ResolveGenericType(IType contextType)
        {
            var ga = contextType.GenericArguments;
            IType[] kv = new IType[definition.GenericParameters.Count];
            for (int i = 0; i < kv.Length; i++)
            {
                var gp = definition.GenericParameters[i];
                string name = gp.Name;
                foreach (var j in ga)
                {
                    if (j.Key == name)
                    {
                        kv[i] = j.Value;
                        break;
                    }
                }
            }

            foreach (var i in genericInstances)
            {
                bool match = true;
                for (int j = 0; j < kv.Length; j++)
                {
                    if (i.genericArguments[j].Value != kv[j])
                    {
                        match = false;
                        break;
                    }
                }
                if (match)
                    return i;
            }

            return null;
        }

        public override int GetHashCode()
        {
            if (hashCode == -1)
                hashCode = System.Threading.Interlocked.Add(ref instance_id, 1);
            return hashCode;
        }

        public override string ToString()
        {
            return FullName;
        }
    }
}


================================================
FILE: ILRuntime/ILRuntime/CLR/TypeSystem/IType.cs
================================================
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

using ILRuntime.CLR.Method;

namespace ILRuntime.CLR.TypeSystem
{
    public interface IType
    {
        bool IsGenericInstance { get; }
        KeyValuePair<string, IType>[] GenericArguments { get; }
        Type TypeForCLR { get; }
        Type ReflectionType { get; }

        IType BaseType { get; }

        IType[] Implements { get; }

        IType ByRefType { get; }

        IType ArrayType { get; }

        string FullName { get; }

        string Name { get; }

        bool IsArray { get; }

        bool IsValueType { get; }

        bool IsDelegate { get; }

        bool IsPrimitive { get; }

        bool HasGenericParameter { get; }

        ILRuntime.Runtime.Enviorment.AppDomain AppDomain { get; }

        /// <summary>
        /// Get a specified Method in this type
        /// </summary>
        /// <param name="name">Name of the Type</param>
        /// <param name="paramCount">Parameter count</param>
        /// <param name="declaredOnly">True to search the methods decleared in this type only, false to search base types.</param>
        /// <returns></returns>
        IMethod GetMethod(string name, int paramCount, bool declaredOnly = false);
        /// <summary>
        ///  Get a specified Method in this type
        /// </summary>
        /// <param name="name">Name of the Type</param>
        /// <param name="param">List of parameter's types</param>
        /// <param name="genericArguments">List of Generic Arguments</param>
        /// <param name="returnType">Return Type</param>
        /// <param name="declaredOnly">True to search the methods decleared in this type only, false to search base types.</param>
        /// <returns></returns>
        IMethod GetMethod(string name, List<IType> param, IType[] genericArguments, IType returnType = null, bool declaredOnly = false);
        IMethod GetVirtualMethod(IMethod method);

        List<IMethod> GetMethods();

        int GetFieldIndex(object token);

        IMethod GetConstructor(List<IType> param);

        bool CanAssignTo(IType type);

        IType MakeGenericInstance(KeyValuePair<string, IType>[] genericArguments);

        IType MakeByRefType();

        IType MakeArrayType();
        IType FindGenericArgument(string key);

        IType ResolveGenericType(IType contextType);
    }
}


================================================
FILE: ILRuntime/ILRuntime/CLR/Utils/Extensions.cs
================================================
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

using ILRuntime.CLR.TypeSystem;
using ILRuntime.CLR.Method;
using ILRuntime.Other;
using Mono.Cecil;
using ILRuntime.Runtime.Intepreter;
namespace ILRuntime.CLR.Utils
{
    public delegate TResult Func<T1, T2, T3, T4, T5, TResult>(T1 a1, T2 a2, T3 a3, T4 a4, T5 a5);

    public static class Extensions
    {
        public static List<IType> EmptyParamList = new List<IType>();
        public static List<IType> GetParamList(this MethodReference def, ILRuntime.Runtime.Enviorment.AppDomain appdomain, IType contextType, IMethod contextMethod, IType[] genericArguments)
        {
            if (def.HasParameters)
            {
                List<IType> param = new List<IType>();
                var dt = appdomain.GetType(def.DeclaringType, contextType, contextMethod);
                foreach (var i in def.Parameters)
                {
                    IType t = null;
                    t = appdomain.GetType(i.ParameterType, dt, null);
                    if (t == null && def.IsGenericInstance)
                    {
                        GenericInstanceMethod gim = (GenericInstanceMethod)def;
                        string name = i.ParameterType.IsByReference ? i.ParameterType.GetElementType().FullName : i.ParameterType.FullName;
                        
                        for (int j = 0; j < gim.GenericArguments.Count; j++)
                        {
                            var gp = gim.ElementMethod.GenericParameters[j];
                            var ga = gim.GenericArguments[j];
                            if (name == gp.Name)
                            {
                                t = appdomain.GetType(ga, contextType, contextMethod);
                                if (t == null && genericArguments != null)
                                    t = genericArguments[j];
                                break;
                            }
                            else if (name.Contains(gp.Name))
                            {
                                if (name == gp.Name)
                                {
                                    name = ga.FullName;
                                }
                                else if (name == gp.Name + "[]")
                                {
                                    name = ga.FullName + "[]";
                                }
                                else
                                {
                                    /*name = name.Replace("<" + gp.Name + ">", "<" + ga.FullName + ">");
                                    name = name.Replace("<" + gp.Name + "[", "<" + ga.FullName + "[");
                                    name = name.Replace("<" + gp.Name + ",", "<" + ga.FullName + ",");
                                    name = name.Replace("," + gp.Name + ">", "," + ga.FullName + ">");
                                    name = name.Replace("," + gp.Name + "[", "," + ga.FullName + "[");
                                    name = name.Replace("," + gp.Name + ",", "," + ga.FullName + ",");
                                    name = name.Replace("," + gp.Name + "[", "," + ga.FullName + "[");*/
                                    name = ReplaceGenericArgument(name, gp.Name, ga.FullName);
                                }
                            }
                        }
                        if (t == null)
                            t = appdomain.GetType(name);
                    }

                    param.Add(t);
                }
                return param;
            }
            else
                return EmptyParamList;
        }

        static string ReplaceGenericArgument(string typename, string argumentName, string argumentType)
        {
            string baseType;
            StringBuilder sb = new StringBuilder();
            List<string> ga;
            bool isArray;
            Runtime.Enviorment.AppDomain.ParseGenericType(typename, out baseType, out ga, out isArray);
            if (baseType == argumentName)
                sb.Append(argumentType);
            else
                sb.Append(baseType);
            if (ga != null && ga.Count > 0)
            {
                sb.Append("<");
                bool isFirst = true;
                foreach(var i in ga)
                {
                    if (isFirst)
                        isFirst = false;
                    else
                        sb.Append(",");

                    sb.Append(ReplaceGenericArgument(i, argumentName, argumentType));
                }
                sb.Append(">");
            }
            if (isArray)
                sb.Append("[]");
            return sb.ToString();
        }

        [Flags]
        public enum TypeFlags
        {
            Default = 0,
            IsPrimitive = 0x1,
            IsByRef = 0x2,
            IsEnum = 0x4,
            IsDelegate = 0x8,
            IsValueType = 0x10,
        }

        private static readonly Dictionary<Type, TypeFlags> typeFlags = new Dictionary<Type, TypeFlags>(new ByReferenceKeyComparer<Type>());

        public static bool FastIsEnum(this Type pt)
        {
            return (pt.GetTypeFlags() & TypeFlags.IsEnum) != 0;
        }

        public static bool FastIsByRef(this Type pt)
        {
            return (pt.GetTypeFlags() & TypeFlags.IsByRef) != 0;
        }

        public static bool FastIsPrimitive(this Type pt)
        {
            return (pt.GetTypeFlags() & TypeFlags.IsPrimitive) != 0;
        }

        public static bool FastIsValueType(this Type pt)
        {
            return (pt.GetTypeFlags() & TypeFlags.IsValueType) != 0;
        }

        public static TypeFlags GetTypeFlags(this Type pt)
        {
            var result = TypeFlags.Default;

            if (!typeFlags.TryGetValue(pt, out result))
            {
                if (pt.IsPrimitive)
                {
                    result |= TypeFlags.IsPrimitive;
                }

                if (pt == typeof(Delegate) || pt.IsSubclassOf(typeof(Delegate)))
                {
                    result |= TypeFlags.IsDelegate;
                }

                if (pt.IsByRef)
                {
                    result |= TypeFlags.IsByRef;
                }

                if (pt.IsEnum)
                {
                    result |= TypeFlags.IsEnum;
                }

                if (pt.IsValueType)
                {
                    result |= TypeFlags.IsValueType;
                }

                typeFlags[pt] = result;
            }

            return result;
        }

        public static object CheckCLRTypes(this Type pt, object obj)
        {
            if (obj == null)
                return null;

            var typeFlags = GetTypeFlags(pt);

            if ((typeFlags & TypeFlags.IsPrimitive) != 0 && pt != typeof(int))
            {
                if (pt == typeof(bool) && !(obj is bool))
                {
                    obj = (int)obj == 1;
                }
                else if (pt == typeof(byte) && !(obj is byte))
                    obj = (byte)(int)obj;
                else if (pt == typeof(short) && !(obj is short))
                    obj = (short)(int)obj;
                else if (pt == typeof(char) && !(obj is char))
                    obj = (char)(int)obj;
                else if (pt == typeof(ushort) && !(obj is ushort))
                    obj = (ushort)(int)obj;
                else if (pt == typeof(uint) && !(obj is uint))
                    obj = (uint)(int)obj;
                else if (pt == typeof(sbyte) && !(obj is sbyte))
                    obj = (sbyte)(int)obj;
                else if (pt == typeof(ulong) && !(obj is ulong))
                {
                    obj = (ulong)(long)obj;
                }
            }
            else if (obj is ILRuntime.Reflection.ILRuntimeWrapperType)
            {
                obj = ((ILRuntime.Reflection.ILRuntimeWrapperType)obj).RealType;
            }
            else if ((typeFlags & TypeFlags.IsDelegate) != 0)
            {
                if (obj is Delegate)
                    return obj;
                if (pt == typeof(Delegate))
                    return ((IDelegateAdapter)obj).Delegate;
                return ((IDelegateAdapter)obj).GetConvertor(pt);
            }
            else if ((typeFlags & TypeFlags.IsByRef) != 0)
            {
                return CheckCLRTypes(pt.GetElementType(), obj);
            }
            else if ((typeFlags & TypeFlags.IsEnum) != 0)
            {
                return Enum.ToObject(pt, obj);
            }
            else if (obj is ILTypeInstance)
            {
                var adapter = obj as IDelegateAdapter;

                if (adapter != null && pt != typeof(ILTypeInstance))
                {
                    return adapter.Delegate;
                }

                if (!(obj is ILEnumTypeInstance))
                {
                    var ins = (ILTypeInstance)obj;
                    if (ins.IsValueType)
                        ins = ins.Clone();
                    return ins.CLRInstance;
                }
            }
            return obj;
        }
    }
}


================================================
FILE: ILRuntime/ILRuntime/Other/ByReferenceKeyComparer.cs
================================================
using System.Collections.Generic;
using System.Runtime.CompilerServices;

namespace ILRuntime.Other
{
    class ByReferenceKeyComparer<T> : IEqualityComparer<T>
    {
        public bool Equals(T x, T y)
        {
            return object.ReferenceEquals(x, y);
        }

        public int GetHashCode(T obj)
        {
            return RuntimeHelpers.GetHashCode(obj);
        }
    }
}


================================================
FILE: ILRuntime/ILRuntime/Other/DelegateExportAttribute.cs
================================================
namespace ILRuntime.Other
{
    /// <summary>
    /// A Delegate Custom Attr, It tells the CodeGenerationTools : this delegate need to register a delegate convertor,when generate ILRuntimeHelper.cs file.
    /// </summary>
    public class DelegateExportAttribute : System.Attribute
    {
    }
}


================================================
FILE: ILRuntime/ILRuntime/Other/NeedAdaptorAttribute.cs
================================================
namespace ILRuntime.Other
{
    /// <summary>
    /// A Class Custom Attr, It tells the CodeGenerationTools :there is a class need to generate an adaptor for ILScript
    /// </summary>
    public class NeedAdaptorAttribute : System.Attribute
    {

    }
}


================================================
FILE: ILRuntime/ILRuntime/Other/ThreadSafeDictionary.cs
================================================
using System;
using System.Collections;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Diagnostics;
using System.Runtime.Versioning;
using System.Threading;

namespace ILRuntime.Other
{
    /// <summary>
    /// A thread safe dictionary for internal use
    /// </summary>
    /// <typeparam name="K"></typeparam>
    /// <typeparam name="V"></typeparam>
    class ThreadSafeDictionary<K, V> : IDictionary<K, V>
    {
        Dictionary<K, V> dic = new Dictionary<K, V>();

        public Dictionary<K,V> InnerDictionary { get { return dic; } }
        public V this[K key]
        {
            get
            {
                lock(dic)
                    return dic[key];
            }

            set
            {
               lock(dic)
                    dic[key] = value;
            }
        }

        public int Count
        {
            get
            {
                lock(dic)
                    return dic.Count;
            }
        }

        public bool IsReadOnly
        {
            get
            {
                lock(dic)
                    return IsReadOnly;
            }
        }

        public ICollection<K> Keys
        {
            get
            {
                throw new NotImplementedException();
            }
        }

        public ICollection<V> Values
        {
            get
            {
                throw new NotImplementedException();
            }
        }

        public void Add(KeyValuePair<K, V> item)
        {
            lock (dic)
                 dic.Add(item.Key, item.Value);
        }

        public void Add(K key, V value)
        {
            lock(dic)
                dic.Add(key, value);
        }

        public void Clear()
        {
            lock(dic)
                dic.Clear();
        }

        public bool Contains(KeyValuePair<K, V> item)
        {
           lock(dic)
                return dic.ContainsKey(item.Key);
        }

        public bool ContainsKey(K key)
        {
            lock(dic)
                return dic.ContainsKey(key);
        }

        public void CopyTo(KeyValuePair<K, V>[] array, int arrayIndex)
        {
            throw new NotImplementedException();
        }

        public IEnumerator<KeyValuePair<K, V>> GetEnumerator()
        {
            throw new NotImplementedException();
        }

        public bool Remove(KeyValuePair<K, V> item)
        {
            throw new NotImplementedException();
        }

        public bool Remove(K key)
        {
            lock(dic)
                return dic.Remove(key);
        }

        public bool TryGetValue(K key, out V value)
        {
             lock(dic)
                return dic.TryGetValue(key, out value);
        }

        IEnumerator IEnumerable.GetEnumerator()
        {
            throw new NotImplementedException();
        }
    }
}

================================================
FILE: ILRuntime/ILRuntime/Other/UncheckedList.cs
================================================
using System;
using System.Collections;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Diagnostics;
using System.Runtime.Versioning;
using System.Threading;

namespace ILRuntime.Other
{
    /// <summary>
    /// This is a copy of the latest .NET framework 4.5 List implementation, with all extraneous checking removed.
    /// </summary>
    /// <typeparam name="T"></typeparam>
    [Serializable]
    public class UncheckedList<T> : IList<T>, ICollection<T>, IEnumerable<T>, IEnumerable, IList, ICollection
    {

       private const int _defaultCapacity = 4;

        private T[] _items;
        private int _size;
        private int _version;
        [NonSerialized]
        private Object _syncRoot;

        private static readonly T[] _emptyArray = new T[0];

        // Constructs a UncheckedList. The list is initially empty and has a capacity
        // of zero. Upon adding the first element to the list the capacity is
        // increased to _defaultCapacity, and then increased in multiples of two
        // as required.
        public UncheckedList()
        {
            _items = _emptyArray;
        }

        // Constructs a UncheckedList with a given initial capacity. The list is
        // initially empty, but will have room for the given number of elements
        // before any reallocations are required.
        // 
        public UncheckedList(int capacity)
        {
            if (capacity == 0)
                _items = _emptyArray;
            else
                _items = new T[capacity];
        }

        // Constructs a UncheckedList, copying the contents of the given collection. The
        // size and capacity of the new list will both be equal to the size of the
        // given collection.
        // 
        public UncheckedList(IEnumerable<T> collection)
        {
            ICollection<T> c = collection as ICollection<T>;
            if (c != null)
            {
                int count = c.Count;
                if (count == 0)
                {
                    _items = _emptyArray;
                }
                else
                {
                    _items = new T[count];
                    c.CopyTo(_items, 0);
                    _size = count;
                }
            }
            else
            {
                _size = 0;
                _items = _emptyArray;
                AddEnumerable(collection);
            }
        }

        // Gets and sets the capacity of this list.  The capacity is the size of
        // the internal array used to hold items.  When set, the internal 
        // array of the list is reallocated to the given capacity.
        // 
        public int Capacity
        {
            get
            {
                return _items.Length;
            }
            set
            {
                if (value != _items.Length)
                {
                    if (value > 0)
                    {
                        T[] newItems = new T[value];
                        if (_size > 0)
                        {
                            Array.Copy(_items, 0, newItems, 0, _size);
                        }
                        _items = newItems;
                    }
                    else
                    {
                        _items = _emptyArray;
                    }
                }
            }
        }

        // Read-only property describing how many elements are in the UncheckedList.
        public int Count
        {
            get
            {
                return _size;
            }
        }

        bool System.Collections.IList.IsFixedSize
        {
            get { return false; }
        }


        // Is this UncheckedList read-only?
        bool ICollection<T>.IsReadOnly
        {
            get { return false; }
        }

        bool System.Collections.IList.IsReadOnly
        {
            get { return false; }
        }

        // Is this UncheckedList synchronized (thread-safe)?
        bool System.Collections.ICollection.IsSynchronized
        {
            get { return false; }
        }

        // Synchronization root for this object.
        Object System.Collections.ICollection.SyncRoot
        {
            get
            {
                if (_syncRoot == null)
                {
                    System.Threading.Interlocked.CompareExchange<Object>(ref _syncRoot, new Object(), null);
                }
                return _syncRoot;
            }
        }
        // Sets or Gets the element at the given index.
        // 
        public T this[int index]
        {
            get
            {
                return _items[index];
            }

            set
            {
                _items[index] = value;
                _version++;
            }
        }

        private static bool IsCompatibleObject(object value)
        {
            // Non-null values are fine.  Only accept nulls if T is a class or Nullable<U>.
            // Note that default(T) is not equal to null for value types except when T is Nullable<U>. 
            return ((value is T) || (value == null && default(T) == null));
        }

        Object System.Collections.IList.this[int index]
        {
            get
            {
                return this[index];
            }
            set
            {
                try
                {
                    this[index] = (T)value;
                }
                catch (InvalidCastException)
                {
                }
            }
        }

        // Adds the given object to the end of this list. The size of the list is
        // increased by one. If required, the capacity of the list is doubled
        // before adding the new element.
        public void Add(T item)
        {
            var array = _items;
            var size = _size;
            _version++;
            if ((uint)size < (uint)array.Length)
            {
                _size = size + 1;
                array[size] = item;
            }
            else
            {
                AddWithResize(item);
            }
        }

        // Non-inline from UncheckedList.Add to improve its code quality as uncommon path
        private void AddWithResize(T item)
        {
            var size = _size;
            EnsureCapacity(size + 1);
            _size = size + 1;
            _items[size] = item;
        }

        int System.Collections.IList.Add(Object item)
        {
            try
            {
                Add((T)item);
            }
            catch (InvalidCastException)
            {
            }

            return Count - 1;
        }


        // Adds the elements of the given collection to the end of this list. If
        // required, the capacity of the list is increased to twice the previous
        // capacity or the new size, whichever is larger.
        //
        public void AddRange(IEnumerable<T> collection)
        {
            InsertRange(_size, collection);
        }

        public ReadOnlyCollection<T> AsReadOnly()
        {
            return new ReadOnlyCollection<T>(this);
        }

        // Searches a section of the list for a given element using a binary search
        // algorithm. Elements of the list are compared to the search value using
        // the given IComparer interface. If comparer is null, elements of
        // the list are compared to the search value using the IComparable
        // interface, which in that case must be implemented by all elements of the
        // list and the given search value. This method assumes that the given
        // section of the list is already sorted; if this is not the case, the
        // result will be incorrect.
        //
        // The method returns the index of the given value in the list. If the
        // list does not contain the given value, the method returns a negative
        // integer. The bitwise complement operator (~) can be applied to a
        // negative result to produce the index of the first element (if any) that
        // is larger than the given search value. This is also the index at which
        // the search value should be inserted into the list in order for the list
        // to remain sorted.
        // 
        // The method uses the Array.BinarySearch method to perform the
        // search.
        // 
        public int BinarySearch(int index, int count, T item, IComparer<T> comparer)
        {
            if (index < 0) return -1;
            return Array.BinarySearch<T>(_items, index, count, item, comparer);
        }

        public int BinarySearch(T item)
        {
            return BinarySearch(0, Count, item, null);
        }

        public int BinarySearch(T item, IComparer<T> comparer)
        {
            return BinarySearch(0, Count, item, comparer);
        }


        // Clears the contents of UncheckedList.
        public void Clear()
        {
            if (!typeof(T).IsValueType)
            {
                int size = _size;
                _size = 0;
                _version++;
                if (size > 0)
                {
                    Array.Clear(_items, 0, size); // Clear the elements so that the gc can reclaim the references.
                }
            }
            else
            {
                _size = 0;
                _version++;
            }
        }

        // Contains returns true if the specified element is in the UncheckedList.
        // It does a linear, O(n) search.  Equality is determined by calling
        // EqualityComparer<T>.Default.Equals().

        public bool Contains(T item)
        {
            // PERF: IndexOf calls Array.IndexOf, which internally
            // calls EqualityComparer<T>.Default.IndexOf, which
            // is specialized for different types. This
            // boosts performance since instead of making a
            // virtual method call each iteration of the loop,
            // via EqualityComparer<T>.Default.Equals, we
            // only make one virtual call to EqualityComparer.IndexOf.

            return _size != 0 && IndexOf(item) != -1;
        }

        bool System.Collections.IList.Contains(Object item)
        {
            if (IsCompatibleObject(item))
            {
                return Contains((T)item);
            }
            return false;
        }

        public UncheckedList<TOutput> ConvertAll<TOutput>(Converter<T, TOutput> converter)
        {
            UncheckedList<TOutput> list = new UncheckedList<TOutput>(_size);
            for (int i = 0; i < _size; i++)
            {
                list._items[i] = converter(_items[i]);
            }
            list._size = _size;
            return list;
        }

        // Copies this UncheckedList into array, which must be of a 
        // compatible array type.  
        //
        public void CopyTo(T[] array)
        {
            CopyTo(array, 0);
        }

        // Copies this UncheckedList into array, which must be of a 
        // compatible array type.  
        //
        void System.Collections.ICollection.CopyTo(Array array, int arrayIndex)
        {
            try
            {
                // Array.Copy will check for NULL.
                Array.Copy(_items, 0, array, arrayIndex, _size);
            }
            catch (ArrayTypeMismatchException)
            {
            }
        }

        // Copies a section of this list to the given array at the given index.
        // 
        // The method uses the Array.Copy method to copy the elements.
        // 
        public void CopyTo(int index, T[] array, int arrayIndex, int count)
        {
            // Delegate rest of error checking to Array.Copy.
            Array.Copy(_items, index, array, arrayIndex, count);
        }

        public void CopyTo(T[] array, int arrayIndex)
        {
            // Delegate rest of error checking to Array.Copy.
            Array.Copy(_items, 0, array, arrayIndex, _size);
        }

        // Ensures that the capacity of this list is at least the given minimum
        // value. If the current capacity of the list is less than min, the
        // capacity is increased to twice the current capacity or to min,
        // whichever is larger.
        private void EnsureCapacity(int min)
        {
            if (_items.Length < min)
            {
                int newCapacity = _items.Length == 0 ? _defaultCapacity : _items.Length * 2;
                // Allow the list to grow to maximum possible capacity (~2G elements) before encountering overflow.
                // Note that this check works even when _items.Length overflowed thanks to the (uint) cast
                if ((uint) newCapacity > Int32.MaxValue) newCapacity = Int32.MaxValue;
                if (newCapacity < min) newCapacity = min;
                Capacity = newCapacity;
            }
        }

        public bool Exists(Predicate<T> match)
        {
            return FindIndex(match) != -1;
        }

        public T Find(Predicate<T> match)
        {
            for (int i = 0; i < _size; i++)
            {
                if (match(_items[i]))
                {
                    return _items[i];
                }
            }
            return default(T);
        }

        public UncheckedList<T> FindAll(Predicate<T> match)
        {
            UncheckedList<T> list = new UncheckedList<T>();
            for (int i = 0; i < _size; i++)
            {
                if (match(_items[i]))
                {
                    list.Add(_items[i]);
                }
            }
            return list;
        }

        public int FindIndex(Predicate<T> match)
        {
            return FindIndex(0, _size, match);
        }

        public int FindIndex(int startIndex, Predicate<T> match)
        {
            return FindIndex(startIndex, _size - startIndex, match);
        }

        public int FindIndex(int startIndex, int count, Predicate<T> match)
        {
            int endIndex = startIndex + count;
            for (int i = startIndex; i < endIndex; i++)
            {
                if (match(_items[i])) return i;
            }
            return -1;
        }

        public T FindLast(Predicate<T> match)
        {
            for (int i = _size - 1; i >= 0; i--)
            {
                if (match(_items[i]))
                {
                    return _items[i];
                }
            }
            return default(T);
        }

        public int FindLastIndex(Predicate<T> match)
        {
            return FindLastIndex(_size - 1, _size, match);
        }

        public int FindLastIndex(int startIndex, Predicate<T> match)
        {
            return FindLastIndex(startIndex, startIndex + 1, match);
        }

        public int FindLastIndex(int startIndex, int count, Predicate<T> match)
        {
            int endIndex = startIndex - count;
            for (int i = startIndex; i > endIndex; i--)
            {
                if (match(_items[i]))
                {
                    return i;
                }
            }
            return -1;
        }

        public void ForEach(Action<T> action)
        {
            int version = _version;

            for (int i = 0; i < _size; i++)
            {
                if (version != _version)
                {
                    break;
                }
                action(_items[i]);
            }
        }

        // Returns an enumerator for this list with the given
        // permission for removal of elements. If modifications made to the list 
        // while an enumeration is in progress, the MoveNext and 
        // GetObject methods of the enumerator will throw an exception.
        //
        public Enumerator GetEnumerator()
        {
            return new Enumerator(this);
        }

        IEnumerator<T> IEnumerable<T>.GetEnumerator()
        {
            return new Enumerator(this);
        }

        System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator()
        {
            return new Enumerator(this);
        }

        public UncheckedList<T> GetRange(int index, int count)
        {
            UncheckedList<T> list = new UncheckedList<T>(count);
            Array.Copy(_items, index, list._items, 0, count);
            list._size = count;
            return list;
        }


        // Returns the index of the first occurrence of a given value in a range of
        // this list. The list is searched forwards from beginning to end.
        // The elements of the list are compared to the given value using the
        // Object.Equals method.
        // 
        // This method uses the Array.IndexOf method to perform the
        // search.
        // 
        public int IndexOf(T item)
        {
            return Array.IndexOf(_items, item, 0, _size);
        }

        int System.Collections.IList.IndexOf(Object item)
        {
            if (IsCompatibleObject(item))
            {
                return IndexOf((T)item);
            }
            return -1;
        }

        // Returns the index of the first occurrence of a given value in a range of
        // this list. The list is searched forwards, starting at index
        // index and ending at count number of elements. The
        // elements of the list are compared to the given value using the
        // Object.Equals method.
        // 
        // This method uses the Array.IndexOf method to perform the
        // search.
        // 
        public int IndexOf(T item, int index)
        {
            return Array.IndexOf(_items, item, index, _size - index);
        }

        // Returns the index of the first occurrence of a given value in a range of
        // this list. The list is searched forwards, starting at index
        // index and upto count number of elements. The
        // elements of the list are compared to the given value using the
        // Object.Equals method.
        // 
        // This method uses the Array.IndexOf method to perform the
        // search.
        // 
        public int IndexOf(T item, int index, int count)
        {
            return Array.IndexOf(_items, item, index, count);
        }

        // Inserts an element into this list at a given index. The size of the list
        // is increased by one. If required, the capacity of the list is doubled
        // before inserting the new element.
        // 
        public void Insert(int index, T item)
        {
            if (_size == _items.Length) EnsureCapacity(_size + 1);
            if (index < _size)
            {
                Array.Copy(_items, index, _items, index + 1, _size - index);
            }
            _items[index] = item;
            _size++;
            _version++;
        }

        void System.Collections.IList.Insert(int index, Object item)
        {
            try
            {
                Insert(index, (T)item);
            }
            catch (InvalidCastException)
            {
            }
        }

        // Inserts the elements of the given collection at a given index. If
        // required, the capacity of the list is increased to twice the previous
        // capacity or the new size, whichever is larger.  Ranges may be added
        // to the end of the list by setting index to the UncheckedList's size.
        //
        public void InsertRange(int index, IEnumerable<T> collection)
        {
            ICollection<T> c = collection as ICollection<T>;
            if (c != null)
            {    // if collection is ICollection<T>
                int count = c.Count;
                if (count > 0)
                {
                    EnsureCapacity(_size + count);
                    if (index < _size)
                    {
                        Array.Copy(_items, index, _items, index + count, _size - index);
                    }

                    // If we're inserting a UncheckedList into itself, we want to be able to deal with that.
                    if (this == c)
                    {
                        // Copy first part of _items to insert location
                        Array.Copy(_items, 0, _items, index, index);
                        // Copy last part of _items back to inserted location
                        Array.Copy(_items, index + count, _items, index * 2, _size - index);
                    }
                    else
                    {
                        c.CopyTo(_items, index);
                    }
                    _size += count;
                }
            }
            else if (index < _size)
            {
                // We're inserting a lazy enumerable. Call Insert on each of the constituent items.
                using (IEnumerator<T> en = collection.GetEnumerator())
                {
                    while (en.MoveNext())
                    {
                        Insert(index++, en.Current);
                    }
                }
            }
            else
            {
                // We're adding a lazy enumerable because the index is at the end of this list.
                AddEnumerable(collection);
            }
            _version++;
        }

        // Returns the index of the last occurrence of a given value in a range of
        // this list. The list is searched backwards, starting at the end 
        // and ending at the first element in the list. The elements of the list 
        // are compared to the given value using the Object.Equals method.
        // 
        // This method uses the Array.LastIndexOf method to perform the
        // search.
        // 
        public int LastIndexOf(T item)
        {
            if (_size == 0)
            {  // Special case for empty list
                return -1;
            }
            else
            {
                return LastIndexOf(item, _size - 1, _size);
            }
        }

        // Returns the index of the last occurrence of a given value in a range of
        // this list. The list is searched backwards, starting at index
        // index and ending at the first element in the list. The 
        // elements of the list are compared to the given value using the 
        // Object.Equals method.
        // 
        // This method uses the Array.LastIndexOf method to perform the
        // search.
        // 
        public int LastIndexOf(T item, int index)
        {
            return LastIndexOf(item, index, index + 1);
        }

        // Returns the index of the last occurrence of a given value in a range of
        // this list. The list is searched backwards, starting at index
        // index and upto count elements. The elements of
        // the list are compared to the given value using the Object.Equals
        // method.
        // 
        // This method uses the Array.LastIndexOf method to perform the
        // search.
        // 
        public int LastIndexOf(T item, int index, int count)
        {
            if (_size == 0)
            {  // Special case for empty list
                return -1;
            }

            return Array.LastIndexOf(_items, item, index, count);
        }

        // Removes the element at the given index. The size of the list is
        // decreased by one.
        // 
        public bool Remove(T item)
        {
            int index = IndexOf(item);
            if (index >= 0)
            {
                RemoveAt(index);
                return true;
            }

            return false;
        }

        void System.Collections.IList.Remove(Object item)
        {
            if (IsCompatibleObject(item))
            {
                Remove((T)item);
            }
        }

        // This method removes all items which matches the predicate.
        // The complexity is O(n).   
        public int RemoveAll(Predicate<T> match)
        {
            int freeIndex = 0;   // the first free slot in items array

            // Find the first item which needs to be removed.
            while (freeIndex < _size && !match(_items[freeIndex])) freeIndex++;
            if (freeIndex >= _size) return 0;

            int current = freeIndex + 1;
            while (current < _size)
            {
                // Find the first item which needs to be kept.
                while (current < _size && match(_items[current])) current++;

                if (current < _size)
                {
                    // copy item to the free slot.
                    _items[freeIndex++] = _items[current++];
                }
            }

            if (!typeof(T).IsValueType)
            {
                Array.Clear(_items, freeIndex, _size - freeIndex); // Clear the elements so that the gc can reclaim the references.
            }

            int result = _size - freeIndex;
            _size = freeIndex;
            _version++;
            return result;
        }

        // Removes the element at the given index. The size of the list is
        // decreased by one.
        // 
        public void RemoveAt(int index)
        {
            _size--;
            if (index < _size)
            {
                Array.Copy(_items, index + 1, _items, index, _size - index);
            }
            if (!typeof(T).IsValueType)
            {
                _items[_size] = default(T);
            }
            _version++;
        }

        // Removes a range of elements from this list.
        // 
        public void RemoveRange(int index, int count)
        {
            if (count > 0)
            {
                int i = _size;
                _size -= count;
                if (index < _size)
                {
                    Array.Copy(_items, index + count, _items, index, _size - index);
                }

                _version++;
                if (!typeof(T).IsValueType)
                {
                    Array.Clear(_items, _size, count);
                }
            }
        }

        // Reverses the elements in this list.
        public void Reverse()
        {
            Reverse(0, Count);
        }

        // Reverses the elements in a range of this list. Following a call to this
        // method, an element in the range given by index and count
        // which was previously located at index i will now be located at
        // index index + (index + count - i - 1).
        // 
        public void Reverse(int index, int count)
        {
            if (count > 1)
            {
                Array.Reverse(_items, index, count);
            }
            _version++;
        }

        // Sorts the elements in this list.  Uses the default comparer and 
        // Array.Sort.
        public void Sort()
        {
            Sort(0, Count, null);
        }

        // Sorts the elements in this list.  Uses Array.Sort with the
        // provided comparer.
        public void Sort(IComparer<T> comparer)
        {
            Sort(0, Count, comparer);
        }

        // Sorts the elements in a section of this list. The sort compares the
        // elements to each other using the given IComparer interface. If
        // comparer is null, the elements are compared to each other using
        // the IComparable interface, which in that case must be implemented by all
        // elements of the list.
        // 
        // This method uses the Array.Sort method to sort the elements.
        // 
        public void Sort(int index, int count, IComparer<T> comparer)
        {
            if (count > 1)
            {
                Array.Sort<T>(_items, index, count, comparer);
            }
            _version++;
        }

        public void Sort(Comparison<T> comparison)
        {
            throw new NotImplementedException();
            /*if (_size > 1)
            {
                ArraySortHelper<T>.Sort(_items, 0, _size, comparison);
            }
            _version++;*/
        }

        // ToArray returns an array containing the contents of the UncheckedList.
        // This requires copying the UncheckedList, which is an O(n) operation.
        public T[] ToArray()
        {
            if (_size == 0)
            {
                return _emptyArray;
            }

            T[] array = new T[_size];
            Array.Copy(_items, 0, array, 0, _size);
            return array;
        }

        // Sets the capacity of this list to the size of the list. This method can
        // be used to minimize a list's memory overhead once it is known that no
        // new elements will be added to the list. To completely clear a list and
        // release all memory referenced by the list, execute the following
        // statements:
        // 
        // list.Clear();
        // list.TrimExcess();
        // 
        public void TrimExcess()
        {
            int threshold = (int)(((double)_items.Length) * 0.9);
            if (_size < threshold)
            {
                Capacity = _size;
            }
        }

        public bool TrueForAll(Predicate<T> match)
        {
            for (int i = 0; i < _size; i++)
            {
                if (!match(_items[i]))
                {
                    return false;
                }
            }
            return true;
        }

        private void AddEnumerable(IEnumerable<T> enumerable)
        {
            Debug.Assert(enumerable != null);
            Debug.Assert(!(enumerable is ICollection<T>), "We should have optimized for this beforehand.");

            using (IEnumerator<T> en = enumerable.GetEnumerator())
            {
                _version++; // Even if the enumerable has no items, we can update _version.

                while (en.MoveNext())
                {
                    // Capture Current before doing anything else. If this throws
                    // an exception, we want to make a clean break.
                    T current = en.Current;

                    if (_size == _items.Length)
                    {
                        EnsureCapacity(_size + 1);
                    }

                    _items[_size++] = current;
                }
            }
        }

        public struct Enumerator : IEnumerator<T>, System.Collections.IEnumerator
        {
            private UncheckedList<T> list;
            private int index;
            private int version;
            private T current;

            internal Enumerator(UncheckedList<T> list)
            {
                this.list = list;
                index = 0;
                version = list._version;
                current = default(T);
            }

            public void Dispose()
            {
            }

            public bool MoveNext()
            {
                UncheckedList<T> localUncheckedList = list;

                if (version == localUncheckedList._version && ((uint)index < (uint)localUncheckedList._size))
                {
                    current = localUncheckedList._items[index];
                    index++;
                    return true;
                }
                return MoveNextRare();
            }

            private bool MoveNextRare()
            {
                index = list._size + 1;
                current = default(T);
                return false;
            }

            public T Current
            {
                get
                {
                    return current;
                }
            }

            Object System.Collections.IEnumerator.Current
            {
                get
                {
                    return Current;
                }
            }

            void System.Collections.IEnumerator.Reset()
            {
                index = 0;
                current = default(T);
            }
        }
    }
}

================================================
FILE: ILRuntime/ILRuntime/Reflection/Extensions.cs
================================================
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

using Mono.Cecil;
using ILRuntime.CLR.Method;
using ILRuntime.CLR.TypeSystem;

namespace ILRuntime.Reflection
{
    static class Extensions
    {
        public static object CreateInstance(this CustomAttribute attribute, IType at, Runtime.Enviorment.AppDomain appdomain)
        {
            object ins;
            List<IType> param = null;
            if (at is ILType)
            {
                var it = (ILType)at;
                if (!attribute.HasConstructorArguments)
                    ins = it.Instantiate(true);
                else
                {
                    ins = it.Instantiate(false);
                    if (param == null)
                        param = new List<IType>();
                    param.Clear();
                    object[] p = new object[attribute.ConstructorArguments.Count];
                    for (int j = 0; j < attribute.ConstructorArguments.Count; j++)
                    {
                        var ca = attribute.ConstructorArguments[j];
                        param.Add(appdomain.GetType(ca.Type, null, null));
                        p[j] = ca.Value;
                    }
                    var ctor = it.GetConstructor(param);
                    appdomain.Invoke(ctor, ins, p);
                }

                if (attribute.HasProperties)
                {
                    object[] p = new object[1];
                    foreach (var j in attribute.Properties)
                    {
                        p[0] = j.Argument.Value;
                        var setter = it.GetMethod("set_" + j.Name, 1);
                        appdomain.Invoke(setter, ins, p);
                    }
                }
            }
            else
            {
                param = new List<IType>();
                object[] p = null;
                if (attribute.HasConstructorArguments)
                {
                    p = new object[attribute.ConstructorArguments.Count];
                    for (int j = 0; j < attribute.ConstructorArguments.Count; j++)
                    {
                        var ca = attribute.ConstructorArguments[j];
                        param.Add(appdomain.GetType(ca.Type, null, null));
                        p[j] = ca.Value;
                    }
                }
                ins = ((CLRMethod)at.GetConstructor(param)).ConstructorInfo.Invoke(p);
                if (attribute.HasProperties)
                {
                    foreach (var j in attribute.Properties)
                    {
                        var prop = at.TypeForCLR.GetProperty(j.Name);
                        prop.SetValue(ins, j.Argument.Value, null);
                    }
                }
            }

            return ins;
        }
    }
}


================================================
FILE: ILRuntime/ILRuntime/Reflection/ILRuntimeConstructorInfo.cs
================================================
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Reflection;
using System.Globalization;

using ILRuntime.CLR.Method;
using ILRuntime.CLR.TypeSystem;

namespace ILRuntime.Reflection
{
    public class ILRuntimeConstructorInfo : ConstructorInfo
    {
        ILMethod method;
        ILRuntimeParameterInfo[] parameters;
        public ILRuntimeConstructorInfo(ILMethod m)
        {
            method = m;
            parameters = new ILRuntimeParameterInfo[m.ParameterCount];
            for(int i = 0; i < m.ParameterCount; i++)
            {
                parameters[i] = new ILRuntimeParameterInfo(m.Parameters[i]);
            }
        }

        internal ILMethod ILMethod { get { return method; } }
        public override MethodAttributes Attributes
        {
            get
            {
                return MethodAttributes.Public;
            }
        }

        public override Type DeclaringType
        {
            get
            {
                return method.DeclearingType.ReflectionType;
            }
        }

        public override RuntimeMethodHandle MethodHandle
        {
            get
            {
                throw new NotImplementedException();
            }
        }

        public override string Name
        {
            get
            {
                return method.Name;
            }
        }

        public override Type ReflectedType
        {
            get
            {
                return method.DeclearingType.ReflectionType;
            }
        }

        public override object[] GetCustomAttributes(bool inherit)
        {
            throw new NotImplementedException();
        }

        public override object[] GetCustomAttributes(Type attributeType, bool inherit)
        {
            throw new NotImplementedException();
        }

        public override MethodImplAttributes GetMethodImplementationFlags()
        {
            throw new NotImplementedException();
        }

        public override ParameterInfo[] GetParameters()
        {
            return parameters;
        }

        public override object Invoke(object obj, BindingFlags invokeAttr, Binder binder, object[] parameters, CultureInfo culture)
        {
            var res = ((ILType)method.DeclearingType).Instantiate(false);
            method.DeclearingType.AppDomain.Invoke(method, res, parameters);
            return res;
        }

        public override bool IsDefined(Type attributeType, bool inherit)
        {
            throw new NotImplementedException();
        }

        public override object Invoke(BindingFlags invokeAttr, Binder binder, object[] parameters, CultureInfo culture)
        {
            var res = ((ILType)method.DeclearingType).Instantiate(false);
            method.DeclearingType.AppDomain.Invoke(method, res, parameters);
            return res;
        }
    }
}


================================================
FILE: ILRuntime/ILRuntime/Reflection/ILRuntimeFieldInfo.cs
================================================
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Reflection;
using System.Globalization;

using Mono.Cecil;
using ILRuntime.CLR.Utils;
using ILRuntime.CLR.TypeSystem;
using ILRuntime.Runtime;
using ILRuntime.Runtime.Stack;
using ILRuntime.Runtime.Enviorment;
using ILRuntime.Runtime.Intepreter;

namespace ILRuntime.Reflection
{
    public class ILRuntimeFieldInfo : FieldInfo
    {
        System.Reflection.FieldAttributes attr;
        ILRuntimeType dType;
        ILType ilType;
        IType fieldType;
        bool isStatic;
        int fieldIdx;
        string name;
        FieldDefinition definition;
        Runtime.Enviorment.AppDomain appdomain;
        object[] customAttributes;
        Type[] attributeTypes;

        public IType ILFieldType { get { return fieldType; } }

        public ILRuntimeFieldInfo(FieldDefinition def, ILRuntimeType declaredType, bool isStatic, int fieldIdx)
        {
            definition = def;
            this.name = def.Name;
            dType = declaredType;
            ilType = dType.ILType;
            appdomain = ilType.AppDomain;
            this.isStatic = isStatic;
            this.fieldIdx = fieldIdx; 
            if (isStatic)
                attr |= System.Reflection.FieldAttributes.Static;
            if (def.IsPublic)
            {
                attr |= System.Reflection.FieldAttributes.Public;
            }
            else
                attr |= System.Reflection.FieldAttributes.Private;
            fieldType = isStatic ? ilType.StaticFieldTypes[fieldIdx] : ilType.FieldTypes[fieldIdx];
        }

        public ILRuntimeFieldInfo(FieldDefinition def, ILRuntimeType declaredType, int fieldIdx, IType fieldType)
        {
            definition = def;
            this.name = def.Name;
            dType = declaredType;
            ilType = dType.ILType;
            appdomain = ilType.AppDomain;
            this.isStatic = false;
            this.fieldIdx = fieldIdx;
            if (isStatic)
                attr |= System.Reflection.FieldAttributes.Static;
            if (def.IsPublic)
            {
                attr |= System.Reflection.FieldAttributes.Public;
            }
            else
                attr |= System.Reflection.FieldAttributes.Private;
            this.fieldType = fieldType;
        }

        void InitializeCustomAttribute()
        {
            customAttributes = new object[definition.CustomAttributes.Count];
            attributeTypes = new Type[customAttributes.Length];
            for (int i = 0; i < definition.CustomAttributes.Count; i++)
            {
                var attribute = definition.CustomAttributes[i];
                var at = appdomain.GetType(attribute.AttributeType, null, null);
                try
                {
                    object ins = attribute.CreateInstance(at, appdomain);

                    attributeTypes[i] = at.ReflectionType;
                    customAttributes[i] = ins;
                }
                catch
                {
                    attributeTypes[i] = typeof(Attribute);
                }
            }
        }

        public override System.Reflection.FieldAttributes Attributes
        {
            get
            {
                return attr;
            }
        }

        public override Type DeclaringType
        {
            get
            {
                return dType;
            }
        }

        public override RuntimeFieldHandle FieldHandle
        {
            get
            {
                throw new NotImplementedException();
            }
        }

        public override Type FieldType
        {
            get
            {
                return fieldType.ReflectionType;
            }
        }

        public override string Name
        {
            get
            {
                return name;
            }
        }

        public override Type ReflectedType
        {
            get
            {
                return fieldType.ReflectionType;
            }
        }

        public override object[] GetCustomAttributes(bool inherit)
        {
            if (customAttributes == null)
                InitializeCustomAttribute();

            return customAttributes;
        }

        public override object[] GetCustomAttributes(Type attributeType, bool inherit)
        {
            if (customAttributes == null)
                InitializeCustomAttribute();
            List<object> res = new List<object>();
            for (int i = 0; i < customAttributes.Length; i++)
            {
                if (attributeTypes[i] == attributeType)
                    res.Add(customAttributes[i]);
            }
            return res.ToArray();
        }

        public override object GetValue(object obj)
        {
            unsafe
            {
                StackObject esp;
                ILTypeInstance ins;
                if (isStatic)
                {
                    ins = ilType.StaticInstance;
                }
                else
                {
                    if (obj is ILTypeInstance)
                        ins = (ILTypeInstance)obj;
                    else
                        ins = ((CrossBindingAdaptorType)obj).ILInstance;
                }
                return fieldType.TypeForCLR.CheckCLRTypes(ins[fieldIdx]);
            }
        }

        public override bool IsDefined(Type attributeType, bool inherit)
        {
            if (customAttributes == null)
                InitializeCustomAttribute();
            for (int i = 0; i < customAttributes.Length; i++)
            {
                if (attributeTypes[i] == attributeType)
                    return true;
            }
            return false;
        }

        public override void SetValue(object obj, object value, BindingFlags invokeAttr, Binder binder, CultureInfo culture)
        {
            unsafe
            {
                StackObject esp;
                if (value is CrossBindingAdaptorType)
                    value = ((CrossBindingAdaptorType)value).ILInstance;
                ILTypeInstance ins;
                if (isStatic)
                {
                    ins = ilType.StaticInstance;
                }
                else
                {
                    if (obj is ILTypeInstance)
                        ins = (ILTypeInstance)obj;
                    else
                        ins = ((CrossBindingAdaptorType)obj).ILInstance;
                }
                ins[fieldIdx] = value;
            }
        }
    }
}


================================================
FILE: ILRuntime/ILRuntime/Reflection/ILRuntimeMethodInfo.cs
================================================
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Reflection;
using System.Globalization;

using ILRuntime.CLR.Method;

namespace ILRuntime.Reflection
{
    public class ILRuntimeMethodInfo : MethodInfo
    {
        ILMethod method;
        ILRuntimeParameterInfo[] parameters;
        Mono.Cecil.MethodDefinition definition;
        ILRuntime.Runtime.Enviorment.AppDomain appdomain;

        object[] customAttributes;
        Type[] attributeTypes;
        public ILRuntimeMethodInfo(ILMethod m)
        {
            method = m;
            definition = m.Definition;
            appdomain = m.DeclearingType.AppDomain;
            parameters = new ILRuntimeParameterInfo[m.ParameterCount];
            for (int i = 0; i < m.ParameterCount; i++)
            {
                parameters[i] = new ILRuntimeParameterInfo(m.Parameters[i]);
            }
        }

        void InitializeCustomAttribute()
        {
            customAttributes = new object[definition.CustomAttributes.Count];
            attributeTypes = new Type[customAttributes.Length];
            for (int i = 0; i < definition.CustomAttributes.Count; i++)
            {
                var attribute = definition.CustomAttributes[i];
                var at = appdomain.GetType(attribute.AttributeType, null, null);
                try
                {
                    object ins = attribute.CreateInstance(at, appdomain);

                    attributeTypes[i] = at.ReflectionType;
                    customAttributes[i] = ins;
                }
                catch
                {
                    attributeTypes[i] = typeof(Attribute);
                }
            }
        }

        internal ILMethod ILMethod { get { return method; } }
        public override MethodAttributes Attributes
        {
            get
            {
                return MethodAttributes.Public;
            }
        }

        public override Type DeclaringType
        {
            get
            {
                return method.DeclearingType.ReflectionType;
            }
        }

        public override RuntimeMethodHandle MethodHandle
        {
            get
            {
                throw new NotImplementedException();
            }
        }

        public override string Name
        {
            get
            {
                return method.Name;
            }
        }

        public override Type ReflectedType
        {
            get
            {
                return method.DeclearingType.ReflectionType;
            }
        }

        public override ICustomAttributeProvider ReturnTypeCustomAttributes
        {
            get
            {
                throw new NotImplementedException();
            }
        }

        public override MethodInfo GetBaseDefinition()
        {
            return this;
        }

        public override object[] GetCustomAttributes(bool inherit)
        {
            if (customAttributes == null)
                InitializeCustomAttribute();

            return customAttributes;
        }

        public override object[] GetCustomAttributes(Type attributeType, bool inherit)
        {
            if (customAttributes == null)
                InitializeCustomAttribute();
            List<object> res = new List<object>();
            for (int i = 0; i < customAttributes.Length; i++)
            {
                if (attributeTypes[i] == attributeType)
                    res.Add(customAttributes[i]);
            }
            return res.ToArray();
        }

        public override MethodImplAttributes GetMethodImplementationFlags()
        {
            throw new NotImplementedException();
        }

        public override ParameterInfo[] GetParameters()
        {
            throw new NotImplementedException();
        }

        public override object Invoke(object obj, BindingFlags invokeAttr, Binder binder, object[] parameters, CultureInfo culture)
        {
            if (method.HasThis)
            {
                var res = appdomain.Invoke(method, obj, parameters);
                return res;
            }
            else
                return appdomain.Invoke(method, null, parameters);
        }

        public override bool IsDefined(Type attributeType, bool inherit)
        {
            if (customAttributes == null)
                InitializeCustomAttribute();
            for (int i = 0; i < customAttributes.Length; i++)
            {
                if (attributeTypes[i] == attributeType)
                    return true;
            }
            return false;
        }
    }
}


================================================
FILE: ILRuntime/ILRuntime/Reflection/ILRuntimeParameterInfo.cs
================================================
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Reflection;
using System.Globalization;

using ILRuntime.CLR.TypeSystem;

namespace ILRuntime.Reflection
{
    public class ILRuntimeParameterInfo : ParameterInfo
    {
        IType type;

        public ILRuntimeParameterInfo(IType type)
        {
            this.type = type;
        }
        public override Type ParameterType
        {
            get
            {
                return type.ReflectionType;
            }
        }
    }
}


================================================
FILE: ILRuntime/ILRuntime/Reflection/ILRuntimePropertyInfo.cs
================================================
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Reflection;
using System.Globalization;

using ILRuntime.CLR.Method;
using ILRuntime.CLR.TypeSystem;

namespace ILRuntime.Reflection
{
    public class ILRuntimePropertyInfo : PropertyInfo
    {
        ILMethod getter, setter;
        ILType dType;
        Mono.Cecil.PropertyDefinition definition;
        ILRuntime.Runtime.Enviorment.AppDomain appdomain;

        object[] customAttributes;
        Type[] attributeTypes;
        static object[] param = new object[1];

        public ILMethod Getter
        {
            get { return getter; }
            set
            {
                getter = value;
            }
        }

        public ILMethod Setter
        {
            get { return setter; }
            set
            {
                setter = value;
            }
        }

        public bool IsPublic
        {
            get
            {
                if (getter != null)
                    return getter.Definition.IsPublic;
                else
                    return setter.Definition.IsPublic;
            }
        }

        public bool IsStatic
        {
            get
            {
                if (getter != null)
                    return getter.IsStatic;
                else
                    return setter.IsStatic;
            }
        }
        public ILRuntimePropertyInfo(Mono.Cecil.PropertyDefinition definition, ILType dType)
        {
            this.definition = definition;
            this.dType = dType;
            appdomain = dType.AppDomain;
        }

        void InitializeCustomAttribute()
        {
            customAttributes = new object[definition.CustomAttributes.Count];
            attributeTypes = new Type[customAttributes.Length];
            for (int i = 0; i < definition.CustomAttributes.Count; i++)
            {
                var attribute = definition.CustomAttributes[i];
                var at = appdomain.GetType(attribute.AttributeType, null, null);
                try
                {
                    object ins = attribute.CreateInstance(at, appdomain);

                    attributeTypes[i] = at.ReflectionType;
                    customAttributes[i] = ins;
                }
                catch
                {
                    attributeTypes[i] = typeof(Attribute);
                }
            }
        }

        public override string Name
        {
            get
            {
                return definition.Name;
            }
        }

        public override Type ReflectedType
        {
            get
            {
                return dType.ReflectionType;
            }
        }

        public override PropertyAttributes Attributes
        {
            get
            {
                return PropertyAttributes.None;
            }
        }

        public override bool CanRead
        {
            get
            {
                return getter != null;
            }
        }

        public override bool CanWrite
        {
            get
            {
                return setter != null;
            }
        }

        public override Type PropertyType
        {
            get
            {
                if (getter != null)
                    return getter.ReturnType.ReflectionType;
                else
                {
                    return setter.Parameters[0].ReflectionType;
                }
            }
        }

        public override Type DeclaringType
        {
            get
            {
                return dType.ReflectionType;
            }
        }

        public override object[] GetCustomAttributes(bool inherit)
        {
            if (customAttributes == null)
                InitializeCustomAttribute();

            return customAttributes;
        }

        public override object[] GetCustomAttributes(Type attributeType, bool inherit)
        {
            if (customAttributes == null)
                InitializeCustomAttribute();
            List<object> res = new List<object>();
            for (int i = 0; i < customAttributes.Length; i++)
            {
                if (attributeTypes[i] == attributeType)
                    res.Add(customAttributes[i]);
            }
            return res.ToArray();
        }

        public override bool IsDefined(Type attributeType, bool inherit)
        {
            if (customAttributes == null)
                InitializeCustomAttribute();
            for (int i = 0; i < customAttributes.Length; i++)
            {
                if (attributeTypes[i] == attributeType)
                    return true;
            }
            return false;
        }

        public override MethodInfo[] GetAccessors(bool nonPublic)
        {
            throw new NotImplementedException();
        }

        public override MethodInfo GetGetMethod(bool nonPublic)
        {
            if (getter != null)
                return getter.ReflectionMethodInfo;
            return null;
        }

        public override ParameterInfo[] GetIndexParameters()
        {
            throw new NotImplementedException();
        }

        public override MethodInfo GetSetMethod(bool nonPublic)
        {
            if (setter != null)
                return setter.ReflectionMethodInfo;
            return null;
        }

        public override object GetValue(object obj, BindingFlags invokeAttr, Binder binder, object[] index, CultureInfo culture)
        {
            return appdomain.Invoke(getter, obj, null);
        }

        public override void SetValue(object obj, object value, BindingFlags invokeAttr, Binder binder, object[] index, CultureInfo culture)
        {
            param[0] = value;
            appdomain.Invoke(setter, obj, param);
        }
    }
}


================================================
FILE: ILRuntime/ILRuntime/Reflection/ILRuntimeType.cs
================================================
using System;
using System.Collections.Generic;
using System.Globalization;
using System.Linq;
using System.Reflection;
using System.Text;
using ILRuntime.CLR.TypeSystem;
using ILRuntime.CLR.Method;
using ILRuntime.Runtime.Intepreter;

namespace ILRuntime.Reflection
{
    public class ILRuntimeType : Type
    {
        ILType type;
        Runtime.Enviorment.AppDomain appdomain;
        object[] customAttributes;
        Type[] attributeTypes;
        ILRuntimeFieldInfo[] fields;
        ILRuntimePropertyInfo[] properties;
        
Download .txt
gitextract_tlw7vj5v/

├── .gitignore
├── Apps/
│   ├── DirConfig.json
│   ├── ILRuntime.dll.config
│   ├── SGFAppDemo.exe.config
│   ├── SGFAppILRScript.dll.config
│   ├── SGFCore.dll.config
│   ├── SGFCore.xml
│   ├── SGFServer.exe.config
│   └── SGFServerDemo.exe.config
├── ILRuntime/
│   ├── App.config
│   ├── ILRuntime/
│   │   ├── Adapters/
│   │   │   └── Editor/
│   │   │       └── ILRuntimeCLRBinding.cs
│   │   ├── CLR/
│   │   │   ├── Method/
│   │   │   │   ├── CLRMethod.cs
│   │   │   │   ├── ExceptionHandler.cs
│   │   │   │   ├── ILMethod.cs
│   │   │   │   └── IMethod.cs
│   │   │   ├── TypeSystem/
│   │   │   │   ├── CLRType.cs
│   │   │   │   ├── ILGenericParameterType.cs
│   │   │   │   ├── ILType.cs
│   │   │   │   └── IType.cs
│   │   │   └── Utils/
│   │   │       └── Extensions.cs
│   │   ├── Other/
│   │   │   ├── ByReferenceKeyComparer.cs
│   │   │   ├── DelegateExportAttribute.cs
│   │   │   ├── NeedAdaptorAttribute.cs
│   │   │   ├── ThreadSafeDictionary.cs
│   │   │   └── UncheckedList.cs
│   │   ├── Reflection/
│   │   │   ├── Extensions.cs
│   │   │   ├── ILRuntimeConstructorInfo.cs
│   │   │   ├── ILRuntimeFieldInfo.cs
│   │   │   ├── ILRuntimeMethodInfo.cs
│   │   │   ├── ILRuntimeParameterInfo.cs
│   │   │   ├── ILRuntimePropertyInfo.cs
│   │   │   ├── ILRuntimeType.cs
│   │   │   └── ILRuntimeWrapperType.cs
│   │   └── Runtime/
│   │       ├── Adaptors/
│   │       │   └── CLRCrossBindingAdaptors.cs
│   │       ├── CLRBinding/
│   │       │   ├── BindingCodeGenerator.cs
│   │       │   ├── BindingGeneratorExtensions.cs
│   │       │   ├── CommonBindingGenerator.cs
│   │       │   ├── ConstructorBindingGenerator.cs
│   │       │   ├── FieldBindingGenerator.cs
│   │       │   ├── MethodBindingGenerator.cs
│   │       │   └── ValueTypeBindingGenerator.cs
│   │       ├── Debugger/
│   │       │   ├── BreakPointContext.cs
│   │       │   ├── BreakpointInfo.cs
│   │       │   ├── DebugMessageType.cs
│   │       │   ├── DebugService.cs
│   │       │   ├── DebugSocket.cs
│   │       │   ├── DebuggerServer/
│   │       │   │   └── DebuggerServer.cs
│   │       │   ├── Protocol/
│   │       │   │   ├── CSBindBreakpoint.cs
│   │       │   │   ├── CSDeleteBreakpoint.cs
│   │       │   │   ├── CSExecute.cs
│   │       │   │   ├── CSResolveVariable.cs
│   │       │   │   ├── CSStep.cs
│   │       │   │   ├── SCAttachResult.cs
│   │       │   │   ├── SCBindBreakpointResult.cs
│   │       │   │   ├── SCBreakpointHit.cs
│   │       │   │   ├── SCModuleLoaded.cs
│   │       │   │   ├── SCResolveVariableResult.cs
│   │       │   │   ├── SCStepComplete.cs
│   │       │   │   └── SCThreadStarted.cs
│   │       │   ├── StackFrameInfo.cs
│   │       │   ├── StepTypes.cs
│   │       │   └── VariableInfo.cs
│   │       ├── Enviorment/
│   │       │   ├── AppDomain.cs
│   │       │   ├── CLRRedirections.cs
│   │       │   ├── CrossBindingAdaptor.cs
│   │       │   ├── DelegateManager.cs
│   │       │   ├── ILContext.cs
│   │       │   └── ValueTypeBinder.cs
│   │       ├── Extensions.cs
│   │       ├── Intepreter/
│   │       │   ├── DelegateAdapter.cs
│   │       │   ├── ILIntepreter.cs
│   │       │   ├── ILRuntimeException.cs
│   │       │   ├── ILTypeInstance.cs
│   │       │   └── OpCodes/
│   │       │       ├── OpCode.cs
│   │       │       └── OpCodeEnum.cs
│   │       └── Stack/
│   │           ├── RuntimeStack.cs
│   │           ├── StackFrame.cs
│   │           └── StackObject.cs
│   ├── ILRuntime.csproj
│   ├── ILRuntime.csproj.user
│   ├── Mono.Cecil.20/
│   │   └── MonoCecil/
│   │       ├── Mono/
│   │       │   ├── Actions.cs
│   │       │   ├── Empty.cs
│   │       │   └── Funcs.cs
│   │       ├── Mono.Cecil/
│   │       │   ├── ArrayType.cs
│   │       │   ├── AssemblyDefinition.cs
│   │       │   ├── AssemblyFlags.cs
│   │       │   ├── AssemblyHashAlgorithm.cs
│   │       │   ├── AssemblyLinkedResource.cs
│   │       │   ├── AssemblyNameDefinition.cs
│   │       │   ├── AssemblyNameReference.cs
│   │       │   ├── AssemblyReader.cs
│   │       │   ├── AssemblyWriter.cs
│   │       │   ├── BaseAssemblyResolver.cs
│   │       │   ├── CallSite.cs
│   │       │   ├── CustomAttribute.cs
│   │       │   ├── DefaultAssemblyResolver.cs
│   │       │   ├── EmbeddedResource.cs
│   │       │   ├── EventAttributes.cs
│   │       │   ├── EventDefinition.cs
│   │       │   ├── EventReference.cs
│   │       │   ├── ExportedType.cs
│   │       │   ├── FieldAttributes.cs
│   │       │   ├── FieldDefinition.cs
│   │       │   ├── FieldReference.cs
│   │       │   ├── FileAttributes.cs
│   │       │   ├── FunctionPointerType.cs
│   │       │   ├── GenericInstanceMethod.cs
│   │       │   ├── GenericInstanceType.cs
│   │       │   ├── GenericParameter.cs
│   │       │   ├── GenericParameterAttributes.cs
│   │       │   ├── IConstantProvider.cs
│   │       │   ├── ICustomAttributeProvider.cs
│   │       │   ├── IGenericInstance.cs
│   │       │   ├── IGenericParameterProvider.cs
│   │       │   ├── IMarshalInfoProvider.cs
│   │       │   ├── IMemberDefinition.cs
│   │       │   ├── IMetadataScope.cs
│   │       │   ├── IMetadataTokenProvider.cs
│   │       │   ├── IMethodSignature.cs
│   │       │   ├── Import.cs
│   │       │   ├── LinkedResource.cs
│   │       │   ├── ManifestResourceAttributes.cs
│   │       │   ├── MarshalInfo.cs
│   │       │   ├── MemberDefinitionCollection.cs
│   │       │   ├── MemberReference.cs
│   │       │   ├── MetadataResolver.cs
│   │       │   ├── MetadataSystem.cs
│   │       │   ├── MethodAttributes.cs
│   │       │   ├── MethodCallingConvention.cs
│   │       │   ├── MethodDefinition.cs
│   │       │   ├── MethodImplAttributes.cs
│   │       │   ├── MethodReference.cs
│   │       │   ├── MethodReturnType.cs
│   │       │   ├── MethodSemanticsAttributes.cs
│   │       │   ├── MethodSpecification.cs
│   │       │   ├── Modifiers.cs
│   │       │   ├── ModuleDefinition.cs
│   │       │   ├── ModuleKind.cs
│   │       │   ├── ModuleReference.cs
│   │       │   ├── NativeType.cs
│   │       │   ├── PInvokeAttributes.cs
│   │       │   ├── PInvokeInfo.cs
│   │       │   ├── ParameterAttributes.cs
│   │       │   ├── ParameterDefinition.cs
│   │       │   ├── ParameterDefinitionCollection.cs
│   │       │   ├── ParameterReference.cs
│   │       │   ├── PinnedType.cs
│   │       │   ├── PointerType.cs
│   │       │   ├── PropertyAttributes.cs
│   │       │   ├── PropertyDefinition.cs
│   │       │   ├── PropertyReference.cs
│   │       │   ├── ReferenceType.cs
│   │       │   ├── Resource.cs
│   │       │   ├── SecurityDeclaration.cs
│   │       │   ├── SentinelType.cs
│   │       │   ├── TargetRuntime.cs
│   │       │   ├── TypeAttributes.cs
│   │       │   ├── TypeDefinition.cs
│   │       │   ├── TypeDefinitionCollection.cs
│   │       │   ├── TypeParser.cs
│   │       │   ├── TypeReference.cs
│   │       │   ├── TypeSpecification.cs
│   │       │   ├── TypeSystem.cs
│   │       │   └── VariantType.cs
│   │       ├── Mono.Cecil.Cil/
│   │       │   ├── Code.cs
│   │       │   ├── CodeReader.cs
│   │       │   ├── CodeWriter.cs
│   │       │   ├── Document.cs
│   │       │   ├── ExceptionHandler.cs
│   │       │   ├── ILProcessor.cs
│   │       │   ├── Instruction.cs
│   │       │   ├── MethodBody.cs
│   │       │   ├── OpCode.cs
│   │       │   ├── OpCodes.cs
│   │       │   ├── SequencePoint.cs
│   │       │   ├── Symbols.cs
│   │       │   ├── VariableDefinition.cs
│   │       │   └── VariableReference.cs
│   │       ├── Mono.Cecil.Metadata/
│   │       │   ├── BlobHeap.cs
│   │       │   ├── Buffers.cs
│   │       │   ├── CodedIndex.cs
│   │       │   ├── ElementType.cs
│   │       │   ├── GuidHeap.cs
│   │       │   ├── Heap.cs
│   │       │   ├── MetadataToken.cs
│   │       │   ├── Row.cs
│   │       │   ├── StringHeap.cs
│   │       │   ├── TableHeap.cs
│   │       │   ├── TokenType.cs
│   │       │   ├── UserStringHeap.cs
│   │       │   └── Utilities.cs
│   │       ├── Mono.Cecil.PE/
│   │       │   ├── BinaryStreamReader.cs
│   │       │   ├── BinaryStreamWriter.cs
│   │       │   ├── ByteBuffer.cs
│   │       │   ├── ByteBufferEqualityComparer.cs
│   │       │   ├── DataDirectory.cs
│   │       │   ├── Image.cs
│   │       │   ├── ImageReader.cs
│   │       │   ├── ImageWriter.cs
│   │       │   ├── Section.cs
│   │       │   └── TextMap.cs
│   │       ├── Mono.Collections.Generic/
│   │       │   ├── Collection.cs
│   │       │   └── ReadOnlyCollection.cs
│   │       └── Mono.Security.Cryptography/
│   │           ├── CryptoConvert.cs
│   │           └── CryptoService.cs
│   └── Properties/
│       └── AssemblyInfo.cs
├── Libs/
│   ├── PublishLibrary.bat
│   ├── SGFAppDemo.exe.config
│   ├── SGFAppILRScript.dll.config
│   └── SGFCore.dll.config
├── README.md
├── SGF.sln
├── SGFAppCommon/
│   ├── Data/
│   │   ├── PlayerData.cs
│   │   ├── RoomData.cs
│   │   └── UserData.cs
│   ├── Properties/
│   │   └── AssemblyInfo.cs
│   ├── Proto/
│   │   ├── HeartBeatProto.cs
│   │   ├── LoginProto.cs
│   │   └── ProtoCmd.cs
│   └── SGFAppCommon.csproj
├── SGFAppDemo/
│   ├── App.config
│   ├── AppMain.cs
│   ├── Framework/
│   │   ├── SGFGameDefine.cs
│   │   ├── SGFGameMainLoop.cs
│   │   └── SGFGameObject.cs
│   ├── GlobalEvent.cs
│   ├── ModuleDef.cs
│   ├── Modules/
│   │   └── Version/
│   │       └── VersionModule.cs
│   ├── Program.cs
│   ├── Properties/
│   │   └── AssemblyInfo.cs
│   ├── SGFAppDemo.csproj
│   ├── SGFGameDefine.cs
│   ├── SGFGameMainLoop.cs
│   ├── SGFGameObject.cs
│   └── Services/
│       └── Online/
│           ├── HeartBeatHandler.cs
│           ├── OnlineManager.cs
│           ├── ServerProfiler.cs
│           └── ServerTestBot.cs
├── SGFAppILRScript/
│   ├── App.config
│   ├── ModuleDef.cs
│   ├── Modules/
│   │   ├── Login/
│   │   │   └── LoginModule.cs
│   │   └── Room/
│   │       └── RoomModule.cs
│   ├── Properties/
│   │   └── AssemblyInfo.cs
│   ├── SGFAppILRScript.csproj
│   ├── SGFAppILRScript.csproj.user
│   └── ScriptMain.cs
├── SGFCore/
│   ├── App.config
│   ├── Class1.cs
│   ├── Codec/
│   │   ├── MiniJSON.cs
│   │   ├── PBSerializer.cs
│   │   └── SGFEncoding.cs
│   ├── Event/
│   │   └── Signal.cs
│   ├── Extension/
│   │   ├── CollectionExtensions.cs
│   │   ├── ObjectExtensions.cs
│   │   ├── StreamExtension.cs
│   │   └── StringExtensions.cs
│   ├── G3Lite/
│   │   ├── IndexTypes.cs
│   │   ├── MathUtil.cs
│   │   ├── Matrix3.cs
│   │   ├── Quaternion.cs
│   │   ├── Vector2.cs
│   │   ├── Vector3.cs
│   │   └── Vector4.cs
│   ├── IPCWork/
│   │   ├── IPCConfig.cs
│   │   ├── IPCManager.cs
│   │   └── IPCMessage.cs
│   ├── Marshals/
│   │   ├── MarshalArray.cs
│   │   └── MarshalList.cs
│   ├── MathLite/
│   │   └── SGFRandom.cs
│   ├── Module/
│   │   ├── GeneralModule.cs
│   │   ├── IModuleActivator.cs
│   │   ├── ModuleBase.cs
│   │   ├── ModuleManager.cs
│   │   └── NativeModuleActivator.cs
│   ├── MvvmLite/
│   │   ├── MvvmBinding.cs
│   │   ├── MvvmCommand.cs
│   │   ├── MvvmManager.cs
│   │   ├── MvvmModel.cs
│   │   └── MvvmViewModel.cs
│   ├── Network/
│   │   ├── Core/
│   │   │   ├── KCP/
│   │   │   │   ├── KCPSocket.cs
│   │   │   │   ├── LICENSE.txt
│   │   │   │   ├── kcp.cs
│   │   │   │   └── switch_queue.cs
│   │   │   ├── NetBuffer.cs
│   │   │   ├── NetErrorCode.cs
│   │   │   ├── RPCLite/
│   │   │   │   ├── RPCManagerBase.cs
│   │   │   │   └── RPCMessage.cs
│   │   │   ├── SocketAsyncEventArgsPool.cs
│   │   │   └── UdpSocket.cs
│   │   ├── Debuger/
│   │   │   ├── NetDebugFile.cs
│   │   │   ├── NetDebuger.cs
│   │   │   └── net_debuger.cs
│   │   ├── FSPLite/
│   │   │   ├── Client/
│   │   │   │   ├── FSPClient.cs
│   │   │   │   ├── FSPFrameController.cs
│   │   │   │   └── FSPManager.cs
│   │   │   ├── FSPBasicCmd.cs
│   │   │   ├── FSPGameEndReason.cs
│   │   │   ├── FSPGameState.cs
│   │   │   ├── FSPLiteData.cs
│   │   │   └── Server/
│   │   │       ├── FSPGame.cs
│   │   │       ├── FSPGateway.cs
│   │   │       ├── FSPManager.cs
│   │   │       ├── FSPPlayer.cs
│   │   │       └── FSPSession.cs
│   │   ├── General/
│   │   │   ├── Client/
│   │   │   │   ├── IConnection.cs
│   │   │   │   ├── KCPConnection.cs
│   │   │   │   ├── NetManager.cs
│   │   │   │   ├── RPCManager.cs
│   │   │   │   ├── TcpConnection.cs
│   │   │   │   └── UdpConnection.cs
│   │   │   ├── ConnectionType.cs
│   │   │   ├── NetDefine.cs
│   │   │   ├── NetPacket.cs
│   │   │   ├── Proto/
│   │   │   │   ├── NetErrorProto.cs
│   │   │   │   ├── NetMessage.cs
│   │   │   │   ├── ProfilerTestProto.cs
│   │   │   │   └── ProtocolHead.cs
│   │   │   ├── Server/
│   │   │   │   ├── IGateway.cs
│   │   │   │   ├── ISession.cs
│   │   │   │   ├── KCPGateway.cs
│   │   │   │   ├── KCPSession.cs
│   │   │   │   ├── NetManager.cs
│   │   │   │   ├── RPCManager.cs
│   │   │   │   ├── TcpGateway.cs
│   │   │   │   ├── TcpSession.cs
│   │   │   │   ├── UdpGateway.cs
│   │   │   │   └── UdpSession.cs
│   │   │   └── TcpConnectionBase.cs
│   │   └── Utils/
│   │       ├── DnsUtils.cs
│   │       ├── IPUtils.cs
│   │       └── NetUtils.cs
│   ├── Properties/
│   │   └── AssemblyInfo.cs
│   ├── SGFCore.csproj
│   ├── SGFCore.csproj.user
│   ├── Server/
│   │   ├── MainLoop.cs
│   │   ├── ServerConfig.cs
│   │   ├── ServerManager.cs
│   │   └── ServerModule.cs
│   ├── Threading/
│   │   └── ThreadPool.cs
│   ├── Timers/
│   │   └── Timer.cs
│   └── Utils/
│       ├── AppPrefs.cs
│       ├── CmdlineUtils.cs
│       ├── ConsoleInput.cs
│       ├── DictionarySafe.cs
│       ├── FPSUtils.cs
│       ├── FileUtils.cs
│       ├── MapList.cs
│       ├── ObjectDumpUtils.cs
│       ├── PathUtils.cs
│       ├── SGFTime.cs
│       ├── Singleton.cs
│       ├── StringUtils.cs
│       ├── ThrowHelper.cs
│       ├── TimeUtils.cs
│       └── URLUtils.cs
├── SGFCoreTest/
│   ├── Properties/
│   │   └── AssemblyInfo.cs
│   ├── SGFCoreTest.csproj
│   ├── TestMarshalArray.cs
│   └── TestMarshalList.cs
├── SGFDebuger/
│   ├── Debuger.cs
│   ├── Properties/
│   │   └── AssemblyInfo.cs
│   └── SGFDebuger.csproj
├── SGFServerLite/
│   ├── App.config
│   ├── GameServer/
│   │   └── GameServer.cs
│   ├── Program.cs
│   ├── Properties/
│   │   └── AssemblyInfo.cs
│   ├── SGFServerDemo.csproj
│   └── ZoneServer/
│       ├── Online/
│       │   └── OnlineManager.cs
│       ├── Room/
│       │   ├── Room.cs
│       │   └── RoomManager.cs
│       ├── ServerContext.cs
│       └── ZoneServer.cs
├── SGFUnity/
│   ├── Class1.cs
│   ├── Common/
│   │   ├── AppPrefs.cs
│   │   ├── DelayInvoker.cs
│   │   ├── MonoHelper.cs
│   │   └── MonoSingleton.cs
│   ├── DebugerGUI/
│   │   ├── NetDebugerGUI.cs
│   │   ├── SGFDebugerGUI.cs
│   │   └── SGFDebugerGUIBase.cs
│   ├── Extension/
│   │   ├── BitmapDrawingExtensions.cs
│   │   ├── TransformExtensions.cs
│   │   └── VectorExtensions.cs
│   ├── ILR/
│   │   ├── DebugerILR/
│   │   │   ├── DebugerMethodRedirector.cs
│   │   │   └── ILogTagAdaptor.cs
│   │   ├── DelegateConvertor.cs
│   │   ├── ILRManager.cs
│   │   ├── ModuleILR/
│   │   │   ├── GeneralModuleAdaptor.cs
│   │   │   └── ILRModuleActivator.cs
│   │   └── UIILR/
│   │       ├── ILRUILoading.cs
│   │       ├── ILRUILoadingAdaptor.cs
│   │       ├── ILRUIPage.cs
│   │       ├── ILRUIPageAdaptor.cs
│   │       ├── ILRUIPanel.cs
│   │       ├── ILRUIPanelAdaptor.cs
│   │       ├── ILRUIWidget.cs
│   │       ├── ILRUIWidgetAdaptor.cs
│   │       ├── ILRUIWindow.cs
│   │       └── ILRUIWindowAdaptor.cs
│   ├── ILRuntime/
│   │   ├── Adapters/
│   │   │   └── Editor/
│   │   │       └── ILRuntimeCLRBinding.cs
│   │   ├── CLR/
│   │   │   ├── Method/
│   │   │   │   ├── CLRMethod.cs
│   │   │   │   ├── ExceptionHandler.cs
│   │   │   │   ├── ILMethod.cs
│   │   │   │   └── IMethod.cs
│   │   │   ├── TypeSystem/
│   │   │   │   ├── CLRType.cs
│   │   │   │   ├── ILGenericParameterType.cs
│   │   │   │   ├── ILType.cs
│   │   │   │   └── IType.cs
│   │   │   └── Utils/
│   │   │       └── Extensions.cs
│   │   ├── Other/
│   │   │   ├── ByReferenceKeyComparer.cs
│   │   │   ├── DelegateExportAttribute.cs
│   │   │   ├── NeedAdaptorAttribute.cs
│   │   │   ├── ThreadSafeDictionary.cs
│   │   │   └── UncheckedList.cs
│   │   ├── Reflection/
│   │   │   ├── Extensions.cs
│   │   │   ├── ILRuntimeConstructorInfo.cs
│   │   │   ├── ILRuntimeFieldInfo.cs
│   │   │   ├── ILRuntimeMethodInfo.cs
│   │   │   ├── ILRuntimeParameterInfo.cs
│   │   │   ├── ILRuntimePropertyInfo.cs
│   │   │   ├── ILRuntimeType.cs
│   │   │   └── ILRuntimeWrapperType.cs
│   │   └── Runtime/
│   │       ├── Adaptors/
│   │       │   └── CLRCrossBindingAdaptors.cs
│   │       ├── CLRBinding/
│   │       │   ├── BindingCodeGenerator.cs
│   │       │   ├── BindingGeneratorExtensions.cs
│   │       │   ├── CommonBindingGenerator.cs
│   │       │   ├── ConstructorBindingGenerator.cs
│   │       │   ├── FieldBindingGenerator.cs
│   │       │   ├── MethodBindingGenerator.cs
│   │       │   └── ValueTypeBindingGenerator.cs
│   │       ├── Debugger/
│   │       │   ├── BreakPointContext.cs
│   │       │   ├── BreakpointInfo.cs
│   │       │   ├── DebugMessageType.cs
│   │       │   ├── DebugService.cs
│   │       │   ├── DebugSocket.cs
│   │       │   ├── DebuggerServer/
│   │       │   │   └── DebuggerServer.cs
│   │       │   ├── Protocol/
│   │       │   │   ├── CSBindBreakpoint.cs
│   │       │   │   ├── CSDeleteBreakpoint.cs
│   │       │   │   ├── CSExecute.cs
│   │       │   │   ├── CSResolveVariable.cs
│   │       │   │   ├── CSStep.cs
│   │       │   │   ├── SCAttachResult.cs
│   │       │   │   ├── SCBindBreakpointResult.cs
│   │       │   │   ├── SCBreakpointHit.cs
│   │       │   │   ├── SCModuleLoaded.cs
│   │       │   │   ├── SCResolveVariableResult.cs
│   │       │   │   ├── SCStepComplete.cs
│   │       │   │   └── SCThreadStarted.cs
│   │       │   ├── StackFrameInfo.cs
│   │       │   ├── StepTypes.cs
│   │       │   └── VariableInfo.cs
│   │       ├── Enviorment/
│   │       │   ├── AppDomain.cs
│   │       │   ├── CLRRedirections.cs
│   │       │   ├── CrossBindingAdaptor.cs
│   │       │   ├── DelegateManager.cs
│   │       │   ├── ILContext.cs
│   │       │   └── ValueTypeBinder.cs
│   │       ├── Extensions.cs
│   │       ├── Intepreter/
│   │       │   ├── DelegateAdapter.cs
│   │       │   ├── ILIntepreter.cs
│   │       │   ├── ILRuntimeException.cs
│   │       │   ├── ILTypeInstance.cs
│   │       │   └── OpCodes/
│   │       │       ├── OpCode.cs
│   │       │       └── OpCodeEnum.cs
│   │       └── Stack/
│   │           ├── RuntimeStack.cs
│   │           ├── StackFrame.cs
│   │           └── StackObject.cs
│   ├── Mono.Cecil.20/
│   │   └── MonoCecil/
│   │       ├── Mono/
│   │       │   ├── Actions.cs
│   │       │   ├── Empty.cs
│   │       │   └── Funcs.cs
│   │       ├── Mono.Cecil/
│   │       │   ├── ArrayType.cs
│   │       │   ├── AssemblyDefinition.cs
│   │       │   ├── AssemblyFlags.cs
│   │       │   ├── AssemblyHashAlgorithm.cs
│   │       │   ├── AssemblyLinkedResource.cs
│   │       │   ├── AssemblyNameDefinition.cs
│   │       │   ├── AssemblyNameReference.cs
│   │       │   ├── AssemblyReader.cs
│   │       │   ├── AssemblyWriter.cs
│   │       │   ├── BaseAssemblyResolver.cs
│   │       │   ├── CallSite.cs
│   │       │   ├── CustomAttribute.cs
│   │       │   ├── DefaultAssemblyResolver.cs
│   │       │   ├── EmbeddedResource.cs
│   │       │   ├── EventAttributes.cs
│   │       │   ├── EventDefinition.cs
│   │       │   ├── EventReference.cs
│   │       │   ├── ExportedType.cs
│   │       │   ├── FieldAttributes.cs
│   │       │   ├── FieldDefinition.cs
│   │       │   ├── FieldReference.cs
│   │       │   ├── FileAttributes.cs
│   │       │   ├── FunctionPointerType.cs
│   │       │   ├── GenericInstanceMethod.cs
│   │       │   ├── GenericInstanceType.cs
│   │       │   ├── GenericParameter.cs
│   │       │   ├── GenericParameterAttributes.cs
│   │       │   ├── IConstantProvider.cs
│   │       │   ├── ICustomAttributeProvider.cs
│   │       │   ├── IGenericInstance.cs
│   │       │   ├── IGenericParameterProvider.cs
│   │       │   ├── IMarshalInfoProvider.cs
│   │       │   ├── IMemberDefinition.cs
│   │       │   ├── IMetadataScope.cs
│   │       │   ├── IMetadataTokenProvider.cs
│   │       │   ├── IMethodSignature.cs
│   │       │   ├── Import.cs
│   │       │   ├── LinkedResource.cs
│   │       │   ├── ManifestResourceAttributes.cs
│   │       │   ├── MarshalInfo.cs
│   │       │   ├── MemberDefinitionCollection.cs
│   │       │   ├── MemberReference.cs
│   │       │   ├── MetadataResolver.cs
│   │       │   ├── MetadataSystem.cs
│   │       │   ├── MethodAttributes.cs
│   │       │   ├── MethodCallingConvention.cs
│   │       │   ├── MethodDefinition.cs
│   │       │   ├── MethodImplAttributes.cs
│   │       │   ├── MethodReference.cs
│   │       │   ├── MethodReturnType.cs
│   │       │   ├── MethodSemanticsAttributes.cs
│   │       │   ├── MethodSpecification.cs
│   │       │   ├── Modifiers.cs
│   │       │   ├── ModuleDefinition.cs
│   │       │   ├── ModuleKind.cs
│   │       │   ├── ModuleReference.cs
│   │       │   ├── NativeType.cs
│   │       │   ├── PInvokeAttributes.cs
│   │       │   ├── PInvokeInfo.cs
│   │       │   ├── ParameterAttributes.cs
│   │       │   ├── ParameterDefinition.cs
│   │       │   ├── ParameterDefinitionCollection.cs
│   │       │   ├── ParameterReference.cs
│   │       │   ├── PinnedType.cs
│   │       │   ├── PointerType.cs
│   │       │   ├── PropertyAttributes.cs
│   │       │   ├── PropertyDefinition.cs
│   │       │   ├── PropertyReference.cs
│   │       │   ├── ReferenceType.cs
│   │       │   ├── Resource.cs
│   │       │   ├── SecurityDeclaration.cs
│   │       │   ├── SentinelType.cs
│   │       │   ├── TargetRuntime.cs
│   │       │   ├── TypeAttributes.cs
│   │       │   ├── TypeDefinition.cs
│   │       │   ├── TypeDefinitionCollection.cs
│   │       │   ├── TypeParser.cs
│   │       │   ├── TypeReference.cs
│   │       │   ├── TypeSpecification.cs
│   │       │   ├── TypeSystem.cs
│   │       │   └── VariantType.cs
│   │       ├── Mono.Cecil.Cil/
│   │       │   ├── Code.cs
│   │       │   ├── CodeReader.cs
│   │       │   ├── CodeWriter.cs
│   │       │   ├── Document.cs
│   │       │   ├── ExceptionHandler.cs
│   │       │   ├── ILProcessor.cs
│   │       │   ├── Instruction.cs
│   │       │   ├── MethodBody.cs
│   │       │   ├── OpCode.cs
│   │       │   ├── OpCodes.cs
│   │       │   ├── SequencePoint.cs
│   │       │   ├── Symbols.cs
│   │       │   ├── VariableDefinition.cs
│   │       │   └── VariableReference.cs
│   │       ├── Mono.Cecil.Metadata/
│   │       │   ├── BlobHeap.cs
│   │       │   ├── Buffers.cs
│   │       │   ├── CodedIndex.cs
│   │       │   ├── ElementType.cs
│   │       │   ├── GuidHeap.cs
│   │       │   ├── Heap.cs
│   │       │   ├── MetadataToken.cs
│   │       │   ├── Row.cs
│   │       │   ├── StringHeap.cs
│   │       │   ├── TableHeap.cs
│   │       │   ├── TokenType.cs
│   │       │   ├── UserStringHeap.cs
│   │       │   └── Utilities.cs
│   │       ├── Mono.Cecil.PE/
│   │       │   ├── BinaryStreamReader.cs
│   │       │   ├── BinaryStreamWriter.cs
│   │       │   ├── ByteBuffer.cs
│   │       │   ├── ByteBufferEqualityComparer.cs
│   │       │   ├── DataDirectory.cs
│   │       │   ├── Image.cs
│   │       │   ├── ImageReader.cs
│   │       │   ├── ImageWriter.cs
│   │       │   ├── Section.cs
│   │       │   └── TextMap.cs
│   │       ├── Mono.Collections.Generic/
│   │       │   ├── Collection.cs
│   │       │   └── ReadOnlyCollection.cs
│   │       └── Mono.Security.Cryptography/
│   │           ├── CryptoConvert.cs
│   │           └── CryptoService.cs
│   ├── Properties/
│   │   └── AssemblyInfo.cs
│   ├── SGFUnity.csproj
│   ├── SGFUnity.csproj.user
│   ├── UI/
│   │   ├── Drag/
│   │   │   ├── Draggable.cs
│   │   │   └── DropZone.cs
│   │   ├── SGUI/
│   │   │   ├── Drawing.cs
│   │   │   ├── DrawingSimple.cs
│   │   │   └── GUICurve.cs
│   │   ├── UIDefine.cs
│   │   ├── UIElementBinder.cs
│   │   ├── UIEventTrigger.cs
│   │   ├── UILib/
│   │   │   ├── Control/
│   │   │   │   ├── CtlList.cs
│   │   │   │   ├── CtlListItem.cs
│   │   │   │   ├── CtlProgressBar.cs
│   │   │   │   └── UIControl.cs
│   │   │   ├── UIMsgBox.cs
│   │   │   ├── UIMsgTips.cs
│   │   │   └── UISimpleLoading.cs
│   │   ├── UILoading.cs
│   │   ├── UIManager.cs
│   │   ├── UIPage.cs
│   │   ├── UIPanel.cs
│   │   ├── UIRes.cs
│   │   ├── UIRoot.cs
│   │   ├── UIUtils.cs
│   │   ├── UIWidget.cs
│   │   └── UIWindow.cs
│   └── Utils/
│       ├── GameObjectUtils.cs
│       ├── NetUtils.cs
│       └── QRCodeUtils.cs
└── SGFUnityTest/
    ├── Properties/
    │   └── AssemblyInfo.cs
    ├── SGFUnityTest.csproj
    └── UnitTest1.cs
Download .txt
Showing preview only (554K chars total). Download the full file or copy to clipboard to get everything.
SYMBOL INDEX (5410 symbols across 558 files)

FILE: ILRuntime/ILRuntime/Adapters/Editor/ILRuntimeCLRBinding.cs
  class ILRuntimeCLRBinding (line 9) | [System.Reflection.Obfuscation(Exclude = true)]
    method GenerateCLRBinding (line 12) | [MenuItem("ILRuntime/Generate CLR Binding Code")]
    method GenerateCLRBindingByAnalysis (line 40) | [MenuItem("ILRuntime/Generate CLR Binding Code by Analysis")]
    method InitILRuntime (line 54) | static void InitILRuntime(ILRuntime.Runtime.Enviorment.AppDomain domain)

FILE: ILRuntime/ILRuntime/CLR/Method/CLRMethod.cs
  class CLRMethod (line 15) | public class CLRMethod : IMethod
    method CLRMethod (line 92) | internal CLRMethod(MethodInfo def, CLRType type, ILRuntime.Runtime.Env...
    method CLRMethod (line 120) | internal CLRMethod(ConstructorInfo def, CLRType type, ILRuntime.Runtim...
    method InitParameters (line 173) | void InitParameters()
    method Minus (line 205) | unsafe StackObject* Minus(StackObject* a, int b)
    method Invoke (line 210) | public unsafe object Invoke(Runtime.Intepreter.ILIntepreter intepreter...
    method FixReference (line 279) | unsafe void FixReference(int paramCount, StackObject* esp, object[] pa...
    method MakeGenericMethod (line 334) | public IMethod MakeGenericMethod(IType[] genericArguments)
    method ToString (line 347) | public override string ToString()
    method GetHashCode (line 355) | public override int GetHashCode()

FILE: ILRuntime/ILRuntime/CLR/Method/ExceptionHandler.cs
  type ExceptionHandlerType (line 10) | enum ExceptionHandlerType
  class ExceptionHandler (line 16) | class ExceptionHandler

FILE: ILRuntime/ILRuntime/CLR/Method/ILMethod.cs
  method ILMethod (line 128) | public ILMethod(MethodDefinition def, ILType type, ILRuntime.Runtime.Env...
  method FindGenericArgument (line 159) | public IType FindGenericArgument(string name)
  method InitCodeBody (line 240) | void InitCodeBody()

FILE: ILRuntime/ILRuntime/CLR/Method/IMethod.cs
  type IMethod (line 9) | public interface IMethod
    method MakeGenericMethod (line 31) | IMethod MakeGenericMethod(IType[] genericArguments);

FILE: ILRuntime/ILRuntime/CLR/TypeSystem/CLRType.cs
  class CLRType (line 14) | public class CLRType : IType
    method CLRType (line 88) | public CLRType(Type clrType, Runtime.Enviorment.AppDomain appdomain)
    method PerformMemberwiseClone (line 236) | public object PerformMemberwiseClone(object target)
    method InitializeBaseType (line 258) | void InitializeBaseType()
    method InitializeInterfaces (line 268) | void InitializeInterfaces()
    method GetFieldValue (line 282) | public object GetFieldValue(int hash, object target)
    method SetStaticFieldValue (line 302) | public void SetStaticFieldValue(int hash, object value)
    method SetFieldValue (line 322) | public unsafe void SetFieldValue(int hash, ref object target, object v...
    method GetFieldGetter (line 341) | private CLRFieldGetterDelegate GetFieldGetter(int hash)
    method GetFieldSetter (line 353) | private CLRFieldSetterDelegate GetFieldSetter(int hash)
    method GetField (line 365) | public FieldInfo GetField(int hash)
    method InitializeMethods (line 377) | void InitializeMethods()
    method GetMethods (line 398) | public List<IMethod> GetMethods()
    method GetVirtualMethod (line 412) | public IMethod GetVirtualMethod(IMethod method)
    method InitializeFields (line 423) | void InitializeFields()
    method GetFieldIndex (line 466) | public int GetFieldIndex(object token)
    method FindGenericArgument (line 485) | public IType FindGenericArgument(string key)
    method GetMethod (line 497) | public IMethod GetMethod(string name, int paramCount, bool declaredOnl...
    method GetMethod (line 513) | public IMethod GetMethod(string name, List<IType> param, IType[] gener...
    method CanAssignTo (line 609) | public bool CanAssignTo(IType type)
    method GetConstructor (line 619) | public IMethod GetConstructor(List<IType> param)
    method MakeGenericInstance (line 647) | public IType MakeGenericInstance(KeyValuePair<string, IType>[] generic...
    method CreateDefaultInstance (line 678) | public object CreateDefaultInstance()
    method CreateArrayInstance (line 691) | public object CreateArrayInstance(int size)
    method MakeByRefType (line 704) | public IType MakeByRefType()
    method MakeArrayType (line 713) | public IType MakeArrayType()
    method ResolveGenericType (line 725) | public IType ResolveGenericType(IType contextType)
    method GetHashCode (line 730) | public override int GetHashCode()
    method ToString (line 737) | public override string ToString()

FILE: ILRuntime/ILRuntime/CLR/TypeSystem/ILGenericParameterType.cs
  class ILGenericParameterType (line 8) | class ILGenericParameterType : IType
    method ILGenericParameterType (line 12) | public ILGenericParameterType(string name)
    method GetMethod (line 48) | public Method.IMethod GetMethod(string name, int paramCount, bool decl...
    method GetMethod (line 53) | public Method.IMethod GetMethod(string name, List<IType> param, IType[...
    method GetMethods (line 58) | public List<Method.IMethod> GetMethods()
    method GetConstructor (line 63) | public Method.IMethod GetConstructor(List<IType> param)
    method CanAssignTo (line 68) | public bool CanAssignTo(IType type)
    method MakeGenericInstance (line 73) | public IType MakeGenericInstance(KeyValuePair<string, IType>[] generic...
    method ResolveGenericType (line 78) | public IType ResolveGenericType(IType contextType)
    method GetFieldIndex (line 84) | public int GetFieldIndex(object token)
    method FindGenericArgument (line 90) | public IType FindGenericArgument(string key)
    method MakeByRefType (line 101) | public IType MakeByRefType()
    method MakeArrayType (line 112) | public IType MakeArrayType()
    method GetVirtualMethod (line 162) | public Method.IMethod GetVirtualMethod(Method.IMethod method)

FILE: ILRuntime/ILRuntime/CLR/TypeSystem/ILType.cs
  class ILType (line 14) | public class ILType : IType
    method ILType (line 214) | public ILType(TypeReference def, Runtime.Enviorment.AppDomain domain)
    method RetriveDefinitino (line 225) | void RetriveDefinitino(TypeReference def)
    method GetMethods (line 365) | public List<IMethod> GetMethods()
    method InitializeInterfaces (line 378) | void InitializeInterfaces()
    method InitializeBaseType (line 402) | void InitializeBaseType()
    method GetMethod (line 501) | public IMethod GetMethod(string name)
    method GetMethod (line 513) | public IMethod GetMethod(string name, int paramCount, bool declaredOnl...
    method InitializeMethods (line 538) | void InitializeMethods()
    method GetVirtualMethod (line 570) | public IMethod GetVirtualMethod(IMethod method)
    method GetMethod (line 601) | public IMethod GetMethod(string name, List<IType> param, IType[] gener...
    method CheckGenericArguments (line 660) | bool CheckGenericArguments(ILMethod i, IType[] genericArguments)
    method CheckGenericParams (line 686) | ILMethod CheckGenericParams(ILMethod i, List<IType> param, ref bool ma...
    method GetConstructors (line 714) | public List<ILMethod> GetConstructors()
    method GetStaticConstroctor (line 721) | public IMethod GetStaticConstroctor()
    method GetConstructor (line 728) | public IMethod GetConstructor(int paramCnt)
    method GetConstructor (line 742) | public IMethod GetConstructor(List<IType> param)
    method GetFieldIndex (line 768) | public int GetFieldIndex(object token)
    method GetField (line 791) | public IType GetField(string name, out int fieldIdx)
    method GetField (line 807) | public IType GetField(int fieldIdx, out FieldDefinition fd)
    method InitializeFields (line 820) | void InitializeFields()
    method FindGenericArgument (line 881) | public IType FindGenericArgument(string key)
    method CanAssignTo (line 894) | public bool CanAssignTo(IType type)
    method Instantiate (line 922) | public ILTypeInstance Instantiate(bool callDefaultConstructor = true)
    method MakeGenericInstance (line 935) | public IType MakeGenericInstance(KeyValuePair<string, IType>[] generic...
    method MakeByRefType (line 960) | public IType MakeByRefType()
    method MakeArrayType (line 972) | public IType MakeArrayType()
    method ResolveGenericType (line 985) | public IType ResolveGenericType(IType contextType)
    method GetHashCode (line 1021) | public override int GetHashCode()
    method ToString (line 1028) | public override string ToString()

FILE: ILRuntime/ILRuntime/CLR/TypeSystem/IType.cs
  type IType (line 10) | public interface IType
    method GetMethod (line 48) | IMethod GetMethod(string name, int paramCount, bool declaredOnly = fal...
    method GetMethod (line 58) | IMethod GetMethod(string name, List<IType> param, IType[] genericArgum...
    method GetVirtualMethod (line 59) | IMethod GetVirtualMethod(IMethod method);
    method GetMethods (line 61) | List<IMethod> GetMethods();
    method GetFieldIndex (line 63) | int GetFieldIndex(object token);
    method GetConstructor (line 65) | IMethod GetConstructor(List<IType> param);
    method CanAssignTo (line 67) | bool CanAssignTo(IType type);
    method MakeGenericInstance (line 69) | IType MakeGenericInstance(KeyValuePair<string, IType>[] genericArgumen...
    method MakeByRefType (line 71) | IType MakeByRefType();
    method MakeArrayType (line 73) | IType MakeArrayType();
    method FindGenericArgument (line 74) | IType FindGenericArgument(string key);
    method ResolveGenericType (line 76) | IType ResolveGenericType(IType contextType);

FILE: ILRuntime/ILRuntime/CLR/Utils/Extensions.cs
  class Extensions (line 15) | public static class Extensions
    method GetParamList (line 18) | public static List<IType> GetParamList(this MethodReference def, ILRun...
    method ReplaceGenericArgument (line 79) | static string ReplaceGenericArgument(string typename, string argumentN...
    type TypeFlags (line 110) | [Flags]
    method FastIsEnum (line 123) | public static bool FastIsEnum(this Type pt)
    method FastIsByRef (line 128) | public static bool FastIsByRef(this Type pt)
    method FastIsPrimitive (line 133) | public static bool FastIsPrimitive(this Type pt)
    method FastIsValueType (line 138) | public static bool FastIsValueType(this Type pt)
    method GetTypeFlags (line 143) | public static TypeFlags GetTypeFlags(this Type pt)
    method CheckCLRTypes (line 180) | public static object CheckCLRTypes(this Type pt, object obj)

FILE: ILRuntime/ILRuntime/Other/ByReferenceKeyComparer.cs
  class ByReferenceKeyComparer (line 6) | class ByReferenceKeyComparer<T> : IEqualityComparer<T>
    method Equals (line 8) | public bool Equals(T x, T y)
    method GetHashCode (line 13) | public int GetHashCode(T obj)

FILE: ILRuntime/ILRuntime/Other/DelegateExportAttribute.cs
  class DelegateExportAttribute (line 6) | public class DelegateExportAttribute : System.Attribute

FILE: ILRuntime/ILRuntime/Other/NeedAdaptorAttribute.cs
  class NeedAdaptorAttribute (line 6) | public class NeedAdaptorAttribute : System.Attribute

FILE: ILRuntime/ILRuntime/Other/ThreadSafeDictionary.cs
  class ThreadSafeDictionary (line 16) | class ThreadSafeDictionary<K, V> : IDictionary<K, V>
    method Add (line 70) | public void Add(KeyValuePair<K, V> item)
    method Add (line 76) | public void Add(K key, V value)
    method Clear (line 82) | public void Clear()
    method Contains (line 88) | public bool Contains(KeyValuePair<K, V> item)
    method ContainsKey (line 94) | public bool ContainsKey(K key)
    method CopyTo (line 100) | public void CopyTo(KeyValuePair<K, V>[] array, int arrayIndex)
    method GetEnumerator (line 105) | public IEnumerator<KeyValuePair<K, V>> GetEnumerator()
    method Remove (line 110) | public bool Remove(KeyValuePair<K, V> item)
    method Remove (line 115) | public bool Remove(K key)
    method TryGetValue (line 121) | public bool TryGetValue(K key, out V value)
    method GetEnumerator (line 127) | IEnumerator IEnumerable.GetEnumerator()

FILE: ILRuntime/ILRuntime/Other/UncheckedList.cs
  class UncheckedList (line 15) | [Serializable]
    method UncheckedList (line 33) | public UncheckedList()
    method UncheckedList (line 42) | public UncheckedList(int capacity)
    method UncheckedList (line 54) | public UncheckedList(IEnumerable<T> collection)
    method IsCompatibleObject (line 170) | private static bool IsCompatibleObject(object value)
    method Add (line 198) | public void Add(T item)
    method AddWithResize (line 215) | private void AddWithResize(T item)
    method Add (line 223) | int System.Collections.IList.Add(Object item)
    method AddRange (line 241) | public void AddRange(IEnumerable<T> collection)
    method AsReadOnly (line 246) | public ReadOnlyCollection<T> AsReadOnly()
    method BinarySearch (line 271) | public int BinarySearch(int index, int count, T item, IComparer<T> com...
    method BinarySearch (line 277) | public int BinarySearch(T item)
    method BinarySearch (line 282) | public int BinarySearch(T item, IComparer<T> comparer)
    method Clear (line 289) | public void Clear()
    method Contains (line 312) | public bool Contains(T item)
    method Contains (line 325) | bool System.Collections.IList.Contains(Object item)
    method ConvertAll (line 334) | public UncheckedList<TOutput> ConvertAll<TOutput>(Converter<T, TOutput...
    method CopyTo (line 348) | public void CopyTo(T[] array)
    method CopyTo (line 356) | void System.Collections.ICollection.CopyTo(Array array, int arrayIndex)
    method CopyTo (line 372) | public void CopyTo(int index, T[] array, int arrayIndex, int count)
    method CopyTo (line 378) | public void CopyTo(T[] array, int arrayIndex)
    method EnsureCapacity (line 388) | private void EnsureCapacity(int min)
    method Exists (line 401) | public bool Exists(Predicate<T> match)
    method Find (line 406) | public T Find(Predicate<T> match)
    method FindAll (line 418) | public UncheckedList<T> FindAll(Predicate<T> match)
    method FindIndex (line 431) | public int FindIndex(Predicate<T> match)
    method FindIndex (line 436) | public int FindIndex(int startIndex, Predicate<T> match)
    method FindIndex (line 441) | public int FindIndex(int startIndex, int count, Predicate<T> match)
    method FindLast (line 451) | public T FindLast(Predicate<T> match)
    method FindLastIndex (line 463) | public int FindLastIndex(Predicate<T> match)
    method FindLastIndex (line 468) | public int FindLastIndex(int startIndex, Predicate<T> match)
    method FindLastIndex (line 473) | public int FindLastIndex(int startIndex, int count, Predicate<T> match)
    method ForEach (line 486) | public void ForEach(Action<T> action)
    method GetEnumerator (line 505) | public Enumerator GetEnumerator()
    method GetEnumerator (line 510) | IEnumerator<T> IEnumerable<T>.GetEnumerator()
    method GetEnumerator (line 515) | System.Collections.IEnumerator System.Collections.IEnumerable.GetEnume...
    method GetRange (line 520) | public UncheckedList<T> GetRange(int index, int count)
    method IndexOf (line 537) | public int IndexOf(T item)
    method IndexOf (line 542) | int System.Collections.IList.IndexOf(Object item)
    method IndexOf (line 560) | public int IndexOf(T item, int index)
    method IndexOf (line 574) | public int IndexOf(T item, int index, int count)
    method Insert (line 583) | public void Insert(int index, T item)
    method Insert (line 595) | void System.Collections.IList.Insert(int index, Object item)
    method InsertRange (line 611) | public void InsertRange(int index, IEnumerable<T> collection)
    method LastIndexOf (line 667) | public int LastIndexOf(T item)
    method LastIndexOf (line 688) | public int LastIndexOf(T item, int index)
    method LastIndexOf (line 702) | public int LastIndexOf(T item, int index, int count)
    method Remove (line 715) | public bool Remove(T item)
    method Remove (line 727) | void System.Collections.IList.Remove(Object item)
    method RemoveAll (line 737) | public int RemoveAll(Predicate<T> match)
    method RemoveAt (line 772) | public void RemoveAt(int index)
    method RemoveRange (line 788) | public void RemoveRange(int index, int count)
    method Reverse (line 808) | public void Reverse()
    method Reverse (line 818) | public void Reverse(int index, int count)
    method Sort (line 829) | public void Sort()
    method Sort (line 836) | public void Sort(IComparer<T> comparer)
    method Sort (line 849) | public void Sort(int index, int count, IComparer<T> comparer)
    method Sort (line 858) | public void Sort(Comparison<T> comparison)
    method ToArray (line 870) | public T[] ToArray()
    method TrimExcess (line 891) | public void TrimExcess()
    method TrueForAll (line 900) | public bool TrueForAll(Predicate<T> match)
    method AddEnumerable (line 912) | private void AddEnumerable(IEnumerable<T> enumerable)
    type Enumerator (line 937) | public struct Enumerator : IEnumerator<T>, System.Collections.IEnumerator
      method Enumerator (line 944) | internal Enumerator(UncheckedList<T> list)
      method Dispose (line 952) | public void Dispose()
      method MoveNext (line 956) | public bool MoveNext()
      method MoveNextRare (line 969) | private bool MoveNextRare()
      method Reset (line 992) | void System.Collections.IEnumerator.Reset()

FILE: ILRuntime/ILRuntime/Reflection/Extensions.cs
  class Extensions (line 12) | static class Extensions
    method CreateInstance (line 14) | public static object CreateInstance(this CustomAttribute attribute, IT...

FILE: ILRuntime/ILRuntime/Reflection/ILRuntimeConstructorInfo.cs
  class ILRuntimeConstructorInfo (line 13) | public class ILRuntimeConstructorInfo : ConstructorInfo
    method ILRuntimeConstructorInfo (line 17) | public ILRuntimeConstructorInfo(ILMethod m)
    method GetCustomAttributes (line 68) | public override object[] GetCustomAttributes(bool inherit)
    method GetCustomAttributes (line 73) | public override object[] GetCustomAttributes(Type attributeType, bool ...
    method GetMethodImplementationFlags (line 78) | public override MethodImplAttributes GetMethodImplementationFlags()
    method GetParameters (line 83) | public override ParameterInfo[] GetParameters()
    method Invoke (line 88) | public override object Invoke(object obj, BindingFlags invokeAttr, Bin...
    method IsDefined (line 95) | public override bool IsDefined(Type attributeType, bool inherit)
    method Invoke (line 100) | public override object Invoke(BindingFlags invokeAttr, Binder binder, ...

FILE: ILRuntime/ILRuntime/Reflection/ILRuntimeFieldInfo.cs
  class ILRuntimeFieldInfo (line 18) | public class ILRuntimeFieldInfo : FieldInfo
    method ILRuntimeFieldInfo (line 34) | public ILRuntimeFieldInfo(FieldDefinition def, ILRuntimeType declaredT...
    method ILRuntimeFieldInfo (line 54) | public ILRuntimeFieldInfo(FieldDefinition def, ILRuntimeType declaredT...
    method InitializeCustomAttribute (line 74) | void InitializeCustomAttribute()
    method GetCustomAttributes (line 144) | public override object[] GetCustomAttributes(bool inherit)
    method GetCustomAttributes (line 152) | public override object[] GetCustomAttributes(Type attributeType, bool ...
    method GetValue (line 165) | public override object GetValue(object obj)
    method IsDefined (line 186) | public override bool IsDefined(Type attributeType, bool inherit)
    method SetValue (line 198) | public override void SetValue(object obj, object value, BindingFlags i...

FILE: ILRuntime/ILRuntime/Reflection/ILRuntimeMethodInfo.cs
  class ILRuntimeMethodInfo (line 12) | public class ILRuntimeMethodInfo : MethodInfo
    method ILRuntimeMethodInfo (line 21) | public ILRuntimeMethodInfo(ILMethod m)
    method InitializeCustomAttribute (line 33) | void InitializeCustomAttribute()
    method GetBaseDefinition (line 104) | public override MethodInfo GetBaseDefinition()
    method GetCustomAttributes (line 109) | public override object[] GetCustomAttributes(bool inherit)
    method GetCustomAttributes (line 117) | public override object[] GetCustomAttributes(Type attributeType, bool ...
    method GetMethodImplementationFlags (line 130) | public override MethodImplAttributes GetMethodImplementationFlags()
    method GetParameters (line 135) | public override ParameterInfo[] GetParameters()
    method Invoke (line 140) | public override object Invoke(object obj, BindingFlags invokeAttr, Bin...
    method IsDefined (line 151) | public override bool IsDefined(Type attributeType, bool inherit)

FILE: ILRuntime/ILRuntime/Reflection/ILRuntimeParameterInfo.cs
  class ILRuntimeParameterInfo (line 12) | public class ILRuntimeParameterInfo : ParameterInfo
    method ILRuntimeParameterInfo (line 16) | public ILRuntimeParameterInfo(IType type)

FILE: ILRuntime/ILRuntime/Reflection/ILRuntimePropertyInfo.cs
  class ILRuntimePropertyInfo (line 13) | public class ILRuntimePropertyInfo : PropertyInfo
    method ILRuntimePropertyInfo (line 63) | public ILRuntimePropertyInfo(Mono.Cecil.PropertyDefinition definition,...
    method InitializeCustomAttribute (line 70) | void InitializeCustomAttribute()
    method GetCustomAttributes (line 153) | public override object[] GetCustomAttributes(bool inherit)
    method GetCustomAttributes (line 161) | public override object[] GetCustomAttributes(Type attributeType, bool ...
    method IsDefined (line 174) | public override bool IsDefined(Type attributeType, bool inherit)
    method GetAccessors (line 186) | public override MethodInfo[] GetAccessors(bool nonPublic)
    method GetGetMethod (line 191) | public override MethodInfo GetGetMethod(bool nonPublic)
    method GetIndexParameters (line 198) | public override ParameterInfo[] GetIndexParameters()
    method GetSetMethod (line 203) | public override MethodInfo GetSetMethod(bool nonPublic)
    method GetValue (line 210) | public override object GetValue(object obj, BindingFlags invokeAttr, B...
    method SetValue (line 215) | public override void SetValue(object obj, object value, BindingFlags i...

FILE: ILRuntime/ILRuntime/Reflection/ILRuntimeType.cs
  class ILRuntimeType (line 13) | public class ILRuntimeType : Type
    method ILRuntimeType (line 25) | public ILRuntimeType(ILType t)
    method InitializeCustomAttribute (line 31) | void InitializeCustomAttribute()
    method InitializeProperties (line 54) | void InitializeProperties()
    method InitializeMethods (line 70) | void InitializeMethods()
    method InitializeFields (line 80) | void InitializeFields()
    method GetConstructors (line 168) | public override ConstructorInfo[] GetConstructors(BindingFlags binding...
    method GetCustomAttributes (line 179) | public override object[] GetCustomAttributes(bool inherit)
    method GetCustomAttributes (line 187) | public override object[] GetCustomAttributes(Type attributeType, bool ...
    method GetElementType (line 200) | public override Type GetElementType()
    method GetEvent (line 210) | public override EventInfo GetEvent(string name, BindingFlags bindingAttr)
    method GetEvents (line 215) | public override EventInfo[] GetEvents(BindingFlags bindingAttr)
    method GetField (line 220) | public override FieldInfo GetField(string name, BindingFlags bindingAttr)
    method GetFields (line 232) | public override FieldInfo[] GetFields(BindingFlags bindingAttr)
    method GetInterface (line 252) | public override Type GetInterface(string name, bool ignoreCase)
    method GetInterfaces (line 265) | public override Type[] GetInterfaces()
    method GetMembers (line 273) | public override MemberInfo[] GetMembers(BindingFlags bindingAttr)
    method GetMethods (line 298) | public override MethodInfo[] GetMethods(BindingFlags bindingAttr)
    method GetNestedType (line 305) | public override Type GetNestedType(string name, BindingFlags bindingAttr)
    method GetNestedTypes (line 310) | public override Type[] GetNestedTypes(BindingFlags bindingAttr)
    method GetProperties (line 315) | public override PropertyInfo[] GetProperties(BindingFlags bindingAttr)
    method InvokeMember (line 335) | public override object InvokeMember(string name, BindingFlags invokeAt...
    method IsDefined (line 340) | public override bool IsDefined(Type attributeType, bool inherit)
    method GetAttributeFlagsImpl (line 352) | protected override TypeAttributes GetAttributeFlagsImpl()
    method GetConstructorImpl (line 364) | protected override ConstructorInfo GetConstructorImpl(BindingFlags bin...
    method GetMethodImpl (line 390) | protected override MethodInfo GetMethodImpl(string name, BindingFlags ...
    method GetPropertyImpl (line 421) | protected override PropertyInfo GetPropertyImpl(string name, BindingFl...
    method HasElementTypeImpl (line 434) | protected override bool HasElementTypeImpl()
    method IsArrayImpl (line 439) | protected override bool IsArrayImpl()
    method IsByRefImpl (line 444) | protected override bool IsByRefImpl()
    method IsCOMObjectImpl (line 449) | protected override bool IsCOMObjectImpl()
    method IsPointerImpl (line 454) | protected override bool IsPointerImpl()
    method IsPrimitiveImpl (line 459) | protected override bool IsPrimitiveImpl()
    method GetHashCode (line 463) | public override int GetHashCode()
    method Equals (line 467) | public override bool Equals(object o)

FILE: ILRuntime/ILRuntime/Reflection/ILRuntimeWrapperType.cs
  class ILRuntimeWrapperType (line 13) | public class ILRuntimeWrapperType : Type
    method ILRuntimeWrapperType (line 94) | public ILRuntimeWrapperType(CLRType t)
    method InvokeMember (line 100) | public override object InvokeMember(string name, BindingFlags invokeAt...
    method GetConstructorImpl (line 105) | protected override ConstructorInfo GetConstructorImpl(BindingFlags bin...
    method GetConstructors (line 110) | public override ConstructorInfo[] GetConstructors(BindingFlags binding...
    method GetMethodImpl (line 115) | protected override MethodInfo GetMethodImpl(string name, BindingFlags ...
    method GetMethods (line 120) | public override MethodInfo[] GetMethods(BindingFlags bindingAttr)
    method GetField (line 125) | public override FieldInfo GetField(string name, BindingFlags bindingAttr)
    method GetFields (line 130) | public override FieldInfo[] GetFields(BindingFlags bindingAttr)
    method GetInterface (line 135) | public override Type GetInterface(string name, bool ignoreCase)
    method GetInterfaces (line 140) | public override Type[] GetInterfaces()
    method GetEvent (line 145) | public override EventInfo GetEvent(string name, BindingFlags bindingAttr)
    method GetEvents (line 150) | public override EventInfo[] GetEvents(BindingFlags bindingAttr)
    method GetPropertyImpl (line 155) | protected override PropertyInfo GetPropertyImpl(string name, BindingFl...
    method GetProperties (line 160) | public override PropertyInfo[] GetProperties(BindingFlags bindingAttr)
    method GetNestedTypes (line 165) | public override Type[] GetNestedTypes(BindingFlags bindingAttr)
    method GetHashCode (line 170) | public override int GetHashCode()
    method GetNestedType (line 175) | public override Type GetNestedType(string name, BindingFlags bindingAttr)
    method GetMembers (line 180) | public override MemberInfo[] GetMembers(BindingFlags bindingAttr)
    method GetAttributeFlagsImpl (line 185) | protected override TypeAttributes GetAttributeFlagsImpl()
    method IsArrayImpl (line 190) | protected override bool IsArrayImpl()
    method IsByRefImpl (line 195) | protected override bool IsByRefImpl()
    method IsPointerImpl (line 200) | protected override bool IsPointerImpl()
    method IsPrimitiveImpl (line 205) | protected override bool IsPrimitiveImpl()
    method IsCOMObjectImpl (line 210) | protected override bool IsCOMObjectImpl()
    method GetElementType (line 215) | public override Type GetElementType()
    method HasElementTypeImpl (line 220) | protected override bool HasElementTypeImpl()
    method GetCustomAttributes (line 225) | public override object[] GetCustomAttributes(bool inherit)
    method GetCustomAttributes (line 230) | public override object[] GetCustomAttributes(Type attributeType, bool ...
    method IsDefined (line 235) | public override bool IsDefined(Type attributeType, bool inherit)

FILE: ILRuntime/ILRuntime/Runtime/Adaptors/CLRCrossBindingAdaptors.cs
  class AttributeAdaptor (line 12) | class AttributeAdaptor : CrossBindingAdaptor
    method CreateCLRInstance (line 30) | public override object CreateCLRInstance(Enviorment.AppDomain appdomai...
    class Adaptor (line 35) | class Adaptor : Attribute, CrossBindingAdaptorType
      method Adaptor (line 43) | public Adaptor(ILRuntime.Runtime.Enviorment.AppDomain appdomain, ILT...
      method ToString (line 56) | public override string ToString()

FILE: ILRuntime/ILRuntime/Runtime/CLRBinding/BindingCodeGenerator.cs
  class BindingCodeGenerator (line 11) | public class BindingCodeGenerator
    method GenerateBindingCode (line 13) | public static void GenerateBindingCode(List<Type> types, string output...
    class CLRBindingGenerateInfo (line 119) | class CLRBindingGenerateInfo
    method GenerateBindingCode (line 146) | public static void GenerateBindingCode(ILRuntime.Runtime.Enviorment.Ap...
    method CrawlAppdomain (line 273) | static void CrawlAppdomain(ILRuntime.Runtime.Enviorment.AppDomain doma...
    method CreateNewBindingInfo (line 445) | static CLRBindingGenerateInfo CreateNewBindingInfo(Type t)

FILE: ILRuntime/ILRuntime/Runtime/CLRBinding/BindingGeneratorExtensions.cs
  class BindingGeneratorExtensions (line 10) | static class BindingGeneratorExtensions
    method ShouldSkipField (line 12) | internal static bool ShouldSkipField(this Type type, FieldInfo i)
    method ShouldSkipMethod (line 26) | internal static bool ShouldSkipMethod(this Type type, MethodBase i)
    method AppendParameters (line 72) | internal static void AppendParameters(this ParameterInfo[] param, Stri...
    method GetRetrieveValueCode (line 89) | internal static string GetRetrieveValueCode(this Type type, string rea...
    method GetRefWriteBackValueCode (line 152) | internal static void GetRefWriteBackValueCode(this Type type, StringBu...
    method GetReturnValueCode (line 252) | internal static void GetReturnValueCode(this Type type, StringBuilder sb)

FILE: ILRuntime/ILRuntime/Runtime/CLRBinding/CommonBindingGenerator.cs
  class CommonBindingGenerator (line 10) | static class CommonBindingGenerator
    method GenerateMiscRegisterCode (line 12) | internal static string GenerateMiscRegisterCode(this Type type, string...
    method GenerateCommonCode (line 37) | internal static string GenerateCommonCode(this Type type, string typeC...

FILE: ILRuntime/ILRuntime/Runtime/CLRBinding/ConstructorBindingGenerator.cs
  class ConstructorBindingGenerator (line 10) | static class ConstructorBindingGenerator
    method GenerateConstructorRegisterCode (line 12) | internal static string GenerateConstructorRegisterCode(this Type type,...
    method GenerateConstructorWraperCode (line 51) | internal static string GenerateConstructorWraperCode(this Type type, C...

FILE: ILRuntime/ILRuntime/Runtime/CLRBinding/FieldBindingGenerator.cs
  class FieldBindingGenerator (line 10) | static class FieldBindingGenerator
    method GenerateFieldRegisterCode (line 12) | internal static string GenerateFieldRegisterCode(this Type type, Field...
    method GenerateFieldWraperCode (line 37) | internal static string GenerateFieldWraperCode(this Type type, FieldIn...
    method CheckCanPinn (line 93) | internal static bool CheckCanPinn(this Type type)

FILE: ILRuntime/ILRuntime/Runtime/CLRBinding/MethodBindingGenerator.cs
  class MethodBindingGenerator (line 10) | static class MethodBindingGenerator
    method GenerateMethodRegisterCode (line 12) | internal static string GenerateMethodRegisterCode(this Type type, Meth...
    method GenerateMethodWraperCode (line 52) | internal static string GenerateMethodWraperCode(this Type type, Method...

FILE: ILRuntime/ILRuntime/Runtime/CLRBinding/ValueTypeBindingGenerator.cs
  class ValueTypeBindingGenerator (line 10) | static class ValueTypeBindingGenerator
    method GenerateValueTypeRegisterCode (line 12) | internal static string GenerateValueTypeRegisterCode(this Type type, s...
    method GenerateCloneWraperCode (line 23) | internal static string GenerateCloneWraperCode(this Type type, FieldIn...

FILE: ILRuntime/ILRuntime/Runtime/Debugger/BreakPointContext.cs
  class BreakPointContext (line 10) | unsafe class BreakPointContext
    method DumpContext (line 15) | public string DumpContext()
    method GetStackObjectValue (line 37) | string GetStackObjectValue(StackObject val, IList<object> mStack)

FILE: ILRuntime/ILRuntime/Runtime/Debugger/BreakpointInfo.cs
  class BreakpointInfo (line 8) | class BreakpointInfo

FILE: ILRuntime/ILRuntime/Runtime/Debugger/DebugMessageType.cs
  type DebugMessageType (line 8) | public enum DebugMessageType

FILE: ILRuntime/ILRuntime/Runtime/Debugger/DebugService.cs
  method DebugService (line 41) | public DebugService(Runtime.Enviorment.AppDomain domain)
  method StartDebugService (line 50) | public void StartDebugService(int port)
  method StopDebugService (line 62) | public void StopDebugService()
  method Break (line 76) | internal bool Break(ILIntepreter intpreter, Exception ex = null)
  method GetStackTrance (line 92) | public string GetStackTrance(ILIntepreter intepreper)

FILE: ILRuntime/ILRuntime/Runtime/Debugger/DebugSocket.cs
  class DebugSocket (line 10) | public class DebugSocket
    method DebugSocket (line 41) | public DebugSocket()
    method DebugSocket (line 46) | public DebugSocket(Socket _socket)
    method Connect (line 53) | public void Connect(string ip, int port)
    method AsyncRecv_Completed (line 63) | private void AsyncRecv_Completed(object sender, SocketAsyncEventArgs e)
    method ReceivePayload (line 98) | private void ReceivePayload(byte[] data, int length)
    method onConnected (line 167) | private void onConnected(IAsyncResult result)
    method BeginReceive (line 185) | void BeginReceive()
    method Send (line 195) | public void Send(DebugMessageType type, byte[] buffer, int len)
    method RawSend (line 211) | private void RawSend(Socket sock, byte[] buf, int end)
    method Close (line 220) | public void Close()

FILE: ILRuntime/ILRuntime/Runtime/Debugger/DebuggerServer/DebuggerServer.cs
  class DebuggerServer (line 13) | public class DebuggerServer
    method DebuggerServer (line 36) | public DebuggerServer(DebugService ds)
    method Start (line 42) | public virtual bool Start()
    method Stop (line 57) | public virtual void Stop()
    method NetworkLoop (line 66) | void NetworkLoop()
    method CreateNewSession (line 92) | void CreateNewSession(TcpListener listener)
    method ClientConnected (line 101) | void ClientConnected()
    method OnClose (line 106) | void OnClose()
    method OnReceive (line 112) | void OnReceive(DebugMessageType type, byte[] buffer)
    method ReadVariableReference (line 171) | VariableReference ReadVariableReference(System.IO.BinaryReader br)
    method SendAttachResult (line 185) | void SendAttachResult()
    method DoSend (line 200) | void DoSend(DebugMessageType type)
    method TryBindBreakpoint (line 206) | void TryBindBreakpoint(CSBindBreakpoint msg)
    method SendSCBindBreakpointResult (line 252) | void SendSCBindBreakpointResult(SCBindBreakpointResult msg)
    method SendSCBreakpointHit (line 260) | internal void SendSCBreakpointHit(int intpHash, int bpHash, KeyValuePa...
    method SendSCStepComplete (line 269) | internal void SendSCStepComplete(int intpHash, KeyValuePair<int, Stack...
    method SendSCResolveVariableResult (line 277) | void SendSCResolveVariableResult(VariableInfo info)
    method WriteStackFrames (line 284) | void WriteStackFrames(KeyValuePair<int, StackFrameInfo[]>[] info)
    method WriteVariableInfo (line 308) | void WriteVariableInfo(VariableInfo k)
    method SendSCThreadStarted (line 319) | internal void SendSCThreadStarted(int threadHash)
    method SendSCThreadEnded (line 326) | internal void SendSCThreadEnded(int threadHash)
    method NotifyModuleLoaded (line 333) | public void NotifyModuleLoaded(string modulename)

FILE: ILRuntime/ILRuntime/Runtime/Debugger/Protocol/CSBindBreakpoint.cs
  class CSBindBreakpoint (line 8) | public class CSBindBreakpoint

FILE: ILRuntime/ILRuntime/Runtime/Debugger/Protocol/CSDeleteBreakpoint.cs
  class CSDeleteBreakpoint (line 8) | public class CSDeleteBreakpoint

FILE: ILRuntime/ILRuntime/Runtime/Debugger/Protocol/CSExecute.cs
  class CSExecute (line 8) | public class CSExecute

FILE: ILRuntime/ILRuntime/Runtime/Debugger/Protocol/CSResolveVariable.cs
  class CSResolveVariable (line 8) | public class CSResolveVariable

FILE: ILRuntime/ILRuntime/Runtime/Debugger/Protocol/CSStep.cs
  class CSStep (line 8) | public class CSStep

FILE: ILRuntime/ILRuntime/Runtime/Debugger/Protocol/SCAttachResult.cs
  type AttachResults (line 8) | public enum AttachResults
  class SCAttachResult (line 13) | public class SCAttachResult

FILE: ILRuntime/ILRuntime/Runtime/Debugger/Protocol/SCBindBreakpointResult.cs
  type BindBreakpointResults (line 8) | public enum BindBreakpointResults
  class SCBindBreakpointResult (line 14) | public class SCBindBreakpointResult

FILE: ILRuntime/ILRuntime/Runtime/Debugger/Protocol/SCBreakpointHit.cs
  class SCBreakpointHit (line 8) | public class SCBreakpointHit

FILE: ILRuntime/ILRuntime/Runtime/Debugger/Protocol/SCModuleLoaded.cs
  class SCModuleLoaded (line 8) | public class SCModuleLoaded

FILE: ILRuntime/ILRuntime/Runtime/Debugger/Protocol/SCResolveVariableResult.cs
  class SCResolveVariableResult (line 8) | public class SCResolveVariableResult

FILE: ILRuntime/ILRuntime/Runtime/Debugger/Protocol/SCStepComplete.cs
  class SCStepComplete (line 8) | public class SCStepComplete

FILE: ILRuntime/ILRuntime/Runtime/Debugger/Protocol/SCThreadStarted.cs
  class SCThreadStarted (line 8) | public class SCThreadStarted
  class SCThreadEnded (line 12) | public class SCThreadEnded

FILE: ILRuntime/ILRuntime/Runtime/Debugger/StackFrameInfo.cs
  class StackFrameInfo (line 8) | public class StackFrameInfo

FILE: ILRuntime/ILRuntime/Runtime/Debugger/StepTypes.cs
  type StepTypes (line 8) | public enum StepTypes

FILE: ILRuntime/ILRuntime/Runtime/Debugger/VariableInfo.cs
  type VariableTypes (line 8) | public enum VariableTypes
  class VariableReference (line 15) | public class VariableReference
  class VariableInfo (line 23) | public class VariableInfo

FILE: ILRuntime/ILRuntime/Runtime/Enviorment/AppDomain.cs
  class AppDomain (line 26) | public class AppDomain
    method AppDomain (line 57) | public unsafe AppDomain()
    method LoadAssemblyFile (line 157) | public void LoadAssemblyFile(string path)
    method LoadAssemblyFileAndSymbol (line 181) | public void LoadAssemblyFileAndSymbol(string path)
    method LoadAssemblyFileAndPDB (line 240) | public void LoadAssemblyFileAndPDB(string assemblyFilePath,string symb...
    method LoadAssemblyPDB (line 270) | public void LoadAssemblyPDB(System.IO.Stream stream, System.IO.Stream ...
    method LoadAssemblyFileAndMDB (line 283) | public void LoadAssemblyFileAndMDB(string assemblyFilePath, string sym...
    method LoadAssemblyMDB (line 312) | public void LoadAssemblyMDB(System.IO.Stream stream, System.IO.Stream ...
    method LoadAssembly (line 321) | public void LoadAssembly(System.IO.Stream stream)
    method LoadAssembly (line 332) | public void LoadAssembly(System.IO.Stream stream, System.IO.Stream sym...
    method AddReferenceBytes (line 387) | public void AddReferenceBytes(string name, byte[] content)
    method AssemblyResolver_ResolveFailure (line 392) | private AssemblyDefinition AssemblyResolver_ResolveFailure(object send...
    method RegisterCLRMethodRedirection (line 406) | public void RegisterCLRMethodRedirection(MethodBase mi, CLRRedirection...
    method RegisterCLRFieldGetter (line 412) | public void RegisterCLRFieldGetter(FieldInfo f, CLRFieldGetterDelegate...
    method RegisterCLRFieldSetter (line 418) | public void RegisterCLRFieldSetter(FieldInfo f, CLRFieldSetterDelegate...
    method RegisterCLRMemberwiseClone (line 424) | public void RegisterCLRMemberwiseClone(Type t, CLRMemberwiseCloneDeleg...
    method RegisterCLRCreateDefaultInstance (line 430) | public void RegisterCLRCreateDefaultInstance(Type t, CLRCreateDefaultI...
    method RegisterCLRCreateArrayInstance (line 436) | public void RegisterCLRCreateArrayInstance(Type t, CLRCreateArrayInsta...
    method RegisterValueTypeBinder (line 442) | public void RegisterValueTypeBinder(Type t, ValueTypeBinder binder)
    method GetType (line 456) | public IType GetType(string fullname)
    method ParseGenericType (line 566) | internal static void ParseGenericType(string fullname, out string base...
    method GetAssemblyName (line 642) | string GetAssemblyName(IMetadataScope scope)
    method GetType (line 647) | internal IType GetType(object token, IType contextType, IMethod contex...
    method GetType (line 827) | public IType GetType(int hash)
    method GetType (line 841) | public IType GetType(Type t)
    method Instantiate (line 857) | public T Instantiate<T>(string type, object[] args = null)
    method Instantiate (line 869) | public ILTypeInstance Instantiate(string type, object[] args = null)
    method Invoke (line 898) | public object Invoke(string type, string method, object instance, para...
    method InvokeGenericMethod (line 929) | public object InvokeGenericMethod(string type, string method, IType[] ...
    method Invoke (line 951) | public object Invoke(IMethod m, object instance, params object[] p)
    method GetMethod (line 1011) | internal IMethod GetMethod(object token, ILType contextType,ILMethod c...
    method GetMethod (line 1128) | internal IMethod GetMethod(int tokenHash)
    method GetStaticFieldIndex (line 1137) | internal long GetStaticFieldIndex(object token, IType contextType, IMe...
    method CacheString (line 1168) | internal long CacheString(object token)
    method CheckStringCollision (line 1188) | bool CheckStringCollision(long hashCode, string newStr)
    method GetString (line 1196) | internal string GetString(long hashCode)
    method RegisterCrossBindingAdaptor (line 1204) | public void RegisterCrossBindingAdaptor(CrossBindingAdaptor adaptor)

FILE: ILRuntime/ILRuntime/Runtime/Enviorment/CLRRedirections.cs
  class CLRRedirections (line 16) | unsafe static class CLRRedirections
    method CreateInstance (line 18) | public static StackObject* CreateInstance(ILIntepreter intp, StackObje...
    method CreateInstance2 (line 50) | public static StackObject* CreateInstance2(ILIntepreter intp, StackObj...
    method GetType (line 84) | public static StackObject* GetType(ILIntepreter intp, StackObject* esp...
    method TypeEquals (line 97) | public static StackObject* TypeEquals(ILIntepreter intp, StackObject* ...
    method InitializeArray (line 137) | public unsafe static StackObject* InitializeArray(ILIntepreter intp, S...
    method DelegateCombine (line 392) | public unsafe static StackObject* DelegateCombine(ILIntepreter intp, S...
    method DelegateRemove (line 499) | public unsafe static StackObject* DelegateRemove(ILIntepreter intp, St...
    method DelegateEqulity (line 585) | public unsafe static StackObject* DelegateEqulity(ILIntepreter intp, S...
    method DelegateInequlity (line 670) | public unsafe static StackObject* DelegateInequlity(ILIntepreter intp,...
    method GetTypeFromHandle (line 750) | public static StackObject* GetTypeFromHandle(ILIntepreter intp, StackO...
    method MethodInfoInvoke (line 761) | public unsafe static StackObject* MethodInfoInvoke(ILIntepreter intp, ...
    method ObjectGetType (line 837) | public unsafe static StackObject* ObjectGetType(ILIntepreter intp, Sta...

FILE: ILRuntime/ILRuntime/Runtime/Enviorment/CrossBindingAdaptor.cs
  type CrossBindingAdaptorType (line 11) | public interface CrossBindingAdaptorType
  class CrossBindingAdaptor (line 18) | public abstract class CrossBindingAdaptor : IType
    method CreateCLRInstance (line 39) | public abstract object CreateCLRInstance(Enviorment.AppDomain appdomai...
    method GetMethod (line 45) | public IMethod GetMethod(string name, int paramCount, bool declaredOnl...
    method GetMethod (line 50) | public IMethod GetMethod(string name, List<IType> param, IType[] gener...
    method GetMethods (line 55) | public List<IMethod> GetMethods()
    method GetFieldIndex (line 60) | public int GetFieldIndex(object token)
    method GetConstructor (line 65) | public IMethod GetConstructor(List<IType> param)
    method CanAssignTo (line 70) | public bool CanAssignTo(IType type)
    method MakeGenericInstance (line 89) | public IType MakeGenericInstance(KeyValuePair<string, IType>[] generic...
    method MakeByRefType (line 94) | public IType MakeByRefType()
    method MakeArrayType (line 99) | public IType MakeArrayType()
    method FindGenericArgument (line 104) | public IType FindGenericArgument(string key)
    method ResolveGenericType (line 109) | public IType ResolveGenericType(IType contextType)
    method GetVirtualMethod (line 114) | public IMethod GetVirtualMethod(IMethod method)

FILE: ILRuntime/ILRuntime/Runtime/Enviorment/DelegateManager.cs
  class DelegateManager (line 13) | public class DelegateManager
    method DelegateManager (line 22) | public DelegateManager(Enviorment.AppDomain appdomain)
    method DefaultConverterStub (line 28) | static Delegate DefaultConverterStub(Delegate dele)
    method RegisterDelegateConvertor (line 33) | public void RegisterDelegateConvertor<T>(Func<Delegate, Delegate> action)
    method RegisterMethodDelegate (line 44) | public void RegisterMethodDelegate<T1>()
    method RegisterMethodDelegate (line 53) | public void RegisterMethodDelegate<T1, T2>()
    method RegisterMethodDelegate (line 62) | public void RegisterMethodDelegate<T1, T2, T3>()
    method RegisterMethodDelegate (line 71) | public void RegisterMethodDelegate<T1, T2, T3, T4>()
    method RegisterFunctionDelegate (line 80) | public void RegisterFunctionDelegate<TResult>()
    method RegisterFunctionDelegate (line 89) | public void RegisterFunctionDelegate<T1, TResult>()
    method RegisterFunctionDelegate (line 98) | public void RegisterFunctionDelegate<T1, T2, TResult>()
    method RegisterFunctionDelegate (line 107) | public void RegisterFunctionDelegate<T1, T2, T3, TResult>()
    method RegisterFunctionDelegate (line 116) | public void RegisterFunctionDelegate<T1, T2, T3, T4, TResult>()
    method ConvertToDelegate (line 125) | internal Delegate ConvertToDelegate(Type clrDelegateType, IDelegateAda...
    method FindDelegateAdapter (line 221) | internal IDelegateAdapter FindDelegateAdapter(ILTypeInstance instance,...
    class DelegateMapNode (line 291) | class DelegateMapNode

FILE: ILRuntime/ILRuntime/Runtime/Enviorment/ILContext.cs
  type ILContext (line 11) | public unsafe struct ILContext
    method ILContext (line 19) | internal ILContext(AppDomain domain,ILIntepreter intpreter, StackObjec...

FILE: ILRuntime/ILRuntime/Runtime/Enviorment/ValueTypeBinder.cs
  class ValueTypeBinder (line 12) | public unsafe abstract class ValueTypeBinder
    method CopyValueTypeToStack (line 32) | public abstract void CopyValueTypeToStack(object ins, StackObject* ptr...
    method ToObject (line 34) | public abstract object ToObject(StackObject* esp, IList<object> manage...
    method RegisterCLRRedirection (line 36) | public virtual void RegisterCLRRedirection(Enviorment.AppDomain appdom...
    method CopyValueTypeToStack (line 41) | protected void CopyValueTypeToStack<K>(ref K ins, StackObject* esp, IL...
    method AssignFromStack (line 66) | protected void AssignFromStack<K>(ref K ins, StackObject* esp, IList<o...
    method CopyValueTypeToStack (line 97) | public override unsafe void CopyValueTypeToStack(object ins, StackObje...
    method CopyValueTypeToStack (line 103) | public abstract void CopyValueTypeToStack(ref T ins, StackObject* ptr,...
    method ToObject (line 105) | public override unsafe object ToObject(StackObject* esp, IList<object>...
    method AssignFromStack (line 112) | public abstract void AssignFromStack(ref T ins, StackObject* ptr, ILis...
  class ValueTypeBinder (line 94) | public unsafe abstract class ValueTypeBinder<T> : ValueTypeBinder
    method CopyValueTypeToStack (line 32) | public abstract void CopyValueTypeToStack(object ins, StackObject* ptr...
    method ToObject (line 34) | public abstract object ToObject(StackObject* esp, IList<object> manage...
    method RegisterCLRRedirection (line 36) | public virtual void RegisterCLRRedirection(Enviorment.AppDomain appdom...
    method CopyValueTypeToStack (line 41) | protected void CopyValueTypeToStack<K>(ref K ins, StackObject* esp, IL...
    method AssignFromStack (line 66) | protected void AssignFromStack<K>(ref K ins, StackObject* esp, IList<o...
    method CopyValueTypeToStack (line 97) | public override unsafe void CopyValueTypeToStack(object ins, StackObje...
    method CopyValueTypeToStack (line 103) | public abstract void CopyValueTypeToStack(ref T ins, StackObject* ptr,...
    method ToObject (line 105) | public override unsafe object ToObject(StackObject* esp, IList<object>...
    method AssignFromStack (line 112) | public abstract void AssignFromStack(ref T ins, StackObject* ptr, ILis...

FILE: ILRuntime/ILRuntime/Runtime/Extensions.cs
  class Extensions (line 10) | static class Extensions
    method GetClassName (line 12) | public static void GetClassName(this Type type, out string clsName, ou...
    method ToInt32 (line 95) | public static int ToInt32(this object obj)
    method ToInt64 (line 119) | public static long ToInt64(this object obj)
    method ToInt16 (line 141) | public static short ToInt16(this object obj)
    method ToFloat (line 163) | public static float ToFloat(this object obj)
    method ToDouble (line 186) | public static double ToDouble(this object obj)
    method GetActualType (line 209) | public static Type GetActualType(this object value)

FILE: ILRuntime/ILRuntime/Runtime/Intepreter/DelegateAdapter.cs
  class FunctionDelegateAdapter (line 15) | class FunctionDelegateAdapter<TResult> : DelegateAdapter
    method FunctionDelegateAdapter (line 19) | public FunctionDelegateAdapter()
    method FunctionDelegateAdapter (line 24) | private FunctionDelegateAdapter(Enviorment.AppDomain appdomain, ILType...
    method InvokeILMethod (line 38) | TResult InvokeILMethod()
    method Instantiate (line 46) | public override IDelegateAdapter Instantiate(Enviorment.AppDomain appd...
    method Clone (line 51) | public override IDelegateAdapter Clone()
    method Combine (line 58) | public override void Combine(Delegate dele)
    method Remove (line 63) | public override void Remove(Delegate dele)
    method FunctionDelegateAdapter (line 73) | public FunctionDelegateAdapter()
    method FunctionDelegateAdapter (line 78) | private FunctionDelegateAdapter(Enviorment.AppDomain appdomain, ILType...
    method InvokeILMethod (line 92) | TResult InvokeILMethod(T1 p1)
    method Instantiate (line 100) | public override IDelegateAdapter Instantiate(Enviorment.AppDomain appd...
    method Clone (line 105) | public override IDelegateAdapter Clone()
    method Combine (line 112) | public override void Combine(Delegate dele)
    method Remove (line 117) | public override void Remove(Delegate dele)
    method FunctionDelegateAdapter (line 127) | public FunctionDelegateAdapter()
    method FunctionDelegateAdapter (line 132) | private FunctionDelegateAdapter(Enviorment.AppDomain appdomain, ILType...
    method InvokeILMethod (line 146) | TResult InvokeILMethod(T1 p1, T2 p2)
    method Instantiate (line 154) | public override IDelegateAdapter Instantiate(Enviorment.AppDomain appd...
    method Clone (line 159) | public override IDelegateAdapter Clone()
    method Combine (line 166) | public override void Combine(Delegate dele)
    method Remove (line 171) | public override void Remove(Delegate dele)
    method FunctionDelegateAdapter (line 181) | public FunctionDelegateAdapter()
    method FunctionDelegateAdapter (line 186) | private FunctionDelegateAdapter(Enviorment.AppDomain appdomain, ILType...
    method InvokeILMethod (line 200) | TResult InvokeILMethod(T1 p1, T2 p2, T3 p3)
    method Instantiate (line 208) | public override IDelegateAdapter Instantiate(Enviorment.AppDomain appd...
    method Clone (line 213) | public override IDelegateAdapter Clone()
    method Combine (line 219) | public override void Combine(Delegate dele)
    method Remove (line 224) | public override void Remove(Delegate dele)
    method FunctionDelegateAdapter (line 234) | public FunctionDelegateAdapter()
    method FunctionDelegateAdapter (line 239) | private FunctionDelegateAdapter(Enviorment.AppDomain appdomain, ILType...
    method InvokeILMethod (line 253) | TResult InvokeILMethod(T1 p1, T2 p2, T3 p3, T4 p4)
    method Instantiate (line 261) | public override IDelegateAdapter Instantiate(Enviorment.AppDomain appd...
    method Clone (line 266) | public override IDelegateAdapter Clone()
    method Combine (line 273) | public override void Combine(Delegate dele)
    method Remove (line 278) | public override void Remove(Delegate dele)
  class FunctionDelegateAdapter (line 69) | class FunctionDelegateAdapter<T1, TResult> : DelegateAdapter
    method FunctionDelegateAdapter (line 19) | public FunctionDelegateAdapter()
    method FunctionDelegateAdapter (line 24) | private FunctionDelegateAdapter(Enviorment.AppDomain appdomain, ILType...
    method InvokeILMethod (line 38) | TResult InvokeILMethod()
    method Instantiate (line 46) | public override IDelegateAdapter Instantiate(Enviorment.AppDomain appd...
    method Clone (line 51) | public override IDelegateAdapter Clone()
    method Combine (line 58) | public override void Combine(Delegate dele)
    method Remove (line 63) | public override void Remove(Delegate dele)
    method FunctionDelegateAdapter (line 73) | public FunctionDelegateAdapter()
    method FunctionDelegateAdapter (line 78) | private FunctionDelegateAdapter(Enviorment.AppDomain appdomain, ILType...
    method InvokeILMethod (line 92) | TResult InvokeILMethod(T1 p1)
    method Instantiate (line 100) | public override IDelegateAdapter Instantiate(Enviorment.AppDomain appd...
    method Clone (line 105) | public override IDelegateAdapter Clone()
    method Combine (line 112) | public override void Combine(Delegate dele)
    method Remove (line 117) | public override void Remove(Delegate dele)
    method FunctionDelegateAdapter (line 127) | public FunctionDelegateAdapter()
    method FunctionDelegateAdapter (line 132) | private FunctionDelegateAdapter(Enviorment.AppDomain appdomain, ILType...
    method InvokeILMethod (line 146) | TResult InvokeILMethod(T1 p1, T2 p2)
    method Instantiate (line 154) | public override IDelegateAdapter Instantiate(Enviorment.AppDomain appd...
    method Clone (line 159) | public override IDelegateAdapter Clone()
    method Combine (line 166) | public override void Combine(Delegate dele)
    method Remove (line 171) | public override void Remove(Delegate dele)
    method FunctionDelegateAdapter (line 181) | public FunctionDelegateAdapter()
    method FunctionDelegateAdapter (line 186) | private FunctionDelegateAdapter(Enviorment.AppDomain appdomain, ILType...
    method InvokeILMethod (line 200) | TResult InvokeILMethod(T1 p1, T2 p2, T3 p3)
    method Instantiate (line 208) | public override IDelegateAdapter Instantiate(Enviorment.AppDomain appd...
    method Clone (line 213) | public override IDelegateAdapter Clone()
    method Combine (line 219) | public override void Combine(Delegate dele)
    method Remove (line 224) | public override void Remove(Delegate dele)
    method FunctionDelegateAdapter (line 234) | public FunctionDelegateAdapter()
    method FunctionDelegateAdapter (line 239) | private FunctionDelegateAdapter(Enviorment.AppDomain appdomain, ILType...
    method InvokeILMethod (line 253) | TResult InvokeILMethod(T1 p1, T2 p2, T3 p3, T4 p4)
    method Instantiate (line 261) | public override IDelegateAdapter Instantiate(Enviorment.AppDomain appd...
    method Clone (line 266) | public override IDelegateAdapter Clone()
    method Combine (line 273) | public override void Combine(Delegate dele)
    method Remove (line 278) | public override void Remove(Delegate dele)
  class FunctionDelegateAdapter (line 123) | class FunctionDelegateAdapter<T1, T2, TResult> : DelegateAdapter
    method FunctionDelegateAdapter (line 19) | public FunctionDelegateAdapter()
    method FunctionDelegateAdapter (line 24) | private FunctionDelegateAdapter(Enviorment.AppDomain appdomain, ILType...
    method InvokeILMethod (line 38) | TResult InvokeILMethod()
    method Instantiate (line 46) | public override IDelegateAdapter Instantiate(Enviorment.AppDomain appd...
    method Clone (line 51) | public override IDelegateAdapter Clone()
    method Combine (line 58) | public override void Combine(Delegate dele)
    method Remove (line 63) | public override void Remove(Delegate dele)
    method FunctionDelegateAdapter (line 73) | public FunctionDelegateAdapter()
    method FunctionDelegateAdapter (line 78) | private FunctionDelegateAdapter(Enviorment.AppDomain appdomain, ILType...
    method InvokeILMethod (line 92) | TResult InvokeILMethod(T1 p1)
    method Instantiate (line 100) | public override IDelegateAdapter Instantiate(Enviorment.AppDomain appd...
    method Clone (line 105) | public override IDelegateAdapter Clone()
    method Combine (line 112) | public override void Combine(Delegate dele)
    method Remove (line 117) | public override void Remove(Delegate dele)
    method FunctionDelegateAdapter (line 127) | public FunctionDelegateAdapter()
    method FunctionDelegateAdapter (line 132) | private FunctionDelegateAdapter(Enviorment.AppDomain appdomain, ILType...
    method InvokeILMethod (line 146) | TResult InvokeILMethod(T1 p1, T2 p2)
    method Instantiate (line 154) | public override IDelegateAdapter Instantiate(Enviorment.AppDomain appd...
    method Clone (line 159) | public override IDelegateAdapter Clone()
    method Combine (line 166) | public override void Combine(Delegate dele)
    method Remove (line 171) | public override void Remove(Delegate dele)
    method FunctionDelegateAdapter (line 181) | public FunctionDelegateAdapter()
    method FunctionDelegateAdapter (line 186) | private FunctionDelegateAdapter(Enviorment.AppDomain appdomain, ILType...
    method InvokeILMethod (line 200) | TResult InvokeILMethod(T1 p1, T2 p2, T3 p3)
    method Instantiate (line 208) | public override IDelegateAdapter Instantiate(Enviorment.AppDomain appd...
    method Clone (line 213) | public override IDelegateAdapter Clone()
    method Combine (line 219) | public override void Combine(Delegate dele)
    method Remove (line 224) | public override void Remove(Delegate dele)
    method FunctionDelegateAdapter (line 234) | public FunctionDelegateAdapter()
    method FunctionDelegateAdapter (line 239) | private FunctionDelegateAdapter(Enviorment.AppDomain appdomain, ILType...
    method InvokeILMethod (line 253) | TResult InvokeILMethod(T1 p1, T2 p2, T3 p3, T4 p4)
    method Instantiate (line 261) | public override IDelegateAdapter Instantiate(Enviorment.AppDomain appd...
    method Clone (line 266) | public override IDelegateAdapter Clone()
    method Combine (line 273) | public override void Combine(Delegate dele)
    method Remove (line 278) | public override void Remove(Delegate dele)
  class FunctionDelegateAdapter (line 177) | class FunctionDelegateAdapter<T1, T2, T3, TResult> : DelegateAdapter
    method FunctionDelegateAdapter (line 19) | public FunctionDelegateAdapter()
    method FunctionDelegateAdapter (line 24) | private FunctionDelegateAdapter(Enviorment.AppDomain appdomain, ILType...
    method InvokeILMethod (line 38) | TResult InvokeILMethod()
    method Instantiate (line 46) | public override IDelegateAdapter Instantiate(Enviorment.AppDomain appd...
    method Clone (line 51) | public override IDelegateAdapter Clone()
    method Combine (line 58) | public override void Combine(Delegate dele)
    method Remove (line 63) | public override void Remove(Delegate dele)
    method FunctionDelegateAdapter (line 73) | public FunctionDelegateAdapter()
    method FunctionDelegateAdapter (line 78) | private FunctionDelegateAdapter(Enviorment.AppDomain appdomain, ILType...
    method InvokeILMethod (line 92) | TResult InvokeILMethod(T1 p1)
    method Instantiate (line 100) | public override IDelegateAdapter Instantiate(Enviorment.AppDomain appd...
    method Clone (line 105) | public override IDelegateAdapter Clone()
    method Combine (line 112) | public override void Combine(Delegate dele)
    method Remove (line 117) | public override void Remove(Delegate dele)
    method FunctionDelegateAdapter (line 127) | public FunctionDelegateAdapter()
    method FunctionDelegateAdapter (line 132) | private FunctionDelegateAdapter(Enviorment.AppDomain appdomain, ILType...
    method InvokeILMethod (line 146) | TResult InvokeILMethod(T1 p1, T2 p2)
    method Instantiate (line 154) | public override IDelegateAdapter Instantiate(Enviorment.AppDomain appd...
    method Clone (line 159) | public override IDelegateAdapter Clone()
    method Combine (line 166) | public override void Combine(Delegate dele)
    method Remove (line 171) | public override void Remove(Delegate dele)
    method FunctionDelegateAdapter (line 181) | public FunctionDelegateAdapter()
    method FunctionDelegateAdapter (line 186) | private FunctionDelegateAdapter(Enviorment.AppDomain appdomain, ILType...
    method InvokeILMethod (line 200) | TResult InvokeILMethod(T1 p1, T2 p2, T3 p3)
    method Instantiate (line 208) | public override IDelegateAdapter Instantiate(Enviorment.AppDomain appd...
    method Clone (line 213) | public override IDelegateAdapter Clone()
    method Combine (line 219) | public override void Combine(Delegate dele)
    method Remove (line 224) | public override void Remove(Delegate dele)
    method FunctionDelegateAdapter (line 234) | public FunctionDelegateAdapter()
    method FunctionDelegateAdapter (line 239) | private FunctionDelegateAdapter(Enviorment.AppDomain appdomain, ILType...
    method InvokeILMethod (line 253) | TResult InvokeILMethod(T1 p1, T2 p2, T3 p3, T4 p4)
    method Instantiate (line 261) | public override IDelegateAdapter Instantiate(Enviorment.AppDomain appd...
    method Clone (line 266) | public override IDelegateAdapter Clone()
    method Combine (line 273) | public override void Combine(Delegate dele)
    method Remove (line 278) | public override void Remove(Delegate dele)
  class FunctionDelegateAdapter (line 230) | class FunctionDelegateAdapter<T1, T2, T3, T4, TResult> : DelegateAdapter
    method FunctionDelegateAdapter (line 19) | public FunctionDelegateAdapter()
    method FunctionDelegateAdapter (line 24) | private FunctionDelegateAdapter(Enviorment.AppDomain appdomain, ILType...
    method InvokeILMethod (line 38) | TResult InvokeILMethod()
    method Instantiate (line 46) | public override IDelegateAdapter Instantiate(Enviorment.AppDomain appd...
    method Clone (line 51) | public override IDelegateAdapter Clone()
    method Combine (line 58) | public override void Combine(Delegate dele)
    method Remove (line 63) | public override void Remove(Delegate dele)
    method FunctionDelegateAdapter (line 73) | public FunctionDelegateAdapter()
    method FunctionDelegateAdapter (line 78) | private FunctionDelegateAdapter(Enviorment.AppDomain appdomain, ILType...
    method InvokeILMethod (line 92) | TResult InvokeILMethod(T1 p1)
    method Instantiate (line 100) | public override IDelegateAdapter Instantiate(Enviorment.AppDomain appd...
    method Clone (line 105) | public override IDelegateAdapter Clone()
    method Combine (line 112) | public override void Combine(Delegate dele)
    method Remove (line 117) | public override void Remove(Delegate dele)
    method FunctionDelegateAdapter (line 127) | public FunctionDelegateAdapter()
    method FunctionDelegateAdapter (line 132) | private FunctionDelegateAdapter(Enviorment.AppDomain appdomain, ILType...
    method InvokeILMethod (line 146) | TResult InvokeILMethod(T1 p1, T2 p2)
    method Instantiate (line 154) | public override IDelegateAdapter Instantiate(Enviorment.AppDomain appd...
    method Clone (line 159) | public override IDelegateAdapter Clone()
    method Combine (line 166) | public override void Combine(Delegate dele)
    method Remove (line 171) | public override void Remove(Delegate dele)
    method FunctionDelegateAdapter (line 181) | public FunctionDelegateAdapter()
    method FunctionDelegateAdapter (line 186) | private FunctionDelegateAdapter(Enviorment.AppDomain appdomain, ILType...
    method InvokeILMethod (line 200) | TResult InvokeILMethod(T1 p1, T2 p2, T3 p3)
    method Instantiate (line 208) | public override IDelegateAdapter Instantiate(Enviorment.AppDomain appd...
    method Clone (line 213) | public override IDelegateAdapter Clone()
    method Combine (line 219) | public override void Combine(Delegate dele)
    method Remove (line 224) | public override void Remove(Delegate dele)
    method FunctionDelegateAdapter (line 234) | public FunctionDelegateAdapter()
    method FunctionDelegateAdapter (line 239) | private FunctionDelegateAdapter(Enviorment.AppDomain appdomain, ILType...
    method InvokeILMethod (line 253) | TResult InvokeILMethod(T1 p1, T2 p2, T3 p3, T4 p4)
    method Instantiate (line 261) | public override IDelegateAdapter Instantiate(Enviorment.AppDomain appd...
    method Clone (line 266) | public override IDelegateAdapter Clone()
    method Combine (line 273) | public override void Combine(Delegate dele)
    method Remove (line 278) | public override void Remove(Delegate dele)
  class MethodDelegateAdapter (line 286) | class MethodDelegateAdapter<T1> : DelegateAdapter
    method MethodDelegateAdapter (line 290) | public MethodDelegateAdapter()
    method MethodDelegateAdapter (line 295) | private MethodDelegateAdapter(Enviorment.AppDomain appdomain, ILTypeIn...
    method InvokeILMethod (line 309) | void InvokeILMethod(T1 p1)
    method Instantiate (line 317) | public override IDelegateAdapter Instantiate(Enviorment.AppDomain appd...
    method Clone (line 322) | public override IDelegateAdapter Clone()
    method Combine (line 329) | public override void Combine(Delegate dele)
    method Remove (line 334) | public override void Remove(Delegate dele)
    method MethodDelegateAdapter (line 344) | public MethodDelegateAdapter()
    method MethodDelegateAdapter (line 349) | private MethodDelegateAdapter(Enviorment.AppDomain appdomain, ILTypeIn...
    method InvokeILMethod (line 363) | void InvokeILMethod(T1 p1, T2 p2)
    method Instantiate (line 371) | public override IDelegateAdapter Instantiate(Enviorment.AppDomain appd...
    method Clone (line 376) | public override IDelegateAdapter Clone()
    method Combine (line 383) | public override void Combine(Delegate dele)
    method Remove (line 388) | public override void Remove(Delegate dele)
    method MethodDelegateAdapter (line 398) | public MethodDelegateAdapter()
    method MethodDelegateAdapter (line 403) | private MethodDelegateAdapter(Enviorment.AppDomain appdomain, ILTypeIn...
    method InvokeILMethod (line 417) | void InvokeILMethod(T1 p1, T2 p2, T3 p3)
    method Instantiate (line 425) | public override IDelegateAdapter Instantiate(Enviorment.AppDomain appd...
    method Clone (line 430) | public override IDelegateAdapter Clone()
    method Combine (line 437) | public override void Combine(Delegate dele)
    method Remove (line 442) | public override void Remove(Delegate dele)
    method MethodDelegateAdapter (line 452) | public MethodDelegateAdapter()
    method MethodDelegateAdapter (line 457) | private MethodDelegateAdapter(Enviorment.AppDomain appdomain, ILTypeIn...
    method InvokeILMethod (line 471) | void InvokeILMethod(T1 p1, T2 p2, T3 p3, T4 p4)
    method Instantiate (line 479) | public override IDelegateAdapter Instantiate(Enviorment.AppDomain appd...
    method Clone (line 484) | public override IDelegateAdapter Clone()
    method Combine (line 491) | public override void Combine(Delegate dele)
    method Remove (line 496) | public override void Remove(Delegate dele)
    method MethodDelegateAdapter (line 506) | public MethodDelegateAdapter()
    method MethodDelegateAdapter (line 511) | protected MethodDelegateAdapter(Enviorment.AppDomain appdomain, ILType...
    method InvokeILMethod (line 525) | void InvokeILMethod()
    method Instantiate (line 533) | public override IDelegateAdapter Instantiate(Enviorment.AppDomain appd...
    method Clone (line 538) | public override IDelegateAdapter Clone()
    method Combine (line 545) | public override void Combine(Delegate dele)
    method Remove (line 550) | public override void Remove(Delegate dele)
  class MethodDelegateAdapter (line 340) | class MethodDelegateAdapter<T1, T2> : DelegateAdapter
    method MethodDelegateAdapter (line 290) | public MethodDelegateAdapter()
    method MethodDelegateAdapter (line 295) | private MethodDelegateAdapter(Enviorment.AppDomain appdomain, ILTypeIn...
    method InvokeILMethod (line 309) | void InvokeILMethod(T1 p1)
    method Instantiate (line 317) | public override IDelegateAdapter Instantiate(Enviorment.AppDomain appd...
    method Clone (line 322) | public override IDelegateAdapter Clone()
    method Combine (line 329) | public override void Combine(Delegate dele)
    method Remove (line 334) | public override void Remove(Delegate dele)
    method MethodDelegateAdapter (line 344) | public MethodDelegateAdapter()
    method MethodDelegateAdapter (line 349) | private MethodDelegateAdapter(Enviorment.AppDomain appdomain, ILTypeIn...
    method InvokeILMethod (line 363) | void InvokeILMethod(T1 p1, T2 p2)
    method Instantiate (line 371) | public override IDelegateAdapter Instantiate(Enviorment.AppDomain appd...
    method Clone (line 376) | public override IDelegateAdapter Clone()
    method Combine (line 383) | public override void Combine(Delegate dele)
    method Remove (line 388) | public override void Remove(Delegate dele)
    method MethodDelegateAdapter (line 398) | public MethodDelegateAdapter()
    method MethodDelegateAdapter (line 403) | private MethodDelegateAdapter(Enviorment.AppDomain appdomain, ILTypeIn...
    method InvokeILMethod (line 417) | void InvokeILMethod(T1 p1, T2 p2, T3 p3)
    method Instantiate (line 425) | public override IDelegateAdapter Instantiate(Enviorment.AppDomain appd...
    method Clone (line 430) | public override IDelegateAdapter Clone()
    method Combine (line 437) | public override void Combine(Delegate dele)
    method Remove (line 442) | public override void Remove(Delegate dele)
    method MethodDelegateAdapter (line 452) | public MethodDelegateAdapter()
    method MethodDelegateAdapter (line 457) | private MethodDelegateAdapter(Enviorment.AppDomain appdomain, ILTypeIn...
    method InvokeILMethod (line 471) | void InvokeILMethod(T1 p1, T2 p2, T3 p3, T4 p4)
    method Instantiate (line 479) | public override IDelegateAdapter Instantiate(Enviorment.AppDomain appd...
    method Clone (line 484) | public override IDelegateAdapter Clone()
    method Combine (line 491) | public override void Combine(Delegate dele)
    method Remove (line 496) | public override void Remove(Delegate dele)
    method MethodDelegateAdapter (line 506) | public MethodDelegateAdapter()
    method MethodDelegateAdapter (line 511) | protected MethodDelegateAdapter(Enviorment.AppDomain appdomain, ILType...
    method InvokeILMethod (line 525) | void InvokeILMethod()
    method Instantiate (line 533) | public override IDelegateAdapter Instantiate(Enviorment.AppDomain appd...
    method Clone (line 538) | public override IDelegateAdapter Clone()
    method Combine (line 545) | public override void Combine(Delegate dele)
    method Remove (line 550) | public override void Remove(Delegate dele)
  class MethodDelegateAdapter (line 394) | class MethodDelegateAdapter<T1, T2, T3> : DelegateAdapter
    method MethodDelegateAdapter (line 290) | public MethodDelegateAdapter()
    method MethodDelegateAdapter (line 295) | private MethodDelegateAdapter(Enviorment.AppDomain appdomain, ILTypeIn...
    method InvokeILMethod (line 309) | void InvokeILMethod(T1 p1)
    method Instantiate (line 317) | public override IDelegateAdapter Instantiate(Enviorment.AppDomain appd...
    method Clone (line 322) | public override IDelegateAdapter Clone()
    method Combine (line 329) | public override void Combine(Delegate dele)
    method Remove (line 334) | public override void Remove(Delegate dele)
    method MethodDelegateAdapter (line 344) | public MethodDelegateAdapter()
    method MethodDelegateAdapter (line 349) | private MethodDelegateAdapter(Enviorment.AppDomain appdomain, ILTypeIn...
    method InvokeILMethod (line 363) | void InvokeILMethod(T1 p1, T2 p2)
    method Instantiate (line 371) | public override IDelegateAdapter Instantiate(Enviorment.AppDomain appd...
    method Clone (line 376) | public override IDelegateAdapter Clone()
    method Combine (line 383) | public override void Combine(Delegate dele)
    method Remove (line 388) | public override void Remove(Delegate dele)
    method MethodDelegateAdapter (line 398) | public MethodDelegateAdapter()
    method MethodDelegateAdapter (line 403) | private MethodDelegateAdapter(Enviorment.AppDomain appdomain, ILTypeIn...
    method InvokeILMethod (line 417) | void InvokeILMethod(T1 p1, T2 p2, T3 p3)
    method Instantiate (line 425) | public override IDelegateAdapter Instantiate(Enviorment.AppDomain appd...
    method Clone (line 430) | public override IDelegateAdapter Clone()
    method Combine (line 437) | public override void Combine(Delegate dele)
    method Remove (line 442) | public override void Remove(Delegate dele)
    method MethodDelegateAdapter (line 452) | public MethodDelegateAdapter()
    method MethodDelegateAdapter (line 457) | private MethodDelegateAdapter(Enviorment.AppDomain appdomain, ILTypeIn...
    method InvokeILMethod (line 471) | void InvokeILMethod(T1 p1, T2 p2, T3 p3, T4 p4)
    method Instantiate (line 479) | public override IDelegateAdapter Instantiate(Enviorment.AppDomain appd...
    method Clone (line 484) | public override IDelegateAdapter Clone()
    method Combine (line 491) | public override void Combine(Delegate dele)
    method Remove (line 496) | public override void Remove(Delegate dele)
    method MethodDelegateAdapter (line 506) | public MethodDelegateAdapter()
    method MethodDelegateAdapter (line 511) | protected MethodDelegateAdapter(Enviorment.AppDomain appdomain, ILType...
    method InvokeILMethod (line 525) | void InvokeILMethod()
    method Instantiate (line 533) | public override IDelegateAdapter Instantiate(Enviorment.AppDomain appd...
    method Clone (line 538) | public override IDelegateAdapter Clone()
    method Combine (line 545) | public override void Combine(Delegate dele)
    method Remove (line 550) | public override void Remove(Delegate dele)
  class MethodDelegateAdapter (line 448) | class MethodDelegateAdapter<T1, T2, T3, T4> : DelegateAdapter
    method MethodDelegateAdapter (line 290) | public MethodDelegateAdapter()
    method MethodDelegateAdapter (line 295) | private MethodDelegateAdapter(Enviorment.AppDomain appdomain, ILTypeIn...
    method InvokeILMethod (line 309) | void InvokeILMethod(T1 p1)
    method Instantiate (line 317) | public override IDelegateAdapter Instantiate(Enviorment.AppDomain appd...
    method Clone (line 322) | public override IDelegateAdapter Clone()
    method Combine (line 329) | public override void Combine(Delegate dele)
    method Remove (line 334) | public override void Remove(Delegate dele)
    method MethodDelegateAdapter (line 344) | public MethodDelegateAdapter()
    method MethodDelegateAdapter (line 349) | private MethodDelegateAdapter(Enviorment.AppDomain appdomain, ILTypeIn...
    method InvokeILMethod (line 363) | void InvokeILMethod(T1 p1, T2 p2)
    method Instantiate (line 371) | public override IDelegateAdapter Instantiate(Enviorment.AppDomain appd...
    method Clone (line 376) | public override IDelegateAdapter Clone()
    method Combine (line 383) | public override void Combine(Delegate dele)
    method Remove (line 388) | public override void Remove(Delegate dele)
    method MethodDelegateAdapter (line 398) | public MethodDelegateAdapter()
    method MethodDelegateAdapter (line 403) | private MethodDelegateAdapter(Enviorment.AppDomain appdomain, ILTypeIn...
    method InvokeILMethod (line 417) | void InvokeILMethod(T1 p1, T2 p2, T3 p3)
    method Instantiate (line 425) | public override IDelegateAdapter Instantiate(Enviorment.AppDomain appd...
    method Clone (line 430) | public override IDelegateAdapter Clone()
    method Combine (line 437) | public override void Combine(Delegate dele)
    method Remove (line 442) | public override void Remove(Delegate dele)
    method MethodDelegateAdapter (line 452) | public MethodDelegateAdapter()
    method MethodDelegateAdapter (line 457) | private MethodDelegateAdapter(Enviorment.AppDomain appdomain, ILTypeIn...
    method InvokeILMethod (line 471) | void InvokeILMethod(T1 p1, T2 p2, T3 p3, T4 p4)
    method Instantiate (line 479) | public override IDelegateAdapter Instantiate(Enviorment.AppDomain appd...
    method Clone (line 484) | public override IDelegateAdapter Clone()
    method Combine (line 491) | public override void Combine(Delegate dele)
    method Remove (line 496) | public override void Remove(Delegate dele)
    method MethodDelegateAdapter (line 506) | public MethodDelegateAdapter()
    method MethodDelegateAdapter (line 511) | protected MethodDelegateAdapter(Enviorment.AppDomain appdomain, ILType...
    method InvokeILMethod (line 525) | void InvokeILMethod()
    method Instantiate (line 533) | public override IDelegateAdapter Instantiate(Enviorment.AppDomain appd...
    method Clone (line 538) | public override IDelegateAdapter Clone()
    method Combine (line 545) | public override void Combine(Delegate dele)
    method Remove (line 550) | public override void Remove(Delegate dele)
  class MethodDelegateAdapter (line 502) | class MethodDelegateAdapter : DelegateAdapter
    method MethodDelegateAdapter (line 290) | public MethodDelegateAdapter()
    method MethodDelegateAdapter (line 295) | private MethodDelegateAdapter(Enviorment.AppDomain appdomain, ILTypeIn...
    method InvokeILMethod (line 309) | void InvokeILMethod(T1 p1)
    method Instantiate (line 317) | public override IDelegateAdapter Instantiate(Enviorment.AppDomain appd...
    method Clone (line 322) | public override IDelegateAdapter Clone()
    method Combine (line 329) | public override void Combine(Delegate dele)
    method Remove (line 334) | public override void Remove(Delegate dele)
    method MethodDelegateAdapter (line 344) | public MethodDelegateAdapter()
    method MethodDelegateAdapter (line 349) | private MethodDelegateAdapter(Enviorment.AppDomain appdomain, ILTypeIn...
    method InvokeILMethod (line 363) | void InvokeILMethod(T1 p1, T2 p2)
    method Instantiate (line 371) | public override IDelegateAdapter Instantiate(Enviorment.AppDomain appd...
    method Clone (line 376) | public override IDelegateAdapter Clone()
    method Combine (line 383) | public override void Combine(Delegate dele)
    method Remove (line 388) | public override void Remove(Delegate dele)
    method MethodDelegateAdapter (line 398) | public MethodDelegateAdapter()
    method MethodDelegateAdapter (line 403) | private MethodDelegateAdapter(Enviorment.AppDomain appdomain, ILTypeIn...
    method InvokeILMethod (line 417) | void InvokeILMethod(T1 p1, T2 p2, T3 p3)
    method Instantiate (line 425) | public override IDelegateAdapter Instantiate(Enviorment.AppDomain appd...
    method Clone (line 430) | public override IDelegateAdapter Clone()
    method Combine (line 437) | public override void Combine(Delegate dele)
    method Remove (line 442) | public override void Remove(Delegate dele)
    method MethodDelegateAdapter (line 452) | public MethodDelegateAdapter()
    method MethodDelegateAdapter (line 457) | private MethodDelegateAdapter(Enviorment.AppDomain appdomain, ILTypeIn...
    method InvokeILMethod (line 471) | void InvokeILMethod(T1 p1, T2 p2, T3 p3, T4 p4)
    method Instantiate (line 479) | public override IDelegateAdapter Instantiate(Enviorment.AppDomain appd...
    method Clone (line 484) | public override IDelegateAdapter Clone()
    method Combine (line 491) | public override void Combine(Delegate dele)
    method Remove (line 496) | public override void Remove(Delegate dele)
    method MethodDelegateAdapter (line 506) | public MethodDelegateAdapter()
    method MethodDelegateAdapter (line 511) | protected MethodDelegateAdapter(Enviorment.AppDomain appdomain, ILType...
    method InvokeILMethod (line 525) | void InvokeILMethod()
    method Instantiate (line 533) | public override IDelegateAdapter Instantiate(Enviorment.AppDomain appd...
    method Clone (line 538) | public override IDelegateAdapter Clone()
    method Combine (line 545) | public override void Combine(Delegate dele)
    method Remove (line 550) | public override void Remove(Delegate dele)
  class DummyDelegateAdapter (line 556) | class DummyDelegateAdapter : DelegateAdapter
    method DummyDelegateAdapter (line 558) | public DummyDelegateAdapter()
    method DummyDelegateAdapter (line 563) | protected DummyDelegateAdapter(Enviorment.AppDomain appdomain, ILTypeI...
    method InvokeILMethod (line 578) | void InvokeILMethod()
    method Instantiate (line 586) | public override IDelegateAdapter Instantiate(Enviorment.AppDomain appd...
    method Clone (line 591) | public override IDelegateAdapter Clone()
    method Combine (line 598) | public override void Combine(Delegate dele)
    method Remove (line 603) | public override void Remove(Delegate dele)
  class DelegateAdapter (line 609) | abstract class DelegateAdapter : ILTypeInstance, IDelegateAdapter
    method DelegateAdapter (line 626) | protected DelegateAdapter() { }
    method DelegateAdapter (line 628) | protected DelegateAdapter(Enviorment.AppDomain appdomain, ILTypeInstan...
    method ILInvoke (line 644) | public unsafe StackObject* ILInvoke(ILIntepreter intp, StackObject* es...
    method ILInvokeSub (line 651) | unsafe StackObject* ILInvokeSub(ILIntepreter intp, StackObject* esp, I...
    method ClearStack (line 677) | unsafe StackObject* ClearStack(ILIntepreter intp, StackObject* esp, St...
    method Instantiate (line 712) | public abstract IDelegateAdapter Instantiate(Enviorment.AppDomain appd...
    method Clone (line 714) | public new abstract IDelegateAdapter Clone();
    method Combine (line 724) | public virtual void Combine(IDelegateAdapter adapter)
    method Combine (line 732) | public abstract void Combine(Delegate dele);
    method Remove (line 734) | public virtual void Remove(IDelegateAdapter adapter)
    method Remove (line 747) | public abstract void Remove(Delegate dele);
    method Equals (line 749) | public virtual bool Equals(IDelegateAdapter adapter)
    method Equals (line 760) | public virtual bool Equals(Delegate dele)
    method ToString (line 765) | public override string ToString()
    method GetConvertor (line 770) | public Delegate GetConvertor(Type type)
    method Minus (line 785) | unsafe StackObject* Minus(StackObject* a, int b)
    method ThrowAdapterNotFound (line 790) | public static void ThrowAdapterNotFound(IMethod method)
  type IDelegateAdapter (line 847) | unsafe interface IDelegateAdapter
    method ILInvoke (line 853) | StackObject* ILInvoke(ILIntepreter intp, StackObject* esp, IList<objec...
    method Instantiate (line 854) | IDelegateAdapter Instantiate(Enviorment.AppDomain appdomain, ILTypeIns...
    method Clone (line 856) | IDelegateAdapter Clone();
    method GetConvertor (line 857) | Delegate GetConvertor(Type type);
    method Combine (line 858) | void Combine(IDelegateAdapter adapter);
    method Combine (line 859) | void Combine(Delegate dele);
    method Remove (line 860) | void Remove(IDelegateAdapter adapter);
    method Remove (line 861) | void Remove(Delegate dele);
    method Equals (line 862) | bool Equals(IDelegateAdapter adapter);
    method Equals (line 863) | bool Equals(Delegate dele);

FILE: ILRuntime/ILRuntime/Runtime/Intepreter/ILIntepreter.cs
  method ILIntepreter (line 31) | public ILIntepreter(Enviorment.AppDomain domain)
  method Break (line 43) | public void Break()
  method Resume (line 51) | public void Resume()
  method ClearDebugState (line 57) | public void ClearDebugState()
  method Run (line 64) | public object Run(ILMethod method, object instance, object[] p)

FILE: ILRuntime/ILRuntime/Runtime/Intepreter/ILRuntimeException.cs
  class ILRuntimeException (line 10) | public class ILRuntimeException : Exception
    method ILRuntimeException (line 14) | internal ILRuntimeException(string message, ILIntepreter intepreter, C...
    method ToString (line 58) | public override string ToString()

FILE: ILRuntime/ILRuntime/Runtime/Intepreter/ILTypeInstance.cs
  class ILTypeStaticInstance (line 12) | public class ILTypeStaticInstance : ILTypeInstance
    method ILTypeStaticInstance (line 14) | public unsafe ILTypeStaticInstance(ILType type)
  method ILEnumTypeInstance (line 44) | public ILEnumTypeInstance(ILType type)

FILE: ILRuntime/ILRuntime/Runtime/Intepreter/OpCodes/OpCode.cs
  type OpCode (line 14) | struct OpCode

FILE: ILRuntime/ILRuntime/Runtime/Intepreter/OpCodes/OpCodeEnum.cs
  type OpCodeEnum (line 8) | enum OpCodeEnum

FILE: ILRuntime/ILRuntime/Runtime/Stack/RuntimeStack.cs
  method RuntimeStack (line 31) | public RuntimeStack(ILIntepreter intepreter)
  method ResetValueTypePointer (line 72) | public void ResetValueTypePointer()
  method InitializeFrame (line 77) | public void InitializeFrame(ILMethod method, StackObject* esp, out Stack...
  method PushFrame (line 99) | public void PushFrame(ref StackFrame frame)

FILE: ILRuntime/ILRuntime/Runtime/Stack/StackFrame.cs
  class IntegerReference (line 10) | public class IntegerReference
  type StackFrame (line 14) | unsafe public struct StackFrame

FILE: ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil.Cil/Code.cs
  type Code (line 31) | public enum Code {

FILE: ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil.Cil/CodeReader.cs
  class CodeReader (line 39) | sealed class CodeReader : ByteBuffer
    method CodeReader (line 55) | public CodeReader(Section section, MetadataReader reader)
    method ReadMethodBody (line 62) | public MethodBody ReadMethodBody(MethodDefinition method)
    method MoveTo (line 74) | public void MoveTo(int rva)
    method IsInSection (line 85) | bool IsInSection(int rva)
    method ReadMethodBody (line 90) | void ReadMethodBody()
    method ReadFatMethod (line 119) | void ReadFatMethod()
    method ReadVariables (line 136) | public VariableDefinitionCollection ReadVariables(MetadataToken local_...
    method ReadCode (line 145) | void ReadCode()
    method ReadOpCode (line 171) | OpCode ReadOpCode()
    method ReadOperand (line 179) | object ReadOperand(Instruction instruction)
    method GetString (line 229) | public string GetString(MetadataToken token)
    method GetParameter (line 234) | public ParameterDefinition GetParameter(int index)
    method GetVariable (line 239) | public VariableDefinition GetVariable(int index)
    method GetCallSite (line 244) | public CallSite GetCallSite(MetadataToken token)
    method ResolveBranches (line 249) | void ResolveBranches(Collection<Instruction> instructions)
    method GetInstruction (line 275) | Instruction GetInstruction(int offset)
    method GetInstruction (line 280) | static Instruction GetInstruction(Collection<Instruction> instructions...
    method ReadSection (line 307) | void ReadSection()
    method ReadSmallSection (line 324) | void ReadSmallSection()
    method ReadFatSection (line 335) | void ReadFatSection()
    method ReadExceptionHandlers (line 347) | void ReadExceptionHandlers(int count, Func<int> read_entry, Func<int> ...
    method ReadExceptionHandlerSpecific (line 366) | void ReadExceptionHandlerSpecific(ExceptionHandler handler)
    method Align (line 382) | void Align(int align)
    method ReadToken (line 388) | public MetadataToken ReadToken()

FILE: ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil.Cil/Document.cs
  type DocumentType (line 33) | public enum DocumentType {
  type DocumentHashAlgorithm (line 38) | public enum DocumentHashAlgorithm {
  type DocumentLanguage (line 44) | public enum DocumentLanguage {
  type DocumentLanguageVendor (line 60) | public enum DocumentLanguageVendor {
  class Document (line 65) | public sealed class Document {
    method Document (line 106) | public Document (string url)

FILE: ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil.Cil/ExceptionHandler.cs
  type ExceptionHandlerType (line 31) | public enum ExceptionHandlerType {
  class ExceptionHandler (line 38) | public sealed class ExceptionHandler {
    method ExceptionHandler (line 84) | public ExceptionHandler (ExceptionHandlerType handlerType)

FILE: ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil.Cil/ILProcessor.cs
  class ILProcessor (line 35) | public sealed class ILProcessor {
    method ILProcessor (line 44) | internal ILProcessor (MethodBody body)
    method Create (line 50) | public Instruction Create (OpCode opcode)
    method Create (line 55) | public Instruction Create (OpCode opcode, TypeReference type)
    method Create (line 60) | public Instruction Create (OpCode opcode, CallSite site)
    method Create (line 65) | public Instruction Create (OpCode opcode, MethodReference method)
    method Create (line 70) | public Instruction Create (OpCode opcode, FieldReference field)
    method Create (line 75) | public Instruction Create (OpCode opcode, string value)
    method Create (line 80) | public Instruction Create (OpCode opcode, sbyte value)
    method Create (line 85) | public Instruction Create (OpCode opcode, byte value)
    method Create (line 96) | public Instruction Create (OpCode opcode, int value)
    method Create (line 107) | public Instruction Create (OpCode opcode, long value)
    method Create (line 112) | public Instruction Create (OpCode opcode, float value)
    method Create (line 117) | public Instruction Create (OpCode opcode, double value)
    method Create (line 122) | public Instruction Create (OpCode opcode, Instruction target)
    method Create (line 127) | public Instruction Create (OpCode opcode, Instruction [] targets)
    method Create (line 132) | public Instruction Create (OpCode opcode, VariableDefinition variable)
    method Create (line 137) | public Instruction Create (OpCode opcode, ParameterDefinition parameter)
    method Emit (line 142) | public void Emit (OpCode opcode)
    method Emit (line 147) | public void Emit (OpCode opcode, TypeReference type)
    method Emit (line 152) | public void Emit (OpCode opcode, MethodReference method)
    method Emit (line 157) | public void Emit (OpCode opcode, CallSite site)
    method Emit (line 162) | public void Emit (OpCode opcode, FieldReference field)
    method Emit (line 167) | public void Emit (OpCode opcode, string value)
    method Emit (line 172) | public void Emit (OpCode opcode, byte value)
    method Emit (line 177) | public void Emit (OpCode opcode, sbyte value)
    method Emit (line 182) | public void Emit (OpCode opcode, int value)
    method Emit (line 187) | public void Emit (OpCode opcode, long value)
    method Emit (line 192) | public void Emit (OpCode opcode, float value)
    method Emit (line 197) | public void Emit (OpCode opcode, double value)
    method Emit (line 202) | public void Emit (OpCode opcode, Instruction target)
    method Emit (line 207) | public void Emit (OpCode opcode, Instruction [] targets)
    method Emit (line 212) | public void Emit (OpCode opcode, VariableDefinition variable)
    method Emit (line 217) | public void Emit (OpCode opcode, ParameterDefinition parameter)
    method InsertBefore (line 222) | public void InsertBefore (Instruction target, Instruction instruction)
    method InsertAfter (line 236) | public void InsertAfter (Instruction target, Instruction instruction)
    method Append (line 250) | public void Append (Instruction instruction)
    method Replace (line 258) | public void Replace (Instruction target, Instruction instruction)
    method Remove (line 269) | public void Remove (Instruction instruction)

FILE: ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil.Cil/Instruction.cs
  class Instruction (line 34) | public sealed class Instruction {
    method Instruction (line 75) | internal Instruction (int offset, OpCode opCode)
    method Instruction (line 81) | internal Instruction (OpCode opcode, object operand)
    method GetSize (line 87) | public int GetSize ()
    method ToString (line 120) | public override string ToString ()
    method AppendLabel (line 161) | static void AppendLabel (StringBuilder builder, Instruction instruction)
    method Create (line 167) | public static Instruction Create (OpCode opcode)
    method Create (line 175) | public static Instruction Create (OpCode opcode, TypeReference type)
    method Create (line 186) | public static Instruction Create (OpCode opcode, CallSite site)
    method Create (line 196) | public static Instruction Create (OpCode opcode, MethodReference method)
    method Create (line 207) | public static Instruction Create (OpCode opcode, FieldReference field)
    method Create (line 218) | public static Instruction Create (OpCode opcode, string value)
    method Create (line 228) | public static Instruction Create (OpCode opcode, sbyte value)
    method Create (line 237) | public static Instruction Create (OpCode opcode, byte value)
    method Create (line 246) | public static Instruction Create (OpCode opcode, int value)
    method Create (line 254) | public static Instruction Create (OpCode opcode, long value)
    method Create (line 262) | public static Instruction Create (OpCode opcode, float value)
    method Create (line 270) | public static Instruction Create (OpCode opcode, double value)
    method Create (line 278) | public static Instruction Create (OpCode opcode, Instruction target)
    method Create (line 289) | public static Instruction Create (OpCode opcode, Instruction [] targets)
    method Create (line 299) | public static Instruction Create (OpCode opcode, VariableDefinition va...
    method Create (line 310) | public static Instruction Create (OpCode opcode, ParameterDefinition p...

FILE: ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil.Cil/MethodBody.cs
  class MethodBody (line 37) | public sealed class MethodBody : IVariableDefinitionProvider
    method ThisParameterFor (line 129) | static ParameterDefinition ThisParameterFor(MethodDefinition method)
    method MethodBody (line 139) | public MethodBody(MethodDefinition method)
    method GetILProcessor (line 144) | public ILProcessor GetILProcessor()
  type IVariableDefinitionProvider (line 150) | public interface IVariableDefinitionProvider
  class VariableDefinitionCollection (line 156) | class VariableDefinitionCollection : Collection<VariableDefinition>
    method VariableDefinitionCollection (line 159) | internal VariableDefinitionCollection()
    method VariableDefinitionCollection (line 163) | internal VariableDefinitionCollection(int capacity)
    method OnAdd (line 168) | protected override void OnAdd(VariableDefinition item, int index)
    method OnInsert (line 173) | protected override void OnInsert(VariableDefinition item, int index)
    method OnSet (line 181) | protected override void OnSet(VariableDefinition item, int index)
    method OnRemove (line 186) | protected override void OnRemove(VariableDefinition item, int index)
  class InstructionCollection (line 195) | class InstructionCollection : Collection<Instruction>
    method InstructionCollection (line 198) | internal InstructionCollection()
    method InstructionCollection (line 202) | internal InstructionCollection(int capacity)
    method OnAdd (line 207) | protected override void OnAdd(Instruction item, int index)
    method OnInsert (line 217) | protected override void OnInsert(Instruction item, int index)
    method OnSet (line 242) | protected override void OnSet(Instruction item, int index)
    method OnRemove (line 253) | protected override void OnRemove(Instruction item, int index)

FILE: ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil.Cil/OpCode.cs
  type FlowControl (line 31) | public enum FlowControl {
  type OpCodeType (line 43) | public enum OpCodeType {
  type OperandType (line 52) | public enum OperandType {
  type StackBehaviour (line 75) | public enum StackBehaviour {
  type OpCode (line 107) | public struct OpCode {
    method OpCode (line 162) | internal OpCode (int x, int y)
    method GetHashCode (line 180) | public override int GetHashCode ()
    method Equals (line 185) | public override bool Equals (object obj)
    method Equals (line 194) | public bool Equals (OpCode opcode)
    method ToString (line 209) | public override string ToString ()
  class OpCodeNames (line 215) | static class OpCodeNames {
    method OpCodeNames (line 219) | static OpCodeNames ()

FILE: ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil.Cil/OpCodes.cs
  class OpCodes (line 31) | public static class OpCodes {

FILE: ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil.Cil/SequencePoint.cs
  class SequencePoint (line 31) | public sealed class SequencePoint {
    method SequencePoint (line 65) | public SequencePoint (Document document)

FILE: ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil.Cil/Symbols.cs
  type ImageDebugDirectory (line 38) | [StructLayout (LayoutKind.Sequential)]
  class Scope (line 50) | public sealed class Scope : IVariableDefinitionProvider {
  type InstructionSymbol (line 95) | public struct InstructionSymbol {
    method InstructionSymbol (line 100) | public InstructionSymbol (int offset, SequencePoint sequencePoint)
  class MethodSymbols (line 107) | public sealed class MethodSymbols {
    method MethodSymbols (line 154) | internal MethodSymbols (string methodName)
    method MethodSymbols (line 159) | public MethodSymbols (MetadataToken methodToken)
  type ISymbolReader (line 167) | public interface ISymbolReader : IDisposable {
    method ProcessDebugHeader (line 169) | bool ProcessDebugHeader (ImageDebugDirectory directory, byte [] header);
    method Read (line 170) | void Read (MethodBody body, InstructionMapper mapper);
    method Read (line 171) | void Read (MethodSymbols symbols);
  type ISymbolReaderProvider (line 174) | public interface ISymbolReaderProvider {
    method GetSymbolReader (line 176) | ISymbolReader GetSymbolReader (ModuleDefinition module, string fileName);
    method GetSymbolReader (line 177) | ISymbolReader GetSymbolReader (ModuleDefinition module, Stream symbolS...
  class SymbolProvider (line 180) | static class SymbolProvider {
    method GetPlatformSymbolAssemblyName (line 184) | static SR.AssemblyName GetPlatformSymbolAssemblyName ()
    method GetPlatformType (line 198) | static Type GetPlatformType (string fullname)
    method GetPlatformReaderProvider (line 223) | public static ISymbolReaderProvider GetPlatformReaderProvider ()
    method GetProviderTypeName (line 235) | static string GetProviderTypeName (string name)

FILE: ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil.Cil/VariableDefinition.cs
  class VariableDefinition (line 31) | public sealed class VariableDefinition : VariableReference {
    method VariableDefinition (line 37) | public VariableDefinition (TypeReference variableType)
    method VariableDefinition (line 42) | public VariableDefinition (string name, TypeReference variableType)
    method Resolve (line 47) | public override VariableDefinition Resolve ()

FILE: ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil.Cil/VariableReference.cs
  class VariableReference (line 31) | public abstract class VariableReference {
    method VariableReference (line 51) | internal VariableReference (TypeReference variable_type)
    method VariableReference (line 56) | internal VariableReference (string name, TypeReference variable_type)
    method Resolve (line 62) | public abstract VariableDefinition Resolve ();
    method ToString (line 64) | public override string ToString ()

FILE: ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil.Metadata/BlobHeap.cs
  class BlobHeap (line 36) | sealed class BlobHeap : Heap
    method BlobHeap (line 39) | public BlobHeap(Section section, uint start, uint size)
    method Read (line 44) | public byte[] Read(uint index)

FILE: ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil.Metadata/CodedIndex.cs
  type CodedIndex (line 31) | enum CodedIndex {

FILE: ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil.Metadata/ElementType.cs
  type ElementType (line 31) | enum ElementType : byte {

FILE: ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil.Metadata/GuidHeap.cs
  class GuidHeap (line 35) | sealed class GuidHeap : Heap {
    method GuidHeap (line 37) | public GuidHeap (Section section, uint start, uint size)
    method Read (line 42) | public Guid Read (uint index)

FILE: ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil.Metadata/Heap.cs
  class Heap (line 33) | abstract class Heap {
    method Heap (line 41) | protected Heap (Section section, uint offset, uint size)

FILE: ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil.Metadata/MetadataToken.cs
  type MetadataToken (line 31) | public struct MetadataToken {
    method MetadataToken (line 45) | public MetadataToken (uint token)
    method MetadataToken (line 50) | public MetadataToken (TokenType type)
    method MetadataToken (line 55) | public MetadataToken (TokenType type, uint rid)
    method MetadataToken (line 60) | public MetadataToken (TokenType type, int rid)
    method ToInt32 (line 65) | public int ToInt32 ()
    method ToUInt32 (line 70) | public uint ToUInt32 ()
    method GetHashCode (line 75) | public override int GetHashCode ()
    method Equals (line 80) | public override bool Equals (object obj)
    method ToString (line 100) | public override string ToString ()

FILE: ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil.Metadata/Row.cs
  class Row (line 33) | class Row<T1, T2> {
    method Row (line 37) | public Row (T1 col1, T2 col2)
    method Row (line 50) | public Row (T1 col1, T2 col2, T3 col3)
    method Row (line 65) | public Row (T1 col1, T2 col2, T3 col3, T4 col4)
    method Row (line 82) | public Row (T1 col1, T2 col2, T3 col3, T4 col4, T5 col5)
    method Row (line 101) | public Row (T1 col1, T2 col2, T3 col3, T4 col4, T5 col5, T6 col6)
    method Row (line 124) | public Row (T1 col1, T2 col2, T3 col3, T4 col4, T5 col5, T6 col6, T7 c...
  class Row (line 44) | class Row<T1, T2, T3>
    method Row (line 37) | public Row (T1 col1, T2 col2)
    method Row (line 50) | public Row (T1 col1, T2 col2, T3 col3)
    method Row (line 65) | public Row (T1 col1, T2 col2, T3 col3, T4 col4)
    method Row (line 82) | public Row (T1 col1, T2 col2, T3 col3, T4 col4, T5 col5)
    method Row (line 101) | public Row (T1 col1, T2 col2, T3 col3, T4 col4, T5 col5, T6 col6)
    method Row (line 124) | public Row (T1 col1, T2 col2, T3 col3, T4 col4, T5 col5, T6 col6, T7 c...
  class Row (line 58) | class Row<T1, T2, T3, T4>
    method Row (line 37) | public Row (T1 col1, T2 col2)
    method Row (line 50) | public Row (T1 col1, T2 col2, T3 col3)
    method Row (line 65) | public Row (T1 col1, T2 col2, T3 col3, T4 col4)
    method Row (line 82) | public Row (T1 col1, T2 col2, T3 col3, T4 col4, T5 col5)
    method Row (line 101) | public Row (T1 col1, T2 col2, T3 col3, T4 col4, T5 col5, T6 col6)
    method Row (line 124) | public Row (T1 col1, T2 col2, T3 col3, T4 col4, T5 col5, T6 col6, T7 c...
  class Row (line 74) | class Row<T1, T2, T3, T4, T5>
    method Row (line 37) | public Row (T1 col1, T2 col2)
    method Row (line 50) | public Row (T1 col1, T2 col2, T3 col3)
    method Row (line 65) | public Row (T1 col1, T2 col2, T3 col3, T4 col4)
    method Row (line 82) | public Row (T1 col1, T2 col2, T3 col3, T4 col4, T5 col5)
    method Row (line 101) | public Row (T1 col1, T2 col2, T3 col3, T4 col4, T5 col5, T6 col6)
    method Row (line 124) | public Row (T1 col1, T2 col2, T3 col3, T4 col4, T5 col5, T6 col6, T7 c...
  class Row (line 92) | class Row<T1, T2, T3, T4, T5, T6>
    method Row (line 37) | public Row (T1 col1, T2 col2)
    method Row (line 50) | public Row (T1 col1, T2 col2, T3 col3)
    method Row (line 65) | public Row (T1 col1, T2 col2, T3 col3, T4 col4)
    method Row (line 82) | public Row (T1 col1, T2 col2, T3 col3, T4 col4, T5 col5)
    method Row (line 101) | public Row (T1 col1, T2 col2, T3 col3, T4 col4, T5 col5, T6 col6)
    method Row (line 124) | public Row (T1 col1, T2 col2, T3 col3, T4 col4, T5 col5, T6 col6, T7 c...
  class Row (line 112) | class Row<T1, T2, T3, T4, T5, T6, T7, T8, T9>
    method Row (line 37) | public Row (T1 col1, T2 col2)
    method Row (line 50) | public Row (T1 col1, T2 col2, T3 col3)
    method Row (line 65) | public Row (T1 col1, T2 col2, T3 col3, T4 col4)
    method Row (line 82) | public Row (T1 col1, T2 col2, T3 col3, T4 col4, T5 col5)
    method Row (line 101) | public Row (T1 col1, T2 col2, T3 col3, T4 col4, T5 col5, T6 col6)
    method Row (line 124) | public Row (T1 col1, T2 col2, T3 col3, T4 col4, T5 col5, T6 col6, T7 c...
  class RowEqualityComparer (line 138) | sealed class RowEqualityComparer : IEqualityComparer<Row<string, string>...
    method Equals (line 140) | public bool Equals (Row<string, string> x, Row<string, string> y)
    method GetHashCode (line 146) | public int GetHashCode (Row<string, string> obj)
    method Equals (line 152) | public bool Equals (Row<uint, uint> x, Row<uint, uint> y)
    method GetHashCode (line 158) | public int GetHashCode (Row<uint, uint> obj)
    method Equals (line 163) | public bool Equals (Row<uint, uint, uint> x, Row<uint, uint, uint> y)
    method GetHashCode (line 170) | public int GetHashCode (Row<uint, uint, uint> obj)

FILE: ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil.Metadata/StringHeap.cs
  class StringHeap (line 37) | class StringHeap : Heap {
    method StringHeap (line 41) | public StringHeap (Section section, uint start, uint size)
    method Read (line 46) | public string Read (uint index)
    method ReadStringAt (line 65) | protected virtual string ReadStringAt (uint index)

FILE: ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil.Metadata/TableHeap.cs
  type Table (line 34) | enum Table : byte {
  type TableInformation (line 82) | struct TableInformation {
  class TableHeap (line 88) | sealed class TableHeap : Heap {
    method TableHeap (line 101) | public TableHeap (Section section, uint start, uint size)
    method HasTable (line 106) | public bool HasTable (Table table)

FILE: ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil.Metadata/TokenType.cs
  type TokenType (line 31) | public enum TokenType : uint {

FILE: ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil.Metadata/UserStringHeap.cs
  class UserStringHeap (line 36) | sealed class UserStringHeap : StringHeap
    method UserStringHeap (line 39) | public UserStringHeap(Section section, uint start, uint size)
    method ReadStringAt (line 44) | protected override string ReadStringAt(uint index)

FILE: ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil.Metadata/Utilities.cs
  class Mixin (line 36) | static partial class Mixin
    method ReadCompressedUInt32 (line 39) | public static uint ReadCompressedUInt32(byte[] data, ref int position)
    method GetMetadataToken (line 64) | public static MetadataToken GetMetadataToken(CodedIndex self, uint data)
    method GetSize (line 276) | public static int GetSize(CodedIndex self, Func<Table, int> counter)

FILE: ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil.PE/BinaryStreamReader.cs
  class BinaryStreamReader (line 34) | class BinaryStreamReader : BinaryReader {
    method BinaryStreamReader (line 36) | public BinaryStreamReader (Stream stream)
    method Advance (line 41) | protected void Advance (int bytes)
    method ReadDataDirectory (line 46) | protected DataDirectory ReadDataDirectory ()

FILE: ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil.PE/ByteBuffer.cs
  class ByteBuffer (line 33) | class ByteBuffer {
    method ByteBuffer (line 39) | public ByteBuffer ()
    method ByteBuffer (line 44) | public ByteBuffer (int length)
    method ByteBuffer (line 49) | public ByteBuffer (byte [] buffer)
    method Reset (line 55) | public void Reset (byte [] buffer)
    method Advance (line 61) | public void Advance (int length)
    method ReadByte (line 66) | public byte ReadByte ()
    method ReadSByte (line 71) | public sbyte ReadSByte ()
    method ReadBytes (line 76) | public byte [] ReadBytes (int length)
    method ReadUInt16 (line 84) | public ushort ReadUInt16 ()
    method ReadInt16 (line 92) | public short ReadInt16 ()
    method ReadUInt32 (line 97) | public uint ReadUInt32 ()
    method ReadInt32 (line 107) | public int ReadInt32 ()
    method ReadUInt64 (line 112) | public ulong ReadUInt64 ()
    method ReadInt64 (line 120) | public long ReadInt64 ()
    method ReadCompressedUInt32 (line 125) | public uint ReadCompressedUInt32 ()
    method ReadCompressedInt32 (line 141) | public int ReadCompressedInt32 ()
    method ReadSingle (line 155) | public float ReadSingle ()
    method ReadDouble (line 168) | public double ReadDouble ()

FILE: ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil.PE/ByteBufferEqualityComparer.cs
  class ByteBufferEqualityComparer (line 34) | sealed class ByteBufferEqualityComparer : IEqualityComparer<ByteBuffer> {
    method Equals (line 36) | public bool Equals (ByteBuffer x, ByteBuffer y)
    method GetHashCode (line 51) | public int GetHashCode (ByteBuffer buffer)

FILE: ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil.PE/DataDirectory.cs
  type DataDirectory (line 35) | struct DataDirectory {
    method DataDirectory (line 44) | public DataDirectory (RVA rva, uint size)

FILE: ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil.PE/Image.cs
  class Image (line 40) | sealed class Image
    method Image (line 70) | public Image()
    method HasTable (line 75) | public bool HasTable(Table table)
    method GetTableLength (line 80) | public int GetTableLength(Table table)
    method GetTableIndexSize (line 85) | public int GetTableIndexSize(Table table)
    method GetCodedIndexSize (line 90) | public int GetCodedIndexSize(CodedIndex coded_index)
    method ResolveVirtualAddress (line 100) | public uint ResolveVirtualAddress(RVA rva)
    method ResolveVirtualAddressInSection (line 109) | public uint ResolveVirtualAddressInSection(RVA rva, Section section)
    method GetSection (line 114) | public Section GetSection(string name)
    method GetSectionAtVirtualAddress (line 127) | public Section GetSectionAtVirtualAddress(RVA rva)
    method GetDebugHeader (line 140) | public ImageDebugDirectory GetDebugHeader(out byte[] header)

FILE: ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil.PE/ImageReader.cs
  class ImageReader (line 39) | sealed class ImageReader : BinaryStreamReader
    method ImageReader (line 47) | public ImageReader(Stream stream)
    method MoveTo (line 55) | void MoveTo(DataDirectory directory)
    method MoveTo (line 60) | void MoveTo(uint position)
    method ReadImage (line 65) | void ReadImage()
    method ReadArchitecture (line 114) | TargetArchitecture ReadArchitecture()
    method GetModuleKind (line 132) | static ModuleKind GetModuleKind(ushort characteristics, ushort subsystem)
    method ReadOptionalHeaders (line 143) | void ReadOptionalHeaders(out ushort subsystem, out ushort dll_characte...
    method ReadAlignedString (line 224) | string ReadAlignedString(int length)
    method ReadZeroTerminatedString (line 242) | string ReadZeroTerminatedString(int length)
    method ReadSections (line 259) | void ReadSections(ushort count)
    method ReadSectionData (line 295) | void ReadSectionData(Section section)
    method ReadCLIHeader (line 313) | void ReadCLIHeader()
    method ReadMetadata (line 340) | void ReadMetadata()
    method ReadMetadataStream (line 373) | void ReadMetadataStream(Section section)
    method ReadTableHeap (line 403) | void ReadTableHeap()
    method SetIndexSize (line 443) | static void SetIndexSize(Heap heap, uint sizes, byte flag)
    method GetTableIndexSize (line 451) | int GetTableIndexSize(Table table)
    method GetCodedIndexSize (line 456) | int GetCodedIndexSize(CodedIndex index)
    method ComputeTableInformations (line 461) | void ComputeTableInformations()
    method ReadImageFrom (line 680) | public static Image ReadImageFrom(Stream stream)

FILE: ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil.PE/Section.cs
  class Section (line 35) | sealed class Section {

FILE: ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil/ArrayType.cs
  type ArrayDimension (line 36) | public struct ArrayDimension {
    method ArrayDimension (line 55) | public ArrayDimension (int? lowerBound, int? upperBound)
    method ToString (line 61) | public override string ToString ()
  class ArrayType (line 69) | public sealed class ArrayType : TypeSpecification {
    method ArrayType (line 138) | public ArrayType (TypeReference type)
    method ArrayType (line 145) | public ArrayType (TypeReference type, int rank)

FILE: ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil/AssemblyDefinition.cs
  class AssemblyDefinition (line 37) | public sealed class AssemblyDefinition : ICustomAttributeProvider, ISecu...
    method AssemblyDefinition (line 121) | internal AssemblyDefinition()
    method ReadAssembly (line 127) | public static AssemblyDefinition ReadAssembly(string fileName)
    method ReadAssembly (line 132) | public static AssemblyDefinition ReadAssembly(string fileName, ReaderP...
    method ReadAssembly (line 137) | public static AssemblyDefinition ReadAssembly(Stream stream)
    method ReadAssembly (line 142) | public static AssemblyDefinition ReadAssembly(Stream stream, ReaderPar...
    method ReadAssembly (line 147) | static AssemblyDefinition ReadAssembly(ModuleDefinition module)
    method ToString (line 158) | public override string ToString()

FILE: ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil/AssemblyFlags.cs
  type AssemblyAttributes (line 33) | [Flags]

FILE: ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil/AssemblyHashAlgorithm.cs
  type AssemblyHashAlgorithm (line 31) | public enum AssemblyHashAlgorithm : uint {

FILE: ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil/AssemblyLinkedResource.cs
  class AssemblyLinkedResource (line 33) | public sealed class AssemblyLinkedResource : Resource {
    method AssemblyLinkedResource (line 46) | public AssemblyLinkedResource (string name, ManifestResourceAttributes...
    method AssemblyLinkedResource (line 51) | public AssemblyLinkedResource (string name, ManifestResourceAttributes...

FILE: ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil/AssemblyNameDefinition.cs
  class AssemblyNameDefinition (line 33) | public sealed class AssemblyNameDefinition : AssemblyNameReference {
    method AssemblyNameDefinition (line 39) | internal AssemblyNameDefinition ()
    method AssemblyNameDefinition (line 44) | public AssemblyNameDefinition (string name, Version version)

FILE: ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil/AssemblyNameReference.cs
  class AssemblyNameReference (line 37) | public class AssemblyNameReference : IMetadataScope
    method HashPublicKey (line 147) | byte[] HashPublicKey()
    method Parse (line 211) | public static AssemblyNameReference Parse(string fullName)
    method AssemblyNameReference (line 276) | internal AssemblyNameReference()
    method AssemblyNameReference (line 280) | public AssemblyNameReference(string name, Version version)
    method ToString (line 291) | public override string ToString()

FILE: ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil/AssemblyReader.cs
  class ModuleReader (line 44) | abstract class ModuleReader
    method ModuleReader (line 50) | protected ModuleReader(Image image, ReadingMode mode)
    method ReadModule (line 57) | protected abstract void ReadModule();
    method ReadModuleManifest (line 59) | protected void ReadModuleManifest(MetadataReader reader)
    method ReadAssembly (line 66) | void ReadAssembly(MetadataReader reader)
    method CreateModuleFrom (line 82) | public static ModuleDefinition CreateModuleFrom(Image image, ReaderPar...
    method ReadSymbols (line 97) | static void ReadSymbols(ModuleDefinition module, ReaderParameters para...
    method ReadModule (line 116) | static ModuleDefinition ReadModule(Image image, ReaderParameters param...
    method CreateModuleReader (line 123) | static ModuleReader CreateModuleReader(Image image, ReadingMode mode)
  class ImmediateModuleReader (line 137) | sealed class ImmediateModuleReader : ModuleReader
    method ImmediateModuleReader (line 140) | public ImmediateModuleReader(Image image)
    method ReadModule (line 145) | protected override void ReadModule()
    method ReadModule (line 155) | public static void ReadModule(ModuleDefinition module)
    method ReadTypes (line 180) | static void ReadTypes(Collection<TypeDefinition> types)
    method ReadType (line 186) | static void ReadType(TypeDefinition type)
    method ReadGenericParameters (line 215) | static void ReadGenericParameters(IGenericParameterProvider provider)
    method ReadSecurityDeclarations (line 234) | static void ReadSecurityDeclarations(ISecurityDeclarationProvider prov...
    method ReadCustomAttributes (line 240) | static void ReadCustomAttributes(ICustomAttributeProvider provider)
    method ReadFields (line 246) | static void ReadFields(TypeDefinition type)
    method ReadMethods (line 270) | static void ReadMethods(TypeDefinition type)
    method ReadParameters (line 303) | static void ReadParameters(MethodDefinition method)
    method ReadProperties (line 321) | static void ReadProperties(TypeDefinition type)
    method ReadEvents (line 338) | static void ReadEvents(TypeDefinition type)
    method Read (line 352) | static void Read(object collection)
  class DeferredModuleReader (line 357) | sealed class DeferredModuleReader : ModuleReader
    method DeferredModuleReader (line 360) | public DeferredModuleReader(Image image)
    method ReadModule (line 365) | protected override void ReadModule()
  class MetadataReader (line 375) | sealed class MetadataReader : ByteBuffer
    method MetadataReader (line 391) | public MetadataReader(ModuleDefinition module)
    method GetCodedIndexSize (line 400) | int GetCodedIndexSize(CodedIndex index)
    method ReadByIndexSize (line 405) | uint ReadByIndexSize(int size)
    method ReadBlob (line 413) | byte[] ReadBlob()
    method ReadBlob (line 425) | byte[] ReadBlob(uint signature)
    method ReadBlobIndex (line 434) | uint ReadBlobIndex()
    method ReadString (line 440) | string ReadString()
    method ReadStringIndex (line 445) | uint ReadStringIndex()
    method ReadTableIndex (line 450) | uint ReadTableIndex(Table table)
    method ReadMetadataToken (line 455) | MetadataToken ReadMetadataToken(CodedIndex index)
    method MoveTo (line 460) | int MoveTo(Table table)
    method MoveTo (line 469) | bool MoveTo(Table table, uint row)
    method ReadAssemblyNameDefinition (line 480) | public AssemblyNameDefinition ReadAssemblyNameDefinition()
    method Populate (line 498) | public ModuleDefinition Populate(ModuleDefinition module)
    method InitializeAssemblyReferences (line 511) | void InitializeAssemblyReferences()
    method ReadAssemblyReferences (line 541) | public Collection<AssemblyNameReference> ReadAssemblyReferences()
    method ReadEntryPoint (line 548) | public MethodDefinition ReadEntryPoint()
    method ReadModules (line 557) | public Collection<ModuleDefinition> ReadModules()
    method GetModuleFileName (line 585) | string GetModuleFileName(string name)
    method InitializeModuleReferences (line 594) | void InitializeModuleReferences()
    method ReadModuleReferences (line 611) | public Collection<ModuleReference> ReadModuleReferences()
    method HasFileResource (line 618) | public bool HasFileResource()
    method ReadResources (line 631) | public Collection<Resource> ReadResources()
    method ReadFileRecord (line 675) | Row<FileAttributes, string, uint> ReadFileRecord(uint rid)
    method GetManagedResourceStream (line 692) | public MemoryStream GetManagedResourceStream(uint offset)
    method PopulateVersionAndFlags (line 707) | void PopulateVersionAndFlags(AssemblyNameReference name)
    method PopulateNameAndCulture (line 718) | void PopulateNameAndCulture(AssemblyNameReference name)
    method ReadTypes (line 724) | public TypeDefinitionCollection ReadTypes()
    method CompleteTypes (line 746) | void CompleteTypes()
    method InitializeTypeDefinitions (line 759) | void InitializeTypeDefinitions()
    method IsNested (line 780) | static bool IsNested(TypeAttributes attributes)
    method HasNestedTypes (line 796) | public bool HasNestedTypes(TypeDefinition type)
    method ReadNestedTypes (line 807) | public Collection<TypeDefinition> ReadNestedTypes(TypeDefinition type)
    method InitializeNestedTypes (line 829) | void InitializeNestedTypes()
    method AddNestedMapping (line 851) | void AddNestedMapping(uint declaring, uint nested)
    method AddMapping (line 857) | static TValue[] AddMapping<TKey, TValue>(Dictionary<TKey, TValue[]> ca...
    method ReadType (line 872) | TypeDefinition ReadType(uint rid)
    method GetNestedTypeDeclaringType (line 900) | TypeDefinition GetNestedTypeDeclaringType(TypeDefinition type)
    method ReadFieldsRange (line 910) | Range ReadFieldsRange(uint type_index)
    method ReadMethodsRange (line 915) | Range ReadMethodsRange(uint type_index)
    method ReadListRange (line 920) | Range ReadListRange(uint current_index, Table current, Table target)
    method ReadTypeLayout (line 944) | public Row<short, int> ReadTypeLayout(TypeDefinition type)
    method InitializeTypeLayouts (line 960) | void InitializeTypeLayouts()
    method GetTypeDefOrRef (line 980) | public TypeReference GetTypeDefOrRef(MetadataToken token)
    method GetTypeDefinition (line 985) | public TypeDefinition GetTypeDefinition(uint rid)
    method ReadTypeDefinition (line 996) | TypeDefinition ReadTypeDefinition(uint rid)
    method InitializeTypeReferences (line 1004) | void InitializeTypeReferences()
    method GetTypeReference (line 1012) | public TypeReference GetTypeReference(string scope, string full_name)
    method GetTypeReference (line 1035) | TypeReference GetTypeReference(uint rid)
    method ReadTypeReference (line 1046) | TypeReference ReadTypeReference(uint rid)
    method GetTypeReferenceScope (line 1088) | IMetadataScope GetTypeReferenceScope(MetadataToken scope)
    method GetTypeReferences (line 1105) | public IEnumerable<TypeReference> GetTypeReferences()
    method GetTypeSpecification (line 1119) | TypeReference GetTypeSpecification(uint rid)
    method ReadSignature (line 1132) | SignatureReader ReadSignature(uint signature)
    method HasInterfaces (line 1137) | public bool HasInterfaces(TypeDefinition type)
    method ReadInterfaces (line 1145) | public Collection<TypeReference> ReadInterfaces(TypeDefinition type)
    method InitializeInterfaces (line 1165) | void InitializeInterfaces()
    method AddInterfaceMapping (line 1183) | void AddInterfaceMapping(uint type, MetadataToken @interface)
    method ReadFields (line 1188) | public Collection<FieldDefinition> ReadFields(TypeDefinition type)
    method ReadField (line 1211) | void ReadField(uint field_rid, Collection<FieldDefinition> fields)
    method InitializeFields (line 1227) | void InitializeFields()
    method ReadFieldType (line 1235) | TypeReference ReadFieldType(uint signature)
    method ReadFieldRVA (line 1247) | public int ReadFieldRVA(FieldDefinition field)
    method GetFieldInitializeValue (line 1268) | byte[] GetFieldInitializeValue(int size, RVA rva)
    method GetFieldTypeSize (line 1279) | static int GetFieldTypeSize(TypeReference type)
    method InitializeFieldRVAs (line 1323) | void InitializeFieldRVAs()
    method ReadFieldLayout (line 1341) | public int ReadFieldLayout(FieldDefinition field)
    method InitializeFieldLayouts (line 1354) | void InitializeFieldLayouts()
    method HasEvents (line 1372) | public bool HasEvents(TypeDefinition type)
    method ReadEvents (line 1383) | public Collection<EventDefinition> ReadEvents(TypeDefinition type)
    method ReadEvent (line 1414) | void ReadEvent(uint event_rid, Collection<EventDefinition> events)
    method InitializeEvents (line 1429) | void InitializeEvents()
    method ReadEventsRange (line 1446) | Range ReadEventsRange(uint rid)
    method HasProperties (line 1451) | public bool HasProperties(TypeDefinition type)
    method ReadProperties (line 1462) | public Collection<PropertyDefinition> ReadProperties(TypeDefinition type)
    method ReadProperty (line 1493) | void ReadProperty(uint property_rid, Collection<PropertyDefinition> pr...
    method InitializeProperties (line 1521) | void InitializeProperties()
    method ReadPropertiesRange (line 1538) | Range ReadPropertiesRange(uint rid)
    method ReadMethodSemantics (line 1543) | MethodSemanticsAttributes ReadMethodSemantics(MethodDefinition method)
    method GetEvent (line 1604) | static EventDefinition GetEvent(TypeDefinition type, MetadataToken token)
    method GetProperty (line 1612) | static PropertyDefinition GetProperty(TypeDefinition type, MetadataTok...
    method GetMember (line 1620) | static TMember GetMember<TMember>(Collection<TMember> members, Metadat...
    method InitializeMethodSemantics (line 1632) | void InitializeMethodSemantics()
    method ReadMethods (line 1651) | public PropertyDefinition ReadMethods(PropertyDefinition property)
    method ReadMethods (line 1657) | public EventDefinition ReadMethods(EventDefinition @event)
    method ReadAllSemantics (line 1663) | public MethodSemanticsAttributes ReadAllSemantics(MethodDefinition met...
    method ReadAllSemantics (line 1670) | void ReadAllSemantics(TypeDefinition type)
    method ReadParametersRange (line 1684) | Range ReadParametersRange(uint method_rid)
    method ReadMethods (line 1689) | public Collection<MethodDefinition> ReadMethods(TypeDefinition type)
    method ReadPointers (line 1710) | void ReadPointers<TMember>(Table ptr, Table table, Range range, Collec...
    method IsDeleted (line 1724) | static bool IsDeleted(IMemberDefinition member)
    method InitializeMethods (line 1729) | void InitializeMethods()
    method ReadMethod (line 1737) | void ReadMethod(uint method_rid, Collection<MethodDefinition> methods)
    method ReadParameters (line 1767) | void ReadParameters(MethodDefinition method, Range param_range)
    method ReadParameterPointers (line 1781) | void ReadParameterPointers(MethodDefinition method, Range range)
    method ReadParameter (line 1795) | void ReadParameter(uint param_rid, MethodDefinition method)
    method ReadMethodSignature (line 1810) | void ReadMethodSignature(uint signature, IMethodSignature method)
    method ReadPInvokeInfo (line 1816) | public PInvokeInfo ReadPInvokeInfo(MethodDefinition method)
    method InitializePInvokes (line 1834) | void InitializePInvokes()
    method HasGenericParameters (line 1857) | public bool HasGenericParameters(IGenericParameterProvider provider)
    method ReadGenericParameters (line 1868) | public Collection<GenericParameter> ReadGenericParameters(IGenericPara...
    method InitializeGenericParameters (line 1898) | void InitializeGenericParameters()
    method InitializeRanges (line 1913) | Dictionary<MetadataToken, Range> InitializeRanges(Table table, Func<Me...
    method HasGenericConstraints (line 1950) | public bool HasGenericConstraints(GenericParameter generic_parameter)
    method ReadGenericConstraints (line 1961) | public Collection<TypeReference> ReadGenericConstraints(GenericParamet...
    method InitializeGenericConstraints (line 1981) | void InitializeGenericConstraints()
    method AddGenericConstraintMapping (line 1996) | void AddGenericConstraintMapping(uint generic_parameter, MetadataToken...
    method HasOverrides (line 2003) | public bool HasOverrides(MethodDefinition method)
    method ReadOverrides (line 2014) | public Collection<MethodReference> ReadOverrides(MethodDefinition method)
    method InitializeOverrides (line 2034) | void InitializeOverrides()
    method AddOverrideMapping (line 2057) | void AddOverrideMapping(uint method_rid, MetadataToken @override)
    method ReadMethodBody (line 2064) | public MethodBody ReadMethodBody(MethodDefinition method)
    method ReadCallSite (line 2069) | public CallSite ReadCallSite(MetadataToken token)
    method ReadVariables (line 2085) | public VariableDefinitionCollection ReadVariables(MetadataToken local_...
    method LookupToken (line 2108) | public IMetadataTokenProvider LookupToken(MetadataToken token)
    method GetFieldDefinition (line 2152) | public FieldDefinition GetFieldDefinition(uint rid)
    method LookupField (line 2163) | FieldDefinition LookupField(uint rid)
    method GetMethodDefinition (line 2174) | public MethodDefinition GetMethodDefinition(uint rid)
    method LookupMethod (line 2185) | MethodDefinition LookupMethod(uint rid)
    method GetMethodSpecification (line 2196) | MethodSpecification GetMethodSpecification(uint rid)
    method ReadMethodSpecSignature (line 2210) | MethodSpecification ReadMethodSpecSignature(uint signature, MethodRefe...
    method GetMemberReference (line 2227) | MemberReference GetMemberReference(uint rid)
    method ReadMemberReference (line 2241) | MemberReference ReadMemberReference(uint rid)
    method ReadTypeMemberReference (line 2271) | MemberReference ReadTypeMemberReference(MetadataToken type, string nam...
    method ReadMemberReferenceSignature (line 2284) | MemberReference ReadMemberReferenceSignature(uint signature, TypeRefer...
    method ReadMethodMemberReference (line 2306) | MemberReference ReadMethodMemberReference(MetadataToken token, string ...
    method InitializeMemberReferences (line 2318) | void InitializeMemberReferences()
    method GetMemberReferences (line 2326) | public IEnumerable<MemberReference> GetMemberReferences()
    method InitializeConstants (line 2348) | void InitializeConstants()
    method ReadConstant (line 2367) | public object ReadConstant(IConstantProvider owner)
    method ReadConstantString (line 2389) | static string ReadConstantString(byte[] blob)
    method ReadConstantPrimitive (line 2398) | object ReadConstantPrimitive(ElementType type, uint signature)
    method InitializeCustomAttributes (line 2404) | void InitializeCustomAttributes()
    method HasCustomAttributes (line 2419) | public bool HasCustomAttributes(ICustomAttributeProvider owner)
    method ReadCustomAttributes (line 2430) | public Collection<CustomAttribute> ReadCustomAttributes(ICustomAttribu...
    method ReadCustomAttributeBlob (line 2458) | public byte[] ReadCustomAttributeBlob(uint signature)
    method ReadCustomAttributeSignature (line 2463) | public void ReadCustomAttributeSignature(CustomAttribute attribute)
    method InitializeMarshalInfos (line 2488) | void InitializeMarshalInfos()
    method HasMarshalInfo (line 2508) | public bool HasMarshalInfo(IMarshalInfoProvider owner)
    method ReadMarshalInfo (line 2515) | public MarshalInfo ReadMarshalInfo(IMarshalInfoProvider owner)
    method InitializeSecurityDeclarations (line 2530) | void InitializeSecurityDeclarations()
    method HasSecurityDeclarations (line 2545) | public bool HasSecurityDeclarations(ISecurityDeclarationProvider owner)
    method ReadSecurityDeclarations (line 2556) | public Collection<SecurityDeclaration> ReadSecurityDeclarations(ISecur...
    method ReadSecurityDeclarationBlob (line 2581) | public byte[] ReadSecurityDeclarationBlob(uint signature)
    method ReadSecurityDeclarationSignature (line 2586) | public void ReadSecurityDeclarationSignature(SecurityDeclaration decla...
    method ReadXmlSecurityDeclaration (line 2607) | void ReadXmlSecurityDeclaration(uint signature, SecurityDeclaration de...
    method ReadExportedTypes (line 2628) | public Collection<ExportedType> ReadExportedTypes()
    method GetExportedTypeScope (line 2673) | IMetadataScope GetExportedTypeScope(MetadataToken token)
    method GetModuleReferenceFromFile (line 2696) | ModuleReference GetModuleReferenceFromFile(MetadataToken token)
    method InitializeCollection (line 2718) | static void InitializeCollection(object o)
  class SignatureReader (line 2723) | sealed class SignatureReader : ByteBuffer
    method SignatureReader (line 2734) | public SignatureReader(uint blob, MetadataReader reader)
    method MoveToBlob (line 2745) | void MoveToBlob(uint blob)
    method ReadTypeTokenSignature (line 2750) | MetadataToken ReadTypeTokenSignature()
    method GetGenericParameter (line 2755) | GenericParameter GetGenericParameter(GenericParameterType type, uint var)
    method GetUnboundGenericParameter (line 2786) | GenericParameter GetUnboundGenericParameter(GenericParameterType type,...
    method CheckGenericContext (line 2791) | static void CheckGenericContext(IGenericParameterProvider owner, int i...
    method ReadGenericInstanceSignature (line 2799) | public void ReadGenericInstanceSignature(IGenericParameterProvider pro...
    method ReadArrayTypeSignature (line 2812) | ArrayType ReadArrayTypeSignature()
    method GetTypeDefOrRef (line 2844) | TypeReference GetTypeDefOrRef(MetadataToken token)
    method ReadTypeSignature (line 2849) | public TypeReference ReadTypeSignature()
    method ReadTypeSignature (line 2854) | TypeReference ReadTypeSignature(ElementType etype)
    method ReadMethodSignature (line 2919) | public void ReadMethodSignature(IMethodSignature method)
    method ReadConstantSignature (line 2971) | public object ReadConstantSignature(ElementType type)
    method ReadCustomAttributeConstructorArguments (line 2976) | public void ReadCustomAttributeConstructorArguments(CustomAttribute at...
    method ReadCustomAttributeFixedArgument (line 2989) | CustomAttributeArgument ReadCustomAttributeFixedArgument(TypeReference...
    method ReadCustomAttributeNamedArguments (line 2997) | public void ReadCustomAttributeNamedArguments(ushort count, ref Collec...
    method ReadCustomAttributeNamedArgument (line 3003) | void ReadCustomAttributeNamedArgument(ref Collection<CustomAttributeNa...
    method GetCustomAttributeNamedArgumentCollection (line 3025) | static Collection<CustomAttributeNamedArgument> GetCustomAttributeName...
    method ReadCustomAttributeFixedArrayArgument (line 3033) | CustomAttributeArgument ReadCustomAttributeFixedArrayArgument(ArrayTyp...
    method ReadCustomAttributeElement (line 3052) | CustomAttributeArgument ReadCustomAttributeElement(TypeReference type)
    method ReadCustomAttributeElementValue (line 3064) | object ReadCustomAttributeElementValue(TypeReference type)
    method ReadPrimitiveValue (line 3082) | object ReadPrimitiveValue(ElementType type)
    method GetPrimitiveType (line 3115) | TypeReference GetPrimitiveType(ElementType etype)
    method ReadCustomAttributeFieldOrPropType (line 3150) | TypeReference ReadCustomAttributeFieldOrPropType()
    method ReadTypeReference (line 3169) | public TypeReference ReadTypeReference()
    method ReadCustomAttributeEnum (line 3174) | object ReadCustomAttributeEnum(TypeReference enum_type)
    method ReadSecurityAttribute (line 3238) | public SecurityAttribute ReadSecurityAttribute()
    method ReadMarshalInfo (line 3252) | public MarshalInfo ReadMarshalInfo()
    method ReadNativeType (line 3308) | NativeType ReadNativeType()
    method ReadVariantType (line 3313) | VariantType ReadVariantType()
    method ReadUTF8String (line 3318) | string ReadUTF8String()
    method CanReadMore (line 3337) | public bool CanReadMore()

FILE: ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil/BaseAssemblyResolver.cs
  class AssemblyResolveEventArgs (line 40) | public sealed class AssemblyResolveEventArgs : EventArgs {
    method AssemblyResolveEventArgs (line 48) | public AssemblyResolveEventArgs (AssemblyNameReference reference)
  class AssemblyResolutionException (line 55) | public class AssemblyResolutionException : FileNotFoundException {
    method AssemblyResolutionException (line 63) | public AssemblyResolutionException (AssemblyNameReference reference)
  class BaseAssemblyResolver (line 72) | public abstract class BaseAssemblyResolver : IAssemblyResolver {
    method AddSearchDirectory (line 80) | public void AddSearchDirectory (string directory)
    method RemoveSearchDirectory (line 85) | public void RemoveSearchDirectory (string directory)
    method GetSearchDirectories (line 90) | public string [] GetSearchDirectories ()
    method Resolve (line 97) | public virtual AssemblyDefinition Resolve (string fullName)
    method Resolve (line 102) | public virtual AssemblyDefinition Resolve (string fullName, ReaderPara...
    method BaseAssemblyResolver (line 112) | protected BaseAssemblyResolver ()
    method GetAssembly (line 117) | AssemblyDefinition GetAssembly (string file, ReaderParameters parameters)
    method Resolve (line 125) | public virtual AssemblyDefinition Resolve (AssemblyNameReference name)
    method Resolve (line 130) | public virtual AssemblyDefinition Resolve (AssemblyNameReference name,...
    method SearchDirectory (line 152) | AssemblyDefinition SearchDirectory (AssemblyNameReference name, IEnume...
    method IsZero (line 166) | static bool IsZero (Version version)

FILE: ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil/CallSite.cs
  class CallSite (line 36) | public sealed class CallSite : IMethodSignature {
    method CallSite (line 104) | internal CallSite ()
    method CallSite (line 110) | public CallSite (TypeReference returnType)
    method ToString (line 119) | public override string ToString ()

FILE: ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil/CustomAttribute.cs
  type CustomAttributeArgument (line 35) | public struct CustomAttributeArgument {
    method CustomAttributeArgument (line 48) | public CustomAttributeArgument (TypeReference type, object value)
  type CustomAttributeNamedArgument (line 56) | public struct CustomAttributeNamedArgument {
    method CustomAttributeNamedArgument (line 69) | public CustomAttributeNamedArgument (string name, CustomAttributeArgum...
  type ICustomAttribute (line 77) | public interface ICustomAttribute {
  class CustomAttribute (line 87) | public sealed class CustomAttribute : ICustomAttribute {
    method CustomAttribute (line 166) | internal CustomAttribute (uint signature, MethodReference constructor)
    method CustomAttribute (line 173) | public CustomAttribute (MethodReference constructor)
    method CustomAttribute (line 179) | public CustomAttribute (MethodReference constructor, byte [] blob)
    method GetBlob (line 186) | public byte [] GetBlob ()
    method Resolve (line 197) | void Resolve ()
  class Mixin (line 221) | static partial class Mixin {
    method CheckName (line 223) | public static void CheckName (string name)

FILE: ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil/DefaultAssemblyResolver.cs
  class DefaultAssemblyResolver (line 34) | public class DefaultAssemblyResolver : BaseAssemblyResolver {
    method DefaultAssemblyResolver (line 38) | public DefaultAssemblyResolver ()
    method Resolve (line 43) | public override AssemblyDefinition Resolve (AssemblyNameReference name)
    method RegisterAssembly (line 58) | protected void RegisterAssembly (AssemblyDefinition assembly)

FILE: ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil/EmbeddedResource.cs
  class EmbeddedResource (line 34) | public sealed class EmbeddedResource : Resource {
    method EmbeddedResource (line 46) | public EmbeddedResource (string name, ManifestResourceAttributes attri...
    method EmbeddedResource (line 52) | public EmbeddedResource (string name, ManifestResourceAttributes attri...
    method EmbeddedResource (line 58) | internal EmbeddedResource (string name, ManifestResourceAttributes att...
    method GetResourceStream (line 65) | public Stream GetResourceStream ()
    method GetResourceData (line 79) | public byte [] GetResourceData ()
    method ReadStream (line 93) | static byte [] ReadStream (Stream stream)

FILE: ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil/EventAttributes.cs
  type EventAttributes (line 33) | [Flags]

FILE: ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil/EventDefinition.cs
  class EventDefinition (line 33) | public sealed class EventDefinition : EventReference, IMemberDefinition {
    method EventDefinition (line 142) | public EventDefinition (string name, EventAttributes attributes, TypeR...
    method InitializeMethods (line 149) | void InitializeMethods ()
    method Resolve (line 165) | public override EventDefinition Resolve ()

FILE: ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil/EventReference.cs
  class EventReference (line 33) | public abstract class EventReference : MemberReference {
    method EventReference (line 46) | protected EventReference (string name, TypeReference eventType)
    method Resolve (line 55) | public abstract EventDefinition Resolve ();

FILE: ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil/ExportedType.cs
  class ExportedType (line 33) | public class ExportedType : IMetadataTokenProvider {
    method ExportedType (line 224) | public ExportedType (string @namespace, string name, ModuleDefinition ...
    method ToString (line 232) | public override string ToString ()
    method Resolve (line 237) | public TypeDefinition Resolve ()
    method CreateReference (line 242) | internal TypeReference CreateReference ()

FILE: ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil/FieldAttributes.cs
  type FieldAttributes (line 33) | [Flags]

FILE: ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil/FieldDefinition.cs
  class FieldDefinition (line 33) | public sealed class FieldDefinition : FieldReference, IMemberDefinition,...
    method ResolveLayout (line 47) | void ResolveLayout ()
    method ResolveRVA (line 83) | void ResolveRVA ()
    method FieldDefinition (line 254) | public FieldDefinition (string name, FieldAttributes attributes, TypeR...
    method Resolve (line 260) | public override FieldDefinition Resolve ()
  class Mixin (line 266) | static partial class Mixin {

FILE: ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil/FieldReference.cs
  class FieldReference (line 33) | public class FieldReference : MemberReference {
    method FieldReference (line 50) | internal FieldReference ()
    method FieldReference (line 55) | public FieldReference (string name, TypeReference fieldType)
    method FieldReference (line 65) | public FieldReference (string name, TypeReference fieldType, TypeRefer...
    method Resolve (line 74) | public virtual FieldDefinition Resolve ()

FILE: ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil/FileAttributes.cs
  type FileAttributes (line 31) | enum FileAttributes : uint {

FILE: ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil/FunctionPointerType.cs
  class FunctionPointerType (line 36) | public sealed class FunctionPointerType : TypeSpecification, IMethodSign...
    method FunctionPointerType (line 110) | public FunctionPointerType ()
    method Resolve (line 118) | public override TypeDefinition Resolve ()
    method GetElementType (line 123) | public override TypeReference GetElementType ()

FILE: ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil/GenericInstanceMethod.cs
  class GenericInstanceMethod (line 37) | public sealed class GenericInstanceMethod : MethodSpecification, IGeneri...
    method GenericInstanceMethod (line 90) | public GenericInstanceMethod(MethodReference method)

FILE: ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil/GenericInstanceType.cs
  class GenericInstanceType (line 39) | public sealed class GenericInstanceType : TypeSpecification, IGenericIns...
    method GenericInstanceType (line 86) | public GenericInstanceType(TypeReference type)

FILE: ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil/GenericParameter.cs
  class GenericParameter (line 37) | public sealed class GenericParameter : TypeReference, ICustomAttributePr...
    method GenericParameter (line 180) | public GenericParameter (IGenericParameterProvider owner)
    method GenericParameter (line 185) | public GenericParameter (string name, IGenericParameterProvider owner)
    method GenericParameter (line 197) | public GenericParameter (int position, GenericParameterType type, Modu...
    method ConvertGenericParameterType (line 209) | static ElementType ConvertGenericParameterType (GenericParameterType t...
    method Resolve (line 221) | public override TypeDefinition Resolve ()
  class GenericParameterCollection (line 227) | sealed class GenericParameterCollection : Collection<GenericParameter> {
    method GenericParameterCollection (line 231) | internal GenericParameterCollection (IGenericParameterProvider owner)
    method GenericParameterCollection (line 236) | internal GenericParameterCollection (IGenericParameterProvider owner, ...
    method OnAdd (line 242) | protected override void OnAdd (GenericParameter item, int index)
    method OnInsert (line 247) | protected override void OnInsert (GenericParameter item, int index)
    method OnSet (line 255) | protected override void OnSet (GenericParameter item, int index)
    method UpdateGenericParameter (line 260) | void UpdateGenericParameter (GenericParameter item, int index)
    method OnRemove (line 267) | protected override void OnRemove (GenericParameter item, int index)

FILE: ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil/GenericParameterAttributes.cs
  type GenericParameterAttributes (line 33) | [Flags]

FILE: ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil/IConstantProvider.cs
  type IConstantProvider (line 31) | public interface IConstantProvider : IMetadataTokenProvider {
  class Mixin (line 37) | static partial class Mixin {
    method ResolveConstant (line 42) | public static void ResolveConstant (

FILE: ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil/ICustomAttributeProvider.cs
  type ICustomAttributeProvider (line 35) | public interface ICustomAttributeProvider : IMetadataTokenProvider
  class Mixin (line 43) | static partial class Mixin
    method GetHasCustomAttributes (line 46) | public static bool GetHasCustomAttributes(
    method GetCustomAttributes (line 53) | public static Collection<CustomAttribute> GetCustomAttributes(

FILE: ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil/IGenericInstance.cs
  type IGenericInstance (line 35) | public interface IGenericInstance : IMetadataTokenProvider {
  class Mixin (line 41) | static partial class Mixin {
    method ContainsGenericParameter (line 43) | public static bool ContainsGenericParameter (IGenericInstance self)
    method GenericInstanceFullName (line 54) | public static void GenericInstanceFullName (IGenericInstance self, Str...

FILE: ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil/IGenericParameterProvider.cs
  type IGenericParameterProvider (line 35) | public interface IGenericParameterProvider : IMetadataTokenProvider
  type GenericParameterType (line 45) | public enum GenericParameterType
  type IGenericContext (line 51) | interface IGenericContext
  class Mixin (line 59) | static partial class Mixin
    method GetHasGenericParameters (line 62) | public static bool GetHasGenericParameters(
    method GetGenericParameters (line 69) | public static Collection<GenericParameter> GetGenericParameters(

FILE: ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil/IMarshalInfoProvider.cs
  type IMarshalInfoProvider (line 32) | public interface IMarshalInfoProvider : IMetadataTokenProvider
  class Mixin (line 39) | static partial class Mixin
    method GetHasMarshalInfo (line 42) | public static bool GetHasMarshalInfo(
    method GetMarshalInfo (line 49) | public static MarshalInfo GetMarshalInfo(

FILE: ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil/IMemberDefinition.cs
  type IMemberDefinition (line 32) | public interface IMemberDefinition : ICustomAttributeProvider
  class Mixin (line 44) | static partial class Mixin
    method GetAttributes (line 47) | public static bool GetAttributes(uint self, uint attributes)
    method SetAttributes (line 52) | public static uint SetAttributes(uint self, uint attributes, bool value)
    method GetMaskedAttributes (line 60) | public static bool GetMaskedAttributes(uint self, uint mask, uint attr...
    method SetMaskedAttributes (line 65) | public static uint SetMaskedAttributes(uint self, uint mask, uint attr...
    method GetAttributes (line 76) | public static bool GetAttributes(ushort self, ushort attributes)
    method SetAttributes (line 81) | public static ushort SetAttributes(ushort self, ushort attributes, boo...
    method GetMaskedAttributes (line 89) | public static bool GetMaskedAttributes(ushort self, ushort mask, uint ...
    method SetMaskedAttributes (line 94) | public static ushort SetMaskedAttributes(ushort self, ushort mask, uin...

FILE: ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil/IMetadataScope.cs
  type MetadataScopeType (line 31) | public enum MetadataScopeType {
  type IMetadataScope (line 37) | public interface IMetadataScope : IMetadataTokenProvider {

FILE: ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil/IMetadataTokenProvider.cs
  type IMetadataTokenProvider (line 31) | public interface IMetadataTokenProvider {

FILE: ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil/IMethodSignature.cs
  type IMethodSignature (line 35) | public interface IMethodSignature : IMetadataTokenProvider {
  class Mixin (line 47) | static partial class Mixin {
    method HasImplicitThis (line 49) | public static bool HasImplicitThis (IMethodSignature self)
    method MethodSignatureFullName (line 54) | public static void MethodSignatureFullName (IMethodSignature self, Str...

FILE: ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil/Import.cs
  type ImportGenericKind (line 38) | enum ImportGenericKind
  class MetadataImporter (line 44) | class MetadataImporter
    method MetadataImporter (line 49) | public MetadataImporter(ModuleDefinition module)
    method ImportType (line 55) | public TypeReference ImportType(TypeReference type, IGenericContext co...
    method ImportScope (line 78) | IMetadataScope ImportScope(IMetadataScope scope)
    method ImportAssemblyName (line 93) | AssemblyNameReference ImportAssemblyName(AssemblyNameReference name)
    method TryGetAssemblyNameReference (line 119) | bool TryGetAssemblyNameReference(AssemblyNameReference name_reference,...
    method ImportGenericParameters (line 137) | static void ImportGenericParameters(IGenericParameterProvider imported...
    method ImportTypeSpecification (line 146) | TypeReference ImportTypeSpecification(TypeReference type, IGenericCont...
    method ImportField (line 221) | public FieldReference ImportField(FieldReference field, IGenericContex...
    method ImportMethod (line 233) | public MethodReference ImportMethod(MethodReference method, IGenericCo...
    method ImportMethodSpecification (line 268) | MethodSpecification ImportMethodSpecification(MethodReference method, ...

FILE: ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil/LinkedResource.cs
  class LinkedResource (line 31) | public sealed class LinkedResource : Resource {
    method LinkedResource (line 49) | public LinkedResource (string name, ManifestResourceAttributes flags)
    method LinkedResource (line 54) | public LinkedResource (string name, ManifestResourceAttributes flags, ...

FILE: ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil/ManifestResourceAttributes.cs
  type ManifestResourceAttributes (line 33) | [Flags]

FILE: ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil/MarshalInfo.cs
  class MarshalInfo (line 33) | public class MarshalInfo {
    method MarshalInfo (line 42) | public MarshalInfo (NativeType native)
  class ArrayMarshalInfo (line 48) | public sealed class ArrayMarshalInfo : MarshalInfo {
    method ArrayMarshalInfo (line 75) | public ArrayMarshalInfo ()
  class CustomMarshalInfo (line 85) | public sealed class CustomMarshalInfo : MarshalInfo {
    method CustomMarshalInfo (line 112) | public CustomMarshalInfo ()
  class SafeArrayMarshalInfo (line 118) | public sealed class SafeArrayMarshalInfo : MarshalInfo {
    method SafeArrayMarshalInfo (line 127) | public SafeArrayMarshalInfo ()
  class FixedArrayMarshalInfo (line 134) | public sealed class FixedArrayMarshalInfo : MarshalInfo {
    method FixedArrayMarshalInfo (line 149) | public FixedArrayMarshalInfo ()
  class FixedSysStringMarshalInfo (line 156) | public sealed class FixedSysStringMarshalInfo : MarshalInfo {
    method FixedSysStringMarshalInfo (line 165) | public FixedSysStringMarshalInfo ()

FILE: ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil/MemberDefinitionCollection.cs
  class MemberDefinitionCollection (line 35) | class MemberDefinitionCollection<T> : Collection<T> where T : IMemberDef...
    method MemberDefinitionCollection (line 39) | internal MemberDefinitionCollection (TypeDefinition container)
    method MemberDefinitionCollection (line 44) | internal MemberDefinitionCollection (TypeDefinition container, int cap...
    method OnAdd (line 50) | protected override void OnAdd (T item, int index)
    method OnSet (line 55) | protected sealed override void OnSet (T item, int index)
    method OnInsert (line 60) | protected sealed override void OnInsert (T item, int index)
    method OnRemove (line 65) | protected sealed override void OnRemove (T item, int index)
    method OnClear (line 70) | protected sealed override void OnClear ()
    method Attach (line 76) | void Attach (T element)
    method Detach (line 87) | static void Detach (T element)

FILE: ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil/MemberReference.cs
  class MemberReference (line 31) | public abstract class MemberReference : IMetadataTokenProvider {
    method MemberReference (line 79) | internal MemberReference ()
    method MemberReference (line 83) | internal MemberReference (string name)
    method MemberFullName (line 88) | internal string MemberFullName ()
    method ToString (line 96) | public override string ToString ()

FILE: ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil/MetadataResolver.cs
  type IAssemblyResolver (line 36) | public interface IAssemblyResolver
    method Resolve (line 38) | AssemblyDefinition Resolve(AssemblyNameReference name);
    method Resolve (line 39) | AssemblyDefinition Resolve(AssemblyNameReference name, ReaderParameter...
    method Resolve (line 41) | AssemblyDefinition Resolve(string fullName);
    method Resolve (line 42) | AssemblyDefinition Resolve(string fullName, ReaderParameters parameters);
  type IMetadataResolver (line 46) | public interface IMetadataResolver
    method Resolve (line 48) | TypeDefinition Resolve(TypeReference type);
    method Resolve (line 49) | FieldDefinition Resolve(FieldReference field);
    method Resolve (line 50) | MethodDefinition Resolve(MethodReference method);
  class ResolutionException (line 54) | public class ResolutionException : Exception
    method ResolutionException (line 64) | public ResolutionException(MemberReference member)
  class MetadataResolver (line 73) | public class MetadataResolver : IMetadataResolver
    method MetadataResolver (line 83) | public MetadataResolver(IAssemblyResolver assemblyResolver)
    method Resolve (line 91) | public virtual TypeDefinition Resolve(TypeReference type)
    method GetType (line 124) | static TypeDefinition GetType(ModuleDefinition module, TypeReference r...
    method GetTypeDefinition (line 150) | static TypeDefinition GetTypeDefinition(ModuleDefinition module, TypeR...
    method Resolve (line 162) | public virtual FieldDefinition Resolve(FieldReference field)
    method GetField (line 177) | FieldDefinition GetField(TypeDefinition type, FieldReference reference)
    method GetField (line 194) | static FieldDefinition GetField(Collection<FieldDefinition> fields, Fi...
    method Resolve (line 212) | public virtual MethodDefinition Resolve(MethodReference method)
    method GetMethod (line 229) | MethodDefinition GetMethod(TypeDefinition type, MethodReference refere...
    method GetMethod (line 246) | public static MethodDefinition GetMethod(Collection<MethodDefinition> ...
    method AreSame (line 279) | static bool AreSame(Collection<ParameterDefinition> a, Collection<Para...
    method AreSame (line 296) | static bool AreSame(TypeSpecification a, TypeSpecification b)
    method AreSame (line 313) | static bool AreSame(ArrayType a, ArrayType b)
    method AreSame (line 323) | static bool AreSame(IModifierType a, IModifierType b)
    method AreSame (line 328) | static bool AreSame(GenericInstanceType a, GenericInstanceType b)
    method AreSame (line 340) | static bool AreSame(GenericParameter a, GenericParameter b)
    method AreSame (line 345) | static bool AreSame(TypeReference a, TypeReference b)

FILE: ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil/MetadataSystem.cs
  type Range (line 36) | struct Range {
    method Range (line 40) | public Range (uint index, uint length)
  class MetadataSystem (line 47) | sealed class MetadataSystem {
    method InitializePrimitives (line 79) | static void InitializePrimitives ()
    method TryProcessPrimitiveTypeReference (line 103) | public static void TryProcessPrimitiveTypeReference (TypeReference type)
    method TryGetPrimitiveElementType (line 120) | public static bool TryGetPrimitiveElementType (TypeDefinition type, ou...
    method TryGetPrimitiveData (line 136) | static bool TryGetPrimitiveData (TypeReference type, out Row<ElementTy...
    method Clear (line 144) | public void Clear ()
    method GetTypeDefinition (line 165) | public TypeDefinition GetTypeDefinition (uint rid)
    method AddTypeDefinition (line 173) | public void AddTypeDefinition (TypeDefinition type)
    method GetTypeReference (line 178) | public TypeReference GetTypeReference (uint rid)
    method AddTypeReference (line 186) | public void AddTypeReference (TypeReference type)
    method GetFieldDefinition (line 191) | public FieldDefinition GetFieldDefinition (uint rid)
    method AddFieldDefinition (line 199) | public void AddFieldDefinition (FieldDefinition field)
    method GetMethodDefinition (line 204) | public MethodDefinition GetMethodDefinition (uint rid)
    method AddMethodDefinition (line 212) | public void AddMethodDefinition (MethodDefinition method)
    method GetMemberReference (line 217) | public MemberReference GetMemberReference (uint rid)
    method AddMemberReference (line 225) | public void AddMemberReference (MemberReference member)
    method TryGetNestedTypeMapping (line 230) | public bool TryGetNestedTypeMapping (TypeDefinition type, out uint [] ...
    method SetNestedTypeMapping (line 235) | public void SetNestedTypeMapping (uint type_rid, uint [] mapping)
    method RemoveNestedTypeMapping (line 240) | public void RemoveNestedTypeMapping (TypeDefinition type)
    method TryGetReverseNestedTypeMapping (line 245) | public bool TryGetReverseNestedTypeMapping (TypeDefinition type, out u...
    method SetReverseNestedTypeMapping (line 250) | public void SetReverseNestedTypeMapping (uint nested, uint declaring)
    method RemoveReverseNestedTypeMapping (line 255) | public void RemoveReverseNestedTypeMapping (TypeDefinition type)
    method TryGetInterfaceMapping (line 260) | public bool TryGetInterfaceMapping (TypeDefinition type, out MetadataT...
    method SetInterfaceMapping (line 265) | public void SetInterfaceMapping (uint type_rid, MetadataToken [] mapping)
    method RemoveInterfaceMapping (line 270) | public void RemoveInterfaceMapping (TypeDefinition type)
    method AddPropertiesRange (line 275) | public void AddPropertiesRange (uint type_rid, Range range)
    method TryGetPropertiesRange (line 280) | public bool TryGetPropertiesRange (TypeDefinition type, out Range range)
    method RemovePropertiesRange (line 285) | public void RemovePropertiesRange (TypeDefinition type)
    method AddEventsRange (line 290) | public void AddEventsRange (uint type_rid, Range range)
    method TryGetEventsRange (line 295) | public bool TryGetEventsRange (TypeDefinition type, out Range range)
    method RemoveEventsRange (line 300) | public void RemoveEventsRange (TypeDefinition type)
    method TryGetGenericParameterRange (line 305) | public bool TryGetGenericParameterRange (IGenericParameterProvider own...
    method RemoveGenericParameterRange (line 310) | public void RemoveGenericParameterRange (IGenericParameterProvider owner)
    method TryGetCustomAttributeRange (line 315) | public bool TryGetCustomAttributeRange (ICustomAttributeProvider owner...
    method RemoveCustomAttributeRange (line 320) | public void RemoveCustomAttributeRange (ICustomAttributeProvider owner)
    method TryGetSecurityDeclarationRange (line 325) | public bool TryGetSecurityDeclarationRange (ISecurityDeclarationProvid...
    method RemoveSecurityDeclarationRange (line 330) | public void RemoveSecurityDeclarationRange (ISecurityDeclarationProvid...
    method TryGetGenericConstraintMapping (line 335) | public bool TryGetGenericConstraintMapping (GenericParameter generic_p...
    method SetGenericConstraintMapping (line 340) | public void SetGenericConstraintMapping (uint gp_rid, MetadataToken []...
    method RemoveGenericConstraintMapping (line 345) | public void RemoveGenericConstraintMapping (GenericParameter generic_p...
    method TryGetOverrideMapping (line 350) | public bool TryGetOverrideMapping (MethodDefinition method, out Metada...
    method SetOverrideMapping (line 355) | public void SetOverrideMapping (uint rid, MetadataToken [] mapping)
    method RemoveOverrideMapping (line 360) | public void RemoveOverrideMapping (MethodDefinition method)
    method GetFieldDeclaringType (line 365) | public TypeDefinition GetFieldDeclaringType (uint field_rid)
    method GetMethodDeclaringType (line 370) | public TypeDefinition GetMethodDeclaringType (uint method_rid)
    method BinaryRangeSearch (line 375) | static TypeDefinition BinaryRangeSearch (TypeDefinition [] types, uint...

FILE: ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil/MethodAttributes.cs
  type MethodAttributes (line 33) | [Flags]

FILE: ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil/MethodCallingConvention.cs
  type MethodCallingConvention (line 31) | public enum MethodCallingConvention : byte {

FILE: ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil/MethodDefinition.cs
  class MethodDefinition (line 37) | public sealed class MethodDefinition : MethodReference, IMemberDefinitio...
    method ReadSemantics (line 85) | internal void ReadSemantics()
    method MethodDefinition (line 505) | internal MethodDefinition()
    method MethodDefinition (line 510) | public MethodDefinition(string name, MethodAttributes attributes, Type...
    method Resolve (line 518) | public override MethodDefinition Resolve()
  class Mixin (line 524) | static partial class Mixin
    method GetParameter (line 527) | public static ParameterDefinition GetParameter(MethodBody self, int in...
    method GetVariable (line 547) | public static VariableDefinition GetVariable(MethodBody self, int index)
    method GetSemantics (line 557) | public static bool GetSemantics(MethodDefinition self, MethodSemantics...
    method SetSemantics (line 562) | public static void SetSemantics(MethodDefinition self, MethodSemantics...

FILE: ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil/MethodImplAttributes.cs
  type MethodImplAttributes (line 33) | [Flags]

FILE: ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil/MethodReference.cs
  class MethodReference (line 37) | public class MethodReference : MemberReference, IMethodSignature, IGener...
    method GetHashCode (line 156) | public override int GetHashCode()
    method MethodReference (line 185) | internal MethodReference()
    method MethodReference (line 191) | public MethodReference(string name, TypeReference returnType)
    method MethodReference (line 202) | public MethodReference(string name, TypeReference returnType, TypeRefe...
    method GetElementMethod (line 211) | public virtual MethodReference GetElementMethod()
    method Resolve (line 216) | public virtual MethodDefinition Resolve()
  class Mixin (line 226) | static partial class Mixin
    method IsVarArg (line 229) | public static bool IsVarArg(IMethodSignature self)
    method GetSentinelPosition (line 234) | public static int GetSentinelPosition(IMethodSignature self)

FILE: ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil/MethodReturnType.cs
  class MethodReturnType (line 35) | public sealed class MethodReturnType : IConstantProvider, ICustomAttribu...
    method MethodReturnType (line 106) | public MethodReturnType (IMethodSignature method)

FILE: ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil/MethodSemanticsAttributes.cs
  type MethodSemanticsAttributes (line 33) | [Flags]

FILE: ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil/MethodSpecification.cs
  class MethodSpecification (line 35) | public abstract class MethodSpecification : MethodReference {
    method MethodSpecification (line 89) | internal MethodSpecification (MethodReference method)
    method GetElementMethod (line 98) | public sealed override MethodReference GetElementMethod ()

FILE: ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil/Modifiers.cs
  type IModifierType (line 35) | public interface IModifierType {
  class OptionalModifierType (line 40) | public sealed class OptionalModifierType : TypeSpecification, IModifierT...
    method OptionalModifierType (line 74) | public OptionalModifierType (TypeReference modifierType, TypeReference...
  class RequiredModifierType (line 83) | public sealed class RequiredModifierType : TypeSpecification, IModifierT...
    method RequiredModifierType (line 117) | public RequiredModifierType (TypeReference modifierType, TypeReference...
  class Mixin (line 127) | static partial class Mixin {
    method CheckModifier (line 129) | public static void CheckModifier (TypeReference modifierType, TypeRefe...

FILE: ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil/ModuleDefinition.cs
  type ReadingMode (line 42) | public enum ReadingMode
  class ReaderParameters (line 48) | public sealed class ReaderParameters
    method ReaderParameters (line 94) | public ReaderParameters()
    method ReaderParameters (line 99) | public ReaderParameters(ReadingMode readingMode)
  class ModuleDefinition (line 106) | public sealed class ModuleDefinition : ModuleReference, ICustomAttribute...
    method ModuleDefinition (line 396) | internal ModuleDefinition()
    method ModuleDefinition (line 402) | internal ModuleDefinition(Image image)
    method HasTypeReference (line 416) | public bool HasTypeReference(string fullName)
    method HasTypeReference (line 421) | public bool HasTypeReference(string scope, string fullName)
    method TryGetTypeReference (line 431) | public bool TryGetTypeReference(string fullName, out TypeReference type)
    method TryGetTypeReference (line 436) | public bool TryGetTypeReference(string scope, string fullName, out Typ...
    method GetTypeReference (line 449) | TypeReference GetTypeReference(string scope, string fullname)
    method GetTypeReferences (line 454) | public IEnumerable<TypeReference> GetTypeReferences()
    method GetMemberReferences (line 462) | public IEnumerable<MemberReference> GetMemberReferences()
    method GetType (line 470) | public TypeReference GetType(string fullName, bool runtimeName)
    method GetType (line 477) | public TypeDefinition GetType(string fullName)
    method GetType (line 488) | public TypeDefinition GetType(string @namespace, string name)
    method GetTypes (line 495) | public IEnumerable<TypeDefinition> GetTypes()
    method GetTypes (line 500) | static IEnumerable<TypeDefinition> GetTypes(Collection<TypeDefinition>...
    method CheckFullName (line 516) | static void CheckFullName(string fullName)
    method GetNestedType (line 524) | TypeDefinition GetNestedType(string fullname)
    method Resolve (line 544) | internal FieldDefinition Resolve(FieldReference field)
    method Resolve (line 549) | internal MethodDefinition Resolve(MethodReference method)
    method Resolve (line 554) | internal TypeDefinition Resolve(TypeReference type)
    method LookupToken (line 560) | public IMetadataTokenProvider LookupToken(int token)
    method LookupToken (line 565) | public IMetadataTokenProvider LookupToken(MetadataToken token)
    method Read (line 577) | internal TRet Read<TItem, TRet>(TItem item, Func<TItem, MetadataReader...
    method Read (line 593) | internal TRet Read<TItem, TRet>(ref TRet variable, TItem item, Func<TI...
    method GetDebugHeader (line 617) | public ImageDebugDirectory GetDebugHeader(out byte[] header)
    method ProcessDebugHeader (line 625) | void ProcessDebugHeader()
    method ReadSymbols (line 639) | public void ReadSymbols()
    method ReadSymbols (line 651) | public void ReadSymbols(ISymbolReader reader)
    method ReadModule (line 661) | public static ModuleDefinition ReadModule(string fileName)
    method ReadModule (line 666) | public static ModuleDefinition ReadModule(Stream stream)
    method ReadModule (line 671) | public static ModuleDefinition ReadModule(string fileName, ReaderParam...
    method CheckStream (line 679) | static void CheckStream(object stream)
    method ReadModule (line 685) | public static ModuleDefinition ReadModule(Stream stream, ReaderParamet...
    method GetFileStream (line 697) | static Stream GetFileStream(string fileName, FileMode mode, FileAccess...
  class Mixin (line 711) | static partial class Mixin
    method CheckParameters (line 714) | public static void CheckParameters(object parameters)
    method HasImage (line 720) | public static bool HasImage(ModuleDefinition self)
    method IsCorlib (line 725) | public static bool IsCorlib(ModuleDefinition module)
    method GetFullyQualifiedName (line 733) | public static string GetFullyQualifiedName(Stream self)
    method ParseRuntime (line 739) | public static TargetRuntime ParseRuntime(string self)

FILE: ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil/ModuleKind.cs
  type ModuleKind (line 33) | public enum ModuleKind {
  type TargetArchitecture (line 40) | public enum TargetArchitecture {
  type ModuleAttributes (line 47) | [Flags]
  type ModuleCharacteristics (line 55) | [Flags]

FILE: ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil/ModuleReference.cs
  class ModuleReference (line 31) | public class ModuleReference : IMetadataScope {
    method ModuleReference (line 51) | internal ModuleReference ()
    method ModuleReference (line 56) | public ModuleReference (string name)
    method ToString (line 62) | public override string ToString ()

FILE: ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil/NativeType.cs
  type NativeType (line 31) | public enum NativeType {

FILE: ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil/PInvokeAttributes.cs
  type PInvokeAttributes (line 33) | [Flags]

FILE: ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil/PInvokeInfo.cs
  class PInvokeInfo (line 31) | public sealed class PInvokeInfo {
    method PInvokeInfo (line 131) | public PInvokeInfo (PInvokeAttributes attributes, string entryPoint, M...

FILE: ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil/ParameterAttributes.cs
  type ParameterAttributes (line 33) | [Flags]

FILE: ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil/ParameterDefinition.cs
  class ParameterDefinition (line 34) | public sealed class ParameterDefinition : ParameterReference, ICustomAtt...
    method ParameterDefinition (line 163) | internal ParameterDefinition(TypeReference parameterType, IMethodSigna...
    method ParameterDefinition (line 169) | public ParameterDefinition(TypeReference parameterType)
    method ParameterDefinition (line 174) | public ParameterDefinition(string name, ParameterAttributes attributes...
    method Resolve (line 181) | public override ParameterDefinition Resolve()

FILE: ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil/ParameterDefinitionCollection.cs
  class ParameterDefinitionCollection (line 35) | sealed class ParameterDefinitionCollection : Collection<ParameterDefinit...
    method ParameterDefinitionCollection (line 39) | internal ParameterDefinitionCollection (IMethodSignature method)
    method ParameterDefinitionCollection (line 44) | internal ParameterDefinitionCollection (IMethodSignature method, int c...
    method OnAdd (line 50) | protected override void OnAdd (ParameterDefinition item, int index)
    method OnInsert (line 56) | protected override void OnInsert (ParameterDefinition item, int index)
    method OnSet (line 65) | protected override void OnSet (ParameterDefinition item, int index)
    method OnRemove (line 71) | protected override void OnRemove (ParameterDefinition item, int index)

FILE: ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil/ParameterReference.cs
  class ParameterReference (line 33) | public abstract class ParameterReference : IMetadataTokenProvider {
    method ParameterReference (line 59) | internal ParameterReference (string name, TypeReference parameterType)
    method ToString (line 68) | public override string ToString ()
    method Resolve (line 73) | public abstract ParameterDefinition Resolve ();

FILE: ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil/PinnedType.cs
  class PinnedType (line 35) | public sealed class PinnedType : TypeSpecification {
    method PinnedType (line 46) | public PinnedType (TypeReference type)

FILE: ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil/PointerType.cs
  class PointerType (line 35) | public sealed class PointerType : TypeSpecification {
    method PointerType (line 54) | public PointerType (TypeReference type)

FILE: ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil/PropertyAttributes.cs
  type PropertyAttributes (line 33) | [Flags]

FILE: ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil/PropertyDefinition.cs
  class PropertyDefinition (line 35) | public sealed class PropertyDefinition : PropertyReference, IMemberDefin...
    method MirrorParameters (line 156) | static Collection<ParameterDefinition> MirrorParameters (MethodDefinit...
    method PropertyDefinition (line 233) | public PropertyDefinition (string name, PropertyAttributes attributes,...
    method InitializeMethods (line 240) | void InitializeMethods ()
    method Resolve (line 254) | public override PropertyDefinition Resolve ()

FILE: ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil/PropertyReference.cs
  class PropertyReference (line 35) | public abstract class PropertyReference : MemberReference {
    method PropertyReference (line 48) | internal PropertyReference (string name, TypeReference propertyType)
    method Resolve (line 57) | public abstract PropertyDefinition Resolve ();

FILE: ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil/ReferenceType.cs
  class ByReferenceType (line 35) | public sealed class ByReferenceType : TypeSpecification {
    method ByReferenceType (line 54) | public ByReferenceType (TypeReference type)

FILE: ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil/Resource.cs
  type ResourceType (line 31) | public enum ResourceType {
  class Resource (line 37) | public abstract class Resource {
    method Resource (line 70) | internal Resource (string name, ManifestResourceAttributes attributes)

FILE: ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil/SecurityDeclaration.cs
  type SecurityAction (line 36) | public enum SecurityAction : ushort
  type ISecurityDeclarationProvider (line 55) | public interface ISecurityDeclarationProvider : IMetadataTokenProvider
  class SecurityAttribute (line 62) | public sealed class SecurityAttribute : ICustomAttribute
    method SecurityAttribute (line 96) | public SecurityAttribute(TypeReference attributeType)
  class SecurityDeclaration (line 102) | public sealed class SecurityDeclaration
    method SecurityDeclaration (line 144) | internal SecurityDeclaration(SecurityAction action, uint signature, Mo...
    method SecurityDeclaration (line 151) | public SecurityDeclaration(SecurityAction action)
    method SecurityDeclaration (line 157) | public SecurityDeclaration(SecurityAction action, byte[] blob)
    method GetBlob (line 164) | public byte[] GetBlob()
    method Resolve (line 175) | void Resolve()
  class Mixin (line 190) | static partial class Mixin
    method GetHasSecurityDeclarations (line 193) | public static bool GetHasSecurityDeclarations(
    method GetSecurityDeclarations (line 200) | public static Collection<SecurityDeclaration> GetSecurityDeclarations(

FILE: ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil/SentinelType.cs
  class SentinelType (line 35) | public sealed class SentinelType : TypeSpecification {
    method SentinelType (line 46) | public SentinelType (TypeReference type)

FILE: ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil/TargetRuntime.cs
  type TargetRuntime (line 31) | public enum TargetRuntime {

FILE: ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil/TypeAttributes.cs
  type TypeAttributes (line 33) | [Flags]

FILE: ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil/TypeDefinition.cs
  class TypeDefinition (line 37) | public sealed class TypeDefinition : TypeReference, IMemberDefinition, I...
    method ResolveLayout (line 69) | void ResolveLayout()
    method TypeDefinition (line 546) | public TypeDefinition(string @namespace, string name, TypeAttributes a...
    method TypeDefinition (line 553) | public TypeDefinition(string @namespace, string name, TypeAttributes a...
    method Resolve (line 559) | public override TypeDefinition Resolve()
  class Mixin (line 565) | static partial class Mixin
    method GetEnumUnderlyingType (line 568) | public static TypeReference GetEnumUnderlyingType(TypeDefinition self)
    method GetNestedType (line 582) | public static TypeDefinition GetNestedType(TypeDefinition self, string...

FILE: ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil/TypeDefinitionCollection.cs
  class TypeDefinitionCollection (line 40) | sealed class TypeDefinitionCollection : Collection<TypeDefinition> {
    method TypeDefinitionCollection (line 45) | internal TypeDefinitionCollection (ModuleDefinition container)
    method TypeDefinitionCollection (line 51) | internal TypeDefinitionCollection (ModuleDefinition container, int cap...
    method OnAdd (line 58) | protected override void OnAdd (TypeDefinition item, int index)
    method OnSet (line 63) | protected override void OnSet (TypeDefinition item, int index)
    method OnInsert (line 68) | protected override void OnInsert (TypeDefinition item, int index)
    method OnRemove (line 73) | protected override void OnRemove (TypeDefinition item, int index)
    method OnClear (line 78) | protected override void OnClear ()
    method Attach (line 84) | void Attach (TypeDefinition type)
    method Detach (line 94) | void Detach (TypeDefinition type)
    method GetType (line 101) | public TypeDefinition GetType (string fullname)
    method GetType (line 109) | public TypeDefinition GetType (string @namespace, string name)

FILE: ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil/TypeParser.cs
  class TypeParser (line 37) | class TypeParser
    class Type (line 40) | class Type
    method TypeParser (line 59) | TypeParser(string fullname)
    method ParseType (line 65) | Type ParseType(bool fq_name)
    method TryGetArity (line 83) | static bool TryGetArity(Type type)
    method TryGetArity (line 100) | static bool TryGetArity(string name, out int arity)
    method ParseInt32 (line 110) | static bool ParseInt32(string value, out int result)
    method TryAddArity (line 125) | static void TryAddArity(string name, ref int arity)
    method ParsePart (line 134) | string ParsePart()
    method IsDelimiter (line 143) | static bool IsDelimiter(char chr)
    method TryParseWhiteSpace (line 148) | void TryParseWhiteSpace()
    method ParseNestedNames (line 154) | string[] ParseNestedNames()
    method TryParse (line 163) | bool TryParse(char chr)
    method Add (line 174) | static void Add<T>(ref T[] array, T item)
    method ParseSpecs (line 192) | int[] ParseSpecs()
    method ParseGenericArguments (line 239) | Type[] ParseGenericArguments(int arity)
    method ParseAssemblyName (line 264) | string ParseAssemblyName()
    method ParseType (line 284) | public static TypeReference ParseType(ModuleDefinition module, string ...
    method GetTypeReference (line 293) | static TypeReference GetTypeReference(ModuleDefinition module, Type ty...
    method CreateSpecs (line 302) | static TypeReference CreateSpecs(TypeReference type, Type type_info)
    method TryCreateGenericInstanceType (line 338) | static TypeReference TryCreateGenericInstanceType(TypeReference type, ...
    method SplitFullName (line 353) | public static void SplitFullName(string fullname, out string @namespac...
    method CreateReference (line 369) | static TypeReference CreateReference(Type type_info, ModuleDefinition ...
    method AdjustGenericParameters (line 396) | static void AdjustGenericParameters(TypeReference type)
    method GetMetadataScope (line 406) | static IMetadataScope GetMetadataScope(ModuleDefinition module, Type t...
    method MatchReference (line 414) | static AssemblyNameReference MatchReference(ModuleDefinition module, A...
    method TryGetDefinition (line 428) | static bool TryGetDefinition(ModuleDefinition module, Type type_info, ...
    method TryCurrentModule (line 449) | static bool TryCurrentModule(ModuleDefinition module, Type type_info)
    method ToParseable (line 460) | public static string ToParseable(TypeReference type)
    method AppendType (line 470) | static void AppendType(TypeReference type, StringBuilder name, bool fq...
    method GetScopeFullName (line 501) | static string GetScopeFullName(TypeReference type)
    method AppendTypeSpecification (line 515) | static void AppendTypeSpecification(TypeSpecification type, StringBuil...
    method RequiresFullyQualifiedName (line 573) | static bool RequiresFullyQualifiedName(TypeReference type, bool top_le...

FILE: ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil/TypeReference.cs
  type MetadataType (line 37) | public enum MetadataType : byte
  class TypeReference (line 72) | public class TypeReference : MemberReference, IGenericParameterProvider,...
    method GetHashCode (line 254) | public override int GetHashCode()
    method TypeReference (line 279) | protected TypeReference(string @namespace, string name)
    method TypeReference (line 286) | public TypeReference(string @namespace, string name, ModuleDefinition ...
    method TypeReference (line 293) | public TypeReference(string @namespace, string name, ModuleDefinition ...
    method GetElementType (line 299) | public virtual TypeReference GetElementType()
    method Resolve (line 304) | public virtual TypeDefinition Resolve()
  class Mixin (line 314) | static partial class Mixin
    method IsPrimitive (line 317) | public static bool IsPrimitive(ElementType self)
    method IsTypeOf (line 341) | public static bool IsTypeOf(TypeReference self, string @namespace, str...
    method IsTypeSpecification (line 347) | public static bool IsTypeSpecification(TypeReference type)
    method CheckedResolve (line 369) | public static TypeDefinition CheckedResolve(TypeReference self)

FILE: ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil/TypeSpecification.cs
  class TypeSpecification (line 35) | public abstract class TypeSpecification : TypeReference {
    method TypeSpecification (line 73) | internal TypeSpecification (TypeReference type)
    method GetElementType (line 80) | public override TypeReference GetElementType ()
  class Mixin (line 86) | static partial class Mixin {
    method CheckType (line 88) | public static void CheckType (TypeReference type)

FILE: ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil/TypeSystem.cs
  class TypeSystem (line 36) | public abstract class TypeSystem
    class CoreTypeSystem (line 39) | sealed class CoreTypeSystem : TypeSystem
      method CoreTypeSystem (line 42) | public CoreTypeSystem(ModuleDefinition module)
      method LookupType (line 47) | internal override TypeReference LookupType(string @namespace, string...
      method LookupTypeDefinition (line 56) | TypeReference LookupTypeDefinition(string @namespace, string name)
      method LookupTypeForwarded (line 81) | TypeReference LookupTypeForwarded(string @namespace, string name)
      method Initialize (line 98) | static void Initialize(object obj)
    class CommonTypeSystem (line 103) | sealed class CommonTypeSystem : TypeSystem
      method CommonTypeSystem (line 108) | public CommonTypeSystem(ModuleDefinition module)
      method LookupType (line 113) | internal override TypeReference LookupType(string @namespace, string...
      method GetCorlibReference (line 118) | public AssemblyNameReference GetCorlibReference()
      method GetCorlibVersion (line 147) | Version GetCorlibVersion()
      method CreateTypeReference (line 163) | TypeReference CreateTypeReference(string @namespace, string name)
    method TypeSystem (line 190) | TypeSystem(ModuleDefinition module)
    method CreateTypeSystem (line 195) | internal static TypeSystem CreateTypeSystem(ModuleDefinition module)
    method LookupType (line 203) | internal abstract TypeReference LookupType(string @namespace, string n...
    method LookupSystemType (line 205) | TypeReference LookupSystemType(ref TypeReference typeRef, string name,...
    method LookupSystemValueType (line 217) | TypeReference LookupSystemValueType(ref TypeReference typeRef, string ...

FILE: ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil/VariantType.cs
  type VariantType (line 31) | public enum VariantType {

FILE: ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Collections.Generic/Collection.cs
  class Collection (line 35) | public class Collection<T> : IList<T>, IList {
    method Collection (line 103) | public Collection ()
    method Collection (line 108) | public Collection (int capacity)
    method Collection (line 116) | public Collection (ICollection<T> items)
    method Add (line 126) | public void Add (T item)
    method Contains (line 137) | public bool Contains (T item)
    method IndexOf (line 142) | public int IndexOf (T item)
    method Insert (line 147) | public void Insert (int index, T item)
    method RemoveAt (line 160) | public void RemoveAt (int index)
    method Remove (line 174) | public bool Remove (T item)
    method Clear (line 189) | public void Clear ()
    method CopyTo (line 198) | public void CopyTo (T [] array, int arrayIndex)
    method ToArray (line 203) | public T [] ToArray ()
    method CheckIndex (line 210) | void CheckIndex (int index)
    method Shift (line 216) | void Shift (int start, int delta)
    method OnAdd (line 230) | protected virtual void OnAdd (T item, int index)
    method OnInsert (line 234) | protected virtual void OnInsert (T item, int index)
    method OnSet (line 238) | protected virtual void OnSet (T item, int index)
    method OnRemove (line 242) | protected virtual void OnRemove (T item, int index)
    method OnClear (line 246) | protected virtual void OnClear ()
    method Grow (line 250) | internal virtual void Grow (int desired)
    method Add (line 271) | int IList.Add (object value)
    method Clear (line 283) | void IList.Clear ()
    method Contains (line 288) | bool IList.Contains (object value)
    method IndexOf (line 293) | int IList.IndexOf (object value)
    method Insert (line 304) | void IList.Insert (int index, object value)
    method Remove (line 318) | void IList.Remove (object value)
    method RemoveAt (line 327) | void IList.RemoveAt (int index)
    method CopyTo (line 332) | void ICollection.CopyTo (Array array, int index)
    method GetEnumerator (line 337) | public Enumerator GetEnumerator ()
    method GetEnumerator (line 342) | IEnumerator IEnumerable.GetEnumerator ()
    method GetEnumerator (line 347) | IEnumerator<T> IEnumerable<T>.GetEnumerator ()
    type Enumerator (line 352) | public struct Enumerator : IEnumerator<T>, IDisposable {
      method Enumerator (line 375) | internal Enumerator (Collection<T> collection)
      method MoveNext (line 382) | public bool MoveNext ()
      method Reset (line 398) | public void Reset ()
      method CheckState (line 405) | void CheckState ()
      method Dispose (line 414) | public void Dispose ()

FILE: ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Collections.Generic/ReadOnlyCollection.cs
  class ReadOnlyCollection (line 35) | public sealed class ReadOnlyCollection<T> : Collection<T>, ICollection<T...
    method ReadOnlyCollection (line 55) | private ReadOnlyCollection ()
    method ReadOnlyCollection (line 59) | public ReadOnlyCollection (T [] array)
    method ReadOnlyCollection (line 67) | public ReadOnlyCollection (Collection<T> collection)
    method Initialize (line 75) | void Initialize (T [] items, int size)
    method Grow (line 82) | internal override void Grow (int desired)
    method OnAdd (line 87) | protected override void OnAdd (T item, int index)
    method OnClear (line 92) | protected override void OnClear ()
    method OnInsert (line 97) | protected override void OnInsert (T item, int index)
    method OnRemove (line 102) | protected override void OnRemove (T item, int index)
    method OnSet (line 107) | protected override void OnSet (T item, int index)

FILE: ILRuntime/Mono.Cecil.20/MonoCecil/Mono/Empty.cs
  class Empty (line 33) | static class Empty<T> {
  class Mixin (line 41) | static partial class Mixin {
    method IsNullOrEmpty (line 43) | public static bool IsNullOrEmpty<T> (T [] self)
    method IsNullOrEmpty (line 48) | public static bool IsNullOrEmpty<T> (Collection<T> self)

FILE: SGFAppCommon/Data/PlayerData.cs
  class PlayerData (line 5) | [ProtoContract]
    method ToString (line 20) | public override string ToString ()

FILE: SGFAppCommon/Data/RoomData.cs
  class RoomData (line 10) | [ProtoContract]
    method ToString (line 22) | public override string ToString()
  class RoomListData (line 30) | [ProtoContract]

FILE: SGFAppCommon/Data/UserData.cs
  class UserData (line 6) | [ProtoContract]
    method ToString (line 20) | public override string ToString()
  class UserServerData (line 27) | public class UserServerData

FILE: SGFAppCommon/Proto/HeartBeatProto.cs
  class HeartBeatReq (line 10) | [ProtoContract]
  class HeartBeatRsp (line 17) | [ProtoContract]

FILE: SGFAppCommon/Proto/LoginProto.cs
  class LoginReq (line 7) | [ProtoContract]
  class LoginRsp (line 16) | [ProtoContract]

FILE: SGFAppCommon/Proto/ProtoCmd.cs
  class ProtoCmd (line 5) | public class ProtoCmd

FILE: SGFAppDemo/AppMain.cs
  class AppMain (line 13) | public class AppMain:SGFGameObject
    method Active (line 15) | public override void Active()
    method InitServices (line 23) | private void InitServices()
    method UpdateVersion (line 38) | private void UpdateVersion()
    method OnVersionUpdateComplete (line 45) | private void OnVersionUpdateComplete()

FILE: SGFAppDemo/Framework/SGFGameDefine.cs
  class SGFGameDefine (line 3) | public static class SGFGameDefine

FILE: SGFAppDemo/Framework/SGFGameMainLoop.cs
  class SGFGameMainLoop (line 7) | public class SGFGameMainLoop
    method Run (line 11) | public static void Run()
    method OnInputKey (line 67) | private static void OnInputKey(ConsoleKey key)

FILE: SGFAppDemo/Framework/SGFGameObject.cs
  class SGFGameObject (line 6) | public class SGFGameObject
    method Instance (line 11) | public static SGFGameObject Instance(Type type)
    method Destroy (line 23) | public static void Destroy(SGFGameObject obj)
    method GetActivedGameObjects (line 28) | public static SGFGameObject[] GetActivedGameObjects()
    method GetInstancedGameObjects (line 33) | public static SGFGameObject[] GetInstancedGameObjects()
    method DestroyAll (line 38) | public static void DestroyAll()
    method SGFGameObject (line 55) | protected SGFGameObject()
    method InstanceInternal (line 60) | private void InstanceInternal()
    method DestroyInternal (line 71) | private void DestroyInternal()
    method Instance (line 88) | public virtual void Instance()
    method Destroy (line 93) | public virtual void Destroy()
    method SetActive (line 98) | public void SetActive(bool value)
    method Active (line 119) | public virtual void Active()
    method Deactive (line 124) | public virtual void Deactive()
    method Update (line 129) | public virtual void Update(float deltaTime)
    method FixedUpdate (line 134) | public virtual void FixedUpdate()

FILE: SGFAppDemo/GlobalEvent.cs
  class GlobalEvent (line 10) | public static class GlobalEvent

FILE: SGFAppDemo/ModuleDef.cs
  class ModuleDef (line 3) | internal static class ModuleDef

FILE: SGFAppDemo/Modules/Version/VersionModule.cs
  class VersionModule (line 8) | public class VersionModule : GeneralModule
    method Show (line 11) | protected override void Show(object arg)
    method OnUpdate (line 18) | private void OnUpdate(float deltaTime)

FILE: SGFAppDemo/Program.cs
  class Program (line 9) | class Program
    method Main (line 12) | static void Main(string[] args)
    method InitDebuger (line 27) | private static void InitDebuger()

FILE: SGFAppDemo/SGFGameDefine.cs
  class SGFGameDefine (line 3) | public static class SGFGameDefine

FILE: SGFAppDemo/SGFGameMainLoop.cs
  class SGFGameMainLoop (line 7) | public class SGFGameMainLoop
    method Run (line 9) | public static void Run()

FILE: SGFAppDemo/SGFGameObject.cs
  class SGFGameObject (line 6) | public class SGFGameObject
    method Instance (line 11) | public static SGFGameObject Instance(Type type)
    method Destroy (line 23) | public static void Destroy(SGFGameObject obj)
    method GetActivedGameObjects (line 28) | public static SGFGameObject[] GetActivedGameObjects()
    method GetInstancedGameObjects (line 33) | public static SGFGameObject[] GetInstancedGameObjects()
    method DestroyAll (line 38) | public static void DestroyAll()
    method SGFGameObject (line 55) | protected SGFGameObject()
    method InstanceInternal (line 60) | private void InstanceInternal()
    method DestroyInternal (line 71) | private void DestroyInternal()
    method Instance (line 88) | public virtual void Instance()
    method Destroy (line 93) | public virtual void Destroy()
    method SetActive (line 98) | public void SetActive(bool value)
    method Active (line 119) | public virtual void Active()
    method Deactive (line 124) | public virtual void Deactive()
    method Update (line 129) | public virtual void Update(float deltaTime)
    method FixedUpdate (line 134) | public virtual void FixedUpdate()

FILE: SGFAppDemo/Services/Online/HeartBeatHandler.cs
  class HeartBeatHandler (line 12) | public class HeartBeatHandler
    method Init (line 19) | public void Init(NetManager net)
    method Start (line 24) | public void Start()
    method Stop (line 30) | public void Stop()
    method OnUpdate (line 35) | private void OnUpdate(float dt)
    method OnHeartBeatRsp (line 51) | private void OnHeartBeatRsp(uint index, HeartBeatRsp rsp)
    method OnHeartBeatError (line 62) | private void OnHeartBeatError(NetErrorCode code)

FILE: SGFAppDemo/Services/Online/OnlineManager.cs
  type ConnID (line 18) | public enum ConnID
  class OnlineManager (line 24) | public class OnlineManager:Singleton<OnlineManager>
    method Init (line 31) | public void Init()
    method OnInputKey (line 48) | private void OnInputKey(ConsoleKey key)
    method OnUpdate (line 75) | private void OnUpdate(float dt)
    method OnHeartBeatTimeout (line 80) | private void OnHeartBeatTimeout()
    method Connect (line 92) | public void Connect()
    method CloseConnect (line 103) | private void CloseConnect()
    method Login (line 109) | public void Login(string username)
    method ReLogin (line 121) | private void ReLogin()
    method OnLoginRsp (line 133) | private void OnLoginRsp(uint index, LoginRsp rsp)
    method Logout (line 152) | public void Logout()
    method OnLogout (line 164) | [RPCResponse]

FILE: SGFAppDemo/Services/Online/ServerProfiler.cs
  class ServerProfiler (line 5) | public class ServerProfiler
    method Init (line 10) | public static void Init()
    method Start (line 31) | public static void Start()
    method Stop (line 50) | public static void Stop()
    method OnUpdate (line 69) | private static void OnUpdate(float dt)

FILE: SGFAppDemo/Services/Online/ServerTestBot.cs
  class ServerTestBot (line 10) | public class ServerTestBot
    method Init (line 18) | public void Init()
    method Connect (line 31) | public void Connect()
    method Update (line 42) | public void Update()
    method Login (line 47) | public void Login(string username)
    method Logout (line 58) | public void Logout()
    method OnLogout (line 69) | private void OnLogout()
    method OnLoginRsp (line 74) | private void OnLoginRsp(uint index, LoginRsp rsp)

FILE: SGFAppILRScript/ModuleDef.cs
  class ModuleDef (line 3) | internal static class ModuleDef

FILE: SGFAppILRScript/Modules/Login/LoginModule.cs
  class LoginModule (line 11) | public class LoginModule : GeneralModule
    method Show (line 13) | protected override void Show(object arg)
    method OnInputLine (line 24) | private void OnInputLine(string line)

FILE: SGFAppILRScript/Modules/Room/RoomModule.cs
  class RoomModule (line 15) | public class RoomModule : GeneralModule
    method Show (line 20) | protected override void Show(object arg)
    method OnInputLine (line 37) | private void OnInputLine(string line)
    method OnGetRoomList (line 101) | [RPCResponse]
    method OnCreateRoom (line 119) | [RPCResponse]
    method OnJoinRoom (line 126) | [RPCResponse]
    method NotifyRoomUpdate (line 133) | [RPCNotify]
    method NotifyGameStart (line 140) | [RPCNotify]

FILE: SGFAppILRScript/ScriptMain.cs
  class ScriptMain (line 9) | public class ScriptMain
    method Init (line 12) | public static bool Init()

FILE: SGFCore/Class1.cs
  class Class1 (line 8) | public class Class1

FILE: SGFCore/Codec/MiniJSON.cs
  class Json (line 77) | public static class Json
    method Deserialize (line 84) | public static object Deserialize(string json)
    class Parser (line 95) | sealed class Parser : IDisposable
      method IsWordBreak (line 99) | public static bool IsWordBreak(char c)
      type TOKEN (line 104) | enum TOKEN
      method Parser (line 122) | Parser(string jsonString)
      method Parse (line 127) | public static object Parse(string jsonString)
      method Dispose (line 135) | public void Dispose()
      method ParseObject (line 141) | JsonObject ParseObject()
      method ParseArray (line 182) | List<object> ParseArray()
      method ParseValue (line 215) | object ParseValue()
      method ParseByToken (line 221) | object ParseByToken(TOKEN token)
      method ParseString (line 244) | string ParseString()
      method ParseNumber (line 319) | object ParseNumber()
      method EatWhitespace (line 335) | void EatWhitespace()
    method Serialize (line 448) | public static string Serialize(object obj)
    class Serializer (line 453) | sealed class Serializer
      method Serializer (line 457) | Serializer()
      method Serialize (line 462) | public static string Serialize(object obj)
      method SerializeValue (line 471) | void SerializeValue(object value)
      method SerializeObject (line 507) | void SerializeObject(IDictionary obj)
      method SerializeArray (line 531) | void SerializeArray(IList anArray)
      method SerializeString (line 552) | void SerializeString(string str)
      method SerializeOther (line 600) | void SerializeOther(object value)
  class JsonObject (line 634) | public class JsonObject : Dictionary<string, object>

FILE: SGFCore/Codec/PBSerializer.cs
  class PBSerializer (line 27) | public class PBSerializer
    method Clone (line 30) | public static T Clone<T>(T data)
    method NSerialize (line 43) | public static byte[] NSerialize<T>(T t)
    method NSerialize (line 60) | public static byte[] NSerialize(object t)
Condensed preview — 625 files, each showing path, character count, and a content snippet. Download the .json file or copy for the full structured content (4,299K chars).
[
  {
    "path": ".gitignore",
    "chars": 127,
    "preview": ".vs\n*.pdb\n*.mdb\nSGFAppCommon/obj\nSGFAppDemo/obj\nSGFAppILRScript/obj\nSGFCore/obj\nSGFDebuger/obj\nSGFServerLite/obj\nSGFUni"
  },
  {
    "path": "Apps/DirConfig.json",
    "chars": 53,
    "preview": "DB,4.3.2.1,32154\nDB,4.3.2.1,32153\nZone,5.3.2.1,32154\n"
  },
  {
    "path": "Apps/ILRuntime.dll.config",
    "chars": 151,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<configuration>\n    <startup> \n        \n    <supportedRuntime version=\"v2.0.50727"
  },
  {
    "path": "Apps/SGFAppDemo.exe.config",
    "chars": 151,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<configuration>\n    <startup> \n        \n    <supportedRuntime version=\"v2.0.50727"
  },
  {
    "path": "Apps/SGFAppILRScript.dll.config",
    "chars": 151,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<configuration>\n    <startup> \n        \n    <supportedRuntime version=\"v2.0.50727"
  },
  {
    "path": "Apps/SGFCore.dll.config",
    "chars": 151,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<configuration>\n    <startup> \n        \n    <supportedRuntime version=\"v2.0.50727"
  },
  {
    "path": "Apps/SGFCore.xml",
    "chars": 25453,
    "preview": "<?xml version=\"1.0\"?>\n<doc>\n    <assembly>\n        <name>SGFCore</name>\n    </assembly>\n    <members>\n        <member na"
  },
  {
    "path": "Apps/SGFServer.exe.config",
    "chars": 151,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<configuration>\n    <startup> \n        \n    <supportedRuntime version=\"v2.0.50727"
  },
  {
    "path": "Apps/SGFServerDemo.exe.config",
    "chars": 151,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<configuration>\n    <startup> \n        \n    <supportedRuntime version=\"v2.0.50727"
  },
  {
    "path": "ILRuntime/App.config",
    "chars": 151,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<configuration>\n    <startup> \n        \n    <supportedRuntime version=\"v2.0.50727"
  },
  {
    "path": "ILRuntime/ILRuntime/Adapters/Editor/ILRuntimeCLRBinding.cs",
    "chars": 2323,
    "preview": "#if UNITY_EDITOR\nusing UnityEditor;\nusing UnityEngine;\nusing System;\nusing System.Text;\nusing System.Collections.Generi"
  },
  {
    "path": "ILRuntime/ILRuntime/CLR/Method/CLRMethod.cs",
    "chars": 11899,
    "preview": "using System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Reflection;\nusing System.Text;\n\nusing M"
  },
  {
    "path": "ILRuntime/ILRuntime/CLR/Method/ExceptionHandler.cs",
    "chars": 564,
    "preview": "using System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text;\n\nusing ILRuntime.CLR.TypeSystem;\n"
  },
  {
    "path": "ILRuntime/ILRuntime/CLR/Method/ILMethod.cs",
    "chars": 21607,
    "preview": "using System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text;\nusing System.Reflection;\n\nusing M"
  },
  {
    "path": "ILRuntime/ILRuntime/CLR/Method/IMethod.cs",
    "chars": 662,
    "preview": "using System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text;\n\nusing ILRuntime.CLR.TypeSystem;\n"
  },
  {
    "path": "ILRuntime/ILRuntime/CLR/TypeSystem/CLRType.cs",
    "chars": 23425,
    "preview": "using System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text;\nusing System.Reflection;\n\nusing M"
  },
  {
    "path": "ILRuntime/ILRuntime/CLR/TypeSystem/ILGenericParameterType.cs",
    "chars": 3606,
    "preview": "using System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text;\n\nnamespace ILRuntime.CLR.TypeSyst"
  },
  {
    "path": "ILRuntime/ILRuntime/CLR/TypeSystem/ILType.cs",
    "chars": 33339,
    "preview": "using System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text;\n\nusing Mono.Cecil;\nusing ILRuntim"
  },
  {
    "path": "ILRuntime/ILRuntime/CLR/TypeSystem/IType.cs",
    "chars": 2392,
    "preview": "using System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text;\n\nusing ILRuntime.CLR.Method;\n\nnam"
  },
  {
    "path": "ILRuntime/ILRuntime/CLR/Utils/Extensions.cs",
    "chars": 9246,
    "preview": "using System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text;\n\nusing ILRuntime.CLR.TypeSystem;\n"
  },
  {
    "path": "ILRuntime/ILRuntime/Other/ByReferenceKeyComparer.cs",
    "chars": 393,
    "preview": "using System.Collections.Generic;\nusing System.Runtime.CompilerServices;\n\nnamespace ILRuntime.Other\n{\n    class ByRefer"
  },
  {
    "path": "ILRuntime/ILRuntime/Other/DelegateExportAttribute.cs",
    "chars": 298,
    "preview": "namespace ILRuntime.Other\n{\n    /// <summary>\n    /// A Delegate Custom Attr, It tells the CodeGenerationTools : this d"
  },
  {
    "path": "ILRuntime/ILRuntime/Other/NeedAdaptorAttribute.cs",
    "chars": 259,
    "preview": "namespace ILRuntime.Other\n{\n    /// <summary>\n    /// A Class Custom Attr, It tells the CodeGenerationTools :there is a"
  },
  {
    "path": "ILRuntime/ILRuntime/Other/ThreadSafeDictionary.cs",
    "chars": 2895,
    "preview": "using System;\nusing System.Collections;\nusing System.Collections.Generic;\nusing System.Collections.ObjectModel;\nusing S"
  },
  {
    "path": "ILRuntime/ILRuntime/Other/UncheckedList.cs",
    "chars": 31796,
    "preview": "using System;\nusing System.Collections;\nusing System.Collections.Generic;\nusing System.Collections.ObjectModel;\nusing S"
  },
  {
    "path": "ILRuntime/ILRuntime/Reflection/Extensions.cs",
    "chars": 2829,
    "preview": "using System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text;\n\nusing Mono.Cecil;\nusing ILRuntim"
  },
  {
    "path": "ILRuntime/ILRuntime/Reflection/ILRuntimeConstructorInfo.cs",
    "chars": 2917,
    "preview": "using System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text;\nusing System.Reflection;\nusing Sy"
  },
  {
    "path": "ILRuntime/ILRuntime/Reflection/ILRuntimeFieldInfo.cs",
    "chars": 6574,
    "preview": "using System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text;\nusing System.Reflection;\nusing Sy"
  },
  {
    "path": "ILRuntime/ILRuntime/Reflection/ILRuntimeMethodInfo.cs",
    "chars": 4639,
    "preview": "using System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text;\nusing System.Reflection;\nusing Sy"
  },
  {
    "path": "ILRuntime/ILRuntime/Reflection/ILRuntimeParameterInfo.cs",
    "chars": 549,
    "preview": "using System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text;\nusing System.Reflection;\nusing Sy"
  },
  {
    "path": "ILRuntime/ILRuntime/Reflection/ILRuntimePropertyInfo.cs",
    "chars": 5837,
    "preview": "using System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text;\nusing System.Reflection;\nusing Sy"
  },
  {
    "path": "ILRuntime/ILRuntime/Reflection/ILRuntimeType.cs",
    "chars": 15709,
    "preview": "using System;\nusing System.Collections.Generic;\nusing System.Globalization;\nusing System.Linq;\nusing System.Reflection;"
  },
  {
    "path": "ILRuntime/ILRuntime/Reflection/ILRuntimeWrapperType.cs",
    "chars": 6270,
    "preview": "using System;\nusing System.Collections.Generic;\nusing System.Globalization;\nusing System.Linq;\nusing System.Reflection;"
  },
  {
    "path": "ILRuntime/ILRuntime/Runtime/Adaptors/CLRCrossBindingAdaptors.cs",
    "chars": 1941,
    "preview": "using System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text;\n\nusing ILRuntime.CLR.Method;\nusin"
  },
  {
    "path": "ILRuntime/ILRuntime/Runtime/CLRBinding/BindingCodeGenerator.cs",
    "chars": 23118,
    "preview": "using System;\nusing System.Collections.Generic;\nusing System.Reflection;\nusing System.Linq;\nusing System.Text;\nusing IL"
  },
  {
    "path": "ILRuntime/ILRuntime/Runtime/CLRBinding/BindingGeneratorExtensions.cs",
    "chars": 14150,
    "preview": "using System;\nusing System.Collections.Generic;\nusing System.Reflection;\nusing System.Linq;\nusing System.Text;\nusing IL"
  },
  {
    "path": "ILRuntime/ILRuntime/Runtime/CLRBinding/CommonBindingGenerator.cs",
    "chars": 8153,
    "preview": "using System;\nusing System.Collections.Generic;\nusing System.Reflection;\nusing System.Linq;\nusing System.Text;\nusing IL"
  },
  {
    "path": "ILRuntime/ILRuntime/Runtime/CLRBinding/ConstructorBindingGenerator.cs",
    "chars": 7968,
    "preview": "using System;\nusing System.Collections.Generic;\nusing System.Reflection;\nusing System.Linq;\nusing System.Text;\nusing IL"
  },
  {
    "path": "ILRuntime/ILRuntime/Runtime/CLRBinding/FieldBindingGenerator.cs",
    "chars": 4406,
    "preview": "using System;\nusing System.Collections.Generic;\nusing System.Reflection;\nusing System.Linq;\nusing System.Text;\nusing IL"
  },
  {
    "path": "ILRuntime/ILRuntime/Runtime/CLRBinding/MethodBindingGenerator.cs",
    "chars": 15516,
    "preview": "using System;\nusing System.Collections.Generic;\nusing System.Reflection;\nusing System.Linq;\nusing System.Text;\nusing IL"
  },
  {
    "path": "ILRuntime/ILRuntime/Runtime/CLRBinding/ValueTypeBindingGenerator.cs",
    "chars": 1546,
    "preview": "using System;\nusing System.Collections.Generic;\nusing System.Reflection;\nusing System.Linq;\nusing System.Text;\nusing IL"
  },
  {
    "path": "ILRuntime/ILRuntime/Runtime/Debugger/BreakPointContext.cs",
    "chars": 1991,
    "preview": "using System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text;\n\nusing ILRuntime.Runtime.Intepret"
  },
  {
    "path": "ILRuntime/ILRuntime/Runtime/Debugger/BreakpointInfo.cs",
    "chars": 309,
    "preview": "using System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text;\n\nnamespace ILRuntime.Runtime.Debu"
  },
  {
    "path": "ILRuntime/ILRuntime/Runtime/Debugger/DebugMessageType.cs",
    "chars": 517,
    "preview": "using System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text;\n\nnamespace ILRuntime.Runtime.Debu"
  },
  {
    "path": "ILRuntime/ILRuntime/Runtime/Debugger/DebugService.cs",
    "chars": 24587,
    "preview": "using System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text;\nusing System.Threading;\n\nusing IL"
  },
  {
    "path": "ILRuntime/ILRuntime/Runtime/Debugger/DebugSocket.cs",
    "chars": 7241,
    "preview": "using System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text;\nusing System.IO;\nusing System.Net"
  },
  {
    "path": "ILRuntime/ILRuntime/Runtime/Debugger/DebuggerServer/DebuggerServer.cs",
    "chars": 11178,
    "preview": "using System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text;\nusing System.Threading;\nusing Sys"
  },
  {
    "path": "ILRuntime/ILRuntime/Runtime/Debugger/Protocol/CSBindBreakpoint.cs",
    "chars": 412,
    "preview": "using System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text;\n\nnamespace ILRuntime.Runtime.Debu"
  },
  {
    "path": "ILRuntime/ILRuntime/Runtime/Debugger/Protocol/CSDeleteBreakpoint.cs",
    "chars": 238,
    "preview": "using System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text;\n\nnamespace ILRuntime.Runtime.Debu"
  },
  {
    "path": "ILRuntime/ILRuntime/Runtime/Debugger/Protocol/CSExecute.cs",
    "chars": 225,
    "preview": "using System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text;\n\nnamespace ILRuntime.Runtime.Debu"
  },
  {
    "path": "ILRuntime/ILRuntime/Runtime/Debugger/Protocol/CSResolveVariable.cs",
    "chars": 280,
    "preview": "using System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text;\n\nnamespace ILRuntime.Runtime.Debu"
  },
  {
    "path": "ILRuntime/ILRuntime/Runtime/Debugger/Protocol/CSStep.cs",
    "chars": 270,
    "preview": "using System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text;\n\nnamespace ILRuntime.Runtime.Debu"
  },
  {
    "path": "ILRuntime/ILRuntime/Runtime/Debugger/Protocol/SCAttachResult.cs",
    "chars": 363,
    "preview": "using System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text;\n\nnamespace ILRuntime.Runtime.Debu"
  },
  {
    "path": "ILRuntime/ILRuntime/Runtime/Debugger/Protocol/SCBindBreakpointResult.cs",
    "chars": 406,
    "preview": "using System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text;\n\nnamespace ILRuntime.Runtime.Debu"
  },
  {
    "path": "ILRuntime/ILRuntime/Runtime/Debugger/Protocol/SCBreakpointHit.cs",
    "chars": 361,
    "preview": "using System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text;\n\nnamespace ILRuntime.Runtime.Debu"
  },
  {
    "path": "ILRuntime/ILRuntime/Runtime/Debugger/Protocol/SCModuleLoaded.cs",
    "chars": 229,
    "preview": "using System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text;\n\nnamespace ILRuntime.Runtime.Debu"
  },
  {
    "path": "ILRuntime/ILRuntime/Runtime/Debugger/Protocol/SCResolveVariableResult.cs",
    "chars": 238,
    "preview": "using System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text;\n\nnamespace ILRuntime.Runtime.Debu"
  },
  {
    "path": "ILRuntime/ILRuntime/Runtime/Debugger/Protocol/SCStepComplete.cs",
    "chars": 308,
    "preview": "using System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text;\n\nnamespace ILRuntime.Runtime.Debu"
  },
  {
    "path": "ILRuntime/ILRuntime/Runtime/Debugger/Protocol/SCThreadStarted.cs",
    "chars": 322,
    "preview": "using System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text;\n\nnamespace ILRuntime.Runtime.Debu"
  },
  {
    "path": "ILRuntime/ILRuntime/Runtime/Debugger/StackFrameInfo.cs",
    "chars": 500,
    "preview": "using System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text;\n\nnamespace ILRuntime.Runtime.Debu"
  },
  {
    "path": "ILRuntime/ILRuntime/Runtime/Debugger/StepTypes.cs",
    "chars": 222,
    "preview": "using System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text;\n\nnamespace ILRuntime.Runtime.Debu"
  },
  {
    "path": "ILRuntime/ILRuntime/Runtime/Debugger/VariableInfo.cs",
    "chars": 803,
    "preview": "using System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text;\n\nnamespace ILRuntime.Runtime.Debu"
  },
  {
    "path": "ILRuntime/ILRuntime/Runtime/Enviorment/AppDomain.cs",
    "chars": 49250,
    "preview": "using System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text;\nusing System.IO;\nusing Mono.Cecil;"
  },
  {
    "path": "ILRuntime/ILRuntime/Runtime/Enviorment/CLRRedirections.cs",
    "chars": 32962,
    "preview": "using System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text;\nusing System.Reflection;\n\nusing I"
  },
  {
    "path": "ILRuntime/ILRuntime/Runtime/Enviorment/CrossBindingAdaptor.cs",
    "chars": 5623,
    "preview": "using System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text;\nusing ILRuntime.CLR.Method;\nusing"
  },
  {
    "path": "ILRuntime/ILRuntime/Runtime/Enviorment/DelegateManager.cs",
    "chars": 11953,
    "preview": "using System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text;\n\nusing ILRuntime.CLR.TypeSystem;\n"
  },
  {
    "path": "ILRuntime/ILRuntime/Runtime/Enviorment/ILContext.cs",
    "chars": 863,
    "preview": "using System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text;\n\nusing ILRuntime.Runtime.Intepret"
  },
  {
    "path": "ILRuntime/ILRuntime/Runtime/Enviorment/ValueTypeBinder.cs",
    "chars": 3826,
    "preview": "using System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text;\nusing ILRuntime.CLR.Method;\nusing"
  },
  {
    "path": "ILRuntime/ILRuntime/Runtime/Extensions.cs",
    "chars": 7596,
    "preview": "using System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text;\n\nusing ILRuntime.Runtime.Stack;\n\n"
  },
  {
    "path": "ILRuntime/ILRuntime/Runtime/Intepreter/DelegateAdapter.cs",
    "chars": 25029,
    "preview": "using System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text;\nusing ILRuntime.CLR.TypeSystem;\nu"
  },
  {
    "path": "ILRuntime/ILRuntime/Runtime/Intepreter/ILIntepreter.cs",
    "chars": 251025,
    "preview": "using System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text;\nusing System.Threading;\n\nusing IL"
  },
  {
    "path": "ILRuntime/ILRuntime/Runtime/Intepreter/ILRuntimeException.cs",
    "chars": 2128,
    "preview": "using System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text;\n\nusing ILRuntime.Runtime.Stack;\n\n"
  },
  {
    "path": "ILRuntime/ILRuntime/Runtime/Intepreter/ILTypeInstance.cs",
    "chars": 17001,
    "preview": "using System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text;\n\nusing ILRuntime.CLR.Utils;\nusing"
  },
  {
    "path": "ILRuntime/ILRuntime/Runtime/Intepreter/OpCodes/OpCode.cs",
    "chars": 546,
    "preview": "using System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text;\n\nusing ILRuntime.CLR.Method;\n\nnam"
  },
  {
    "path": "ILRuntime/ILRuntime/Runtime/Intepreter/OpCodes/OpCodeEnum.cs",
    "chars": 24208,
    "preview": "using System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text;\n\nnamespace ILRuntime.Runtime.Inte"
  },
  {
    "path": "ILRuntime/ILRuntime/Runtime/Stack/RuntimeStack.cs",
    "chars": 15441,
    "preview": "using System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text;\nusing ILRuntime.CLR.Method;\nusing"
  },
  {
    "path": "ILRuntime/ILRuntime/Runtime/Stack/StackFrame.cs",
    "chars": 534,
    "preview": "using System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text;\n\nusing ILRuntime.CLR.Method;\n\nnam"
  },
  {
    "path": "ILRuntime/ILRuntime/Runtime/Stack/StackObject.cs",
    "chars": 8417,
    "preview": "using System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text;\n\nusing ILRuntime.CLR.TypeSystem;\n"
  },
  {
    "path": "ILRuntime/ILRuntime.csproj",
    "chars": 20199,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<Project ToolsVersion=\"15.0\" xmlns=\"http://schemas.microsoft.com/developer/msbui"
  },
  {
    "path": "ILRuntime/ILRuntime.csproj.user",
    "chars": 221,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<Project ToolsVersion=\"15.0\" xmlns=\"http://schemas.microsoft.com/developer/msbui"
  },
  {
    "path": "ILRuntime/Mono.Cecil.20/MonoCecil/Mono/Actions.cs",
    "chars": 1465,
    "preview": "//\n// Actions.cs\n//\n// Author:\n//   Jb Evain (jbevain@gmail.com)\n//\n// Copyright (c) 2008 - 2011 Jb Evain\n//\n// Permissi"
  },
  {
    "path": "ILRuntime/Mono.Cecil.20/MonoCecil/Mono/Empty.cs",
    "chars": 1590,
    "preview": "//\n// Empty.cs\n//\n// Author:\n//   Jb Evain (jbevain@gmail.com)\n//\n// Copyright (c) 2008 - 2011 Jb Evain\n//\n// Permission"
  },
  {
    "path": "ILRuntime/Mono.Cecil.20/MonoCecil/Mono/Funcs.cs",
    "chars": 1552,
    "preview": "//\n// Funcs.cs\n//\n// Author:\n//   Jb Evain (jbevain@gmail.com)\n//\n// Copyright (c) 2008 - 2011 Jb Evain\n//\n// Permission"
  },
  {
    "path": "ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil/ArrayType.cs",
    "chars": 3686,
    "preview": "//\n// ArrayType.cs\n//\n// Author:\n//   Jb Evain (jbevain@gmail.com)\n//\n// Copyright (c) 2008 - 2011 Jb Evain\n//\n// Permis"
  },
  {
    "path": "ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil/AssemblyDefinition.cs",
    "chars": 4888,
    "preview": "//\n// AssemblyDefinition.cs\n//\n// Author:\n//   Jb Evain (jbevain@gmail.com)\n//\n// Copyright (c) 2008 - 2011 Jb Evain\n//\n"
  },
  {
    "path": "ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil/AssemblyFlags.cs",
    "chars": 1489,
    "preview": "//\n// AssemblyFlags.cs\n//\n// Author:\n//   Jb Evain (jbevain@gmail.com)\n//\n// Copyright (c) 2008 - 2011 Jb Evain\n//\n// Pe"
  },
  {
    "path": "ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil/AssemblyHashAlgorithm.cs",
    "chars": 1338,
    "preview": "//\n// AssemblyHashAlgorithm.cs\n//\n// Author:\n//   Jb Evain (jbevain@gmail.com)\n//\n// Copyright (c) 2008 - 2011 Jb Evain\n"
  },
  {
    "path": "ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil/AssemblyLinkedResource.cs",
    "chars": 1834,
    "preview": "//\n// AssemblyLinkedResource.cs\n//\n// Author:\n//   Jb Evain (jbevain@gmail.com)\n//\n// Copyright (c) 2008 - 2011 Jb Evain"
  },
  {
    "path": "ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil/AssemblyNameDefinition.cs",
    "chars": 1654,
    "preview": "//\n// AssemblyNameDefinition.cs\n//\n// Author:\n//   Jb Evain (jbevain@gmail.com)\n//\n// Copyright (c) 2008 - 2011 Jb Evain"
  },
  {
    "path": "ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil/AssemblyNameReference.cs",
    "chars": 9201,
    "preview": "//\n// AssemblyNameReference.cs\n//\n// Author:\n//   Jb Evain (jbevain@gmail.com)\n//\n// Copyright (c) 2008 - 2011 Jb Evain\n"
  },
  {
    "path": "ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil/AssemblyReader.cs",
    "chars": 107218,
    "preview": "//\n// AssemblyReader.cs\n//\n// Author:\n//   Jb Evain (jbevain@gmail.com)\n//\n// Copyright (c) 2008 - 2011 Jb Evain\n//\n// P"
  },
  {
    "path": "ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil/AssemblyWriter.cs",
    "chars": 1564,
    "preview": "//\n// AssemblyWriter.cs\n//\n// Author:\n//   Jb Evain (jbevain@gmail.com)\n//\n// Copyright (c) 2008 - 2011 Jb Evain\n//\n// P"
  },
  {
    "path": "ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil/BaseAssemblyResolver.cs",
    "chars": 4811,
    "preview": "//\n// BaseAssemblyResolver.cs\n//\n// Author:\n//   Jb Evain (jbevain@gmail.com)\n//\n// Copyright (c) 2008 - 2011 Jb Evain\n/"
  },
  {
    "path": "ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil/CallSite.cs",
    "chars": 3302,
    "preview": "//\n// CallSite.cs\n//\n// Author:\n//   Jb Evain (jbevain@gmail.com)\n//\n// Copyright (c) 2008 - 2011 Jb Evain\n//\n// Permiss"
  },
  {
    "path": "ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil/CustomAttribute.cs",
    "chars": 5374,
    "preview": "//\n// CustomAttribute.cs\n//\n// Author:\n//   Jb Evain (jbevain@gmail.com)\n//\n// Copyright (c) 2008 - 2011 Jb Evain\n//\n// "
  },
  {
    "path": "ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil/DefaultAssemblyResolver.cs",
    "chars": 2144,
    "preview": "//\n// DefaultAssemblyResolver.cs\n//\n// Author:\n//   Jb Evain (jbevain@gmail.com)\n//\n// Copyright (c) 2008 - 2011 Jb Evai"
  },
  {
    "path": "ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil/EmbeddedResource.cs",
    "chars": 2806,
    "preview": "//\n// EmbeddedResource.cs\n//\n// Author:\n//   Jb Evain (jbevain@gmail.com)\n//\n// Copyright (c) 2008 - 2011 Jb Evain\n//\n//"
  },
  {
    "path": "ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil/EventAttributes.cs",
    "chars": 1452,
    "preview": "//\n// EventAttributes.cs\n//\n// Author:\n//   Jb Evain (jbevain@gmail.com)\n//\n// Copyright (c) 2008 - 2011 Jb Evain\n//\n// "
  },
  {
    "path": "ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil/EventDefinition.cs",
    "chars": 4503,
    "preview": "//\n// EventDefinition.cs\n//\n// Author:\n//   Jb Evain (jbevain@gmail.com)\n//\n// Copyright (c) 2008 - 2011 Jb Evain\n//\n// "
  },
  {
    "path": "ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil/EventReference.cs",
    "chars": 1777,
    "preview": "//\n// EventReference.cs\n//\n// Author:\n//   Jb Evain (jbevain@gmail.com)\n//\n// Copyright (c) 2008 - 2011 Jb Evain\n//\n// P"
  },
  {
    "path": "ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil/ExportedType.cs",
    "chars": 9920,
    "preview": "//\n// ExportedType.cs\n//\n// Author:\n//   Jb Evain (jbevain@gmail.com)\n//\n// Copyright (c) 2008 - 2011 Jb Evain\n//\n// Per"
  },
  {
    "path": "ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil/FieldAttributes.cs",
    "chars": 2542,
    "preview": "//\n// FieldAttributes.cs\n//\n// Author:\n//   Jb Evain (jbevain@gmail.com)\n//\n// Copyright (c) 2008 - 2011 Jb Evain\n//\n// "
  },
  {
    "path": "ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil/FieldDefinition.cs",
    "chars": 8488,
    "preview": "//\n// FieldDefinition.cs\n//\n// Author:\n//   Jb Evain (jbevain@gmail.com)\n//\n// Copyright (c) 2008 - 2011 Jb Evain\n//\n// "
  },
  {
    "path": "ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil/FieldReference.cs",
    "chars": 2452,
    "preview": "//\n// FieldReference.cs\n//\n// Author:\n//   Jb Evain (jbevain@gmail.com)\n//\n// Copyright (c) 2008 - 2011 Jb Evain\n//\n// P"
  },
  {
    "path": "ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil/FileAttributes.cs",
    "chars": 1411,
    "preview": "//\n// FileAttributes.cs\n//\n// Author:\n//   Jb Evain (jbevain@gmail.com)\n//\n// Copyright (c) 2008 - 2011 Jb Evain\n//\n// P"
  },
  {
    "path": "ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil/FunctionPointerType.cs",
    "chars": 3493,
    "preview": "//\n// FunctionPointerType.cs\n//\n// Author:\n//   Jb Evain (jbevain@gmail.com)\n//\n// Copyright (c) 2008 - 2011 Jb Evain\n//"
  },
  {
    "path": "ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil/GenericInstanceMethod.cs",
    "chars": 2990,
    "preview": "//\n// GenericInstanceMethod.cs\n//\n// Author:\n//   Jb Evain (jbevain@gmail.com)\n//\n// Copyright (c) 2008 - 2011 Jb Evain\n"
  },
  {
    "path": "ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil/GenericInstanceType.cs",
    "chars": 2843,
    "preview": "//\n// GenericInstanceType.cs\n//\n// Author:\n//   Jb Evain (jbevain@gmail.com)\n//\n// Copyright (c) 2008 - 2011 Jb Evain\n//"
  },
  {
    "path": "ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil/GenericParameter.cs",
    "chars": 8226,
    "preview": "//\n// GenericParameter.cs\n//\n// Author:\n//   Jb Evain (jbevain@gmail.com)\n//\n// Copyright (c) 2008 - 2011 Jb Evain\n//\n//"
  },
  {
    "path": "ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil/GenericParameterAttributes.cs",
    "chars": 1567,
    "preview": "//\n// GenericParameterAttributes.cs\n//\n// Author:\n//   Jb Evain (jbevain@gmail.com)\n//\n// Copyright (c) 2008 - 2011 Jb E"
  },
  {
    "path": "ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil/IConstantProvider.cs",
    "chars": 1870,
    "preview": "//\n// IConstantProvider.cs\n//\n// Author:\n//   Jb Evain (jbevain@gmail.com)\n//\n// Copyright (c) 2008 - 2011 Jb Evain\n//\n/"
  },
  {
    "path": "ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil/ICustomAttributeProvider.cs",
    "chars": 2230,
    "preview": "//\n// ICustomAttributeProvider.cs\n//\n// Author:\n//   Jb Evain (jbevain@gmail.com)\n//\n// Copyright (c) 2008 - 2011 Jb Eva"
  },
  {
    "path": "ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil/IGenericInstance.cs",
    "chars": 2049,
    "preview": "//\n// IGenericInstance.cs\n//\n// Author:\n//   Jb Evain (jbevain@gmail.com)\n//\n// Copyright (c) 2008 - 2011 Jb Evain\n//\n//"
  },
  {
    "path": "ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil/IGenericParameterProvider.cs",
    "chars": 2629,
    "preview": "//\n// IGenericParameterProvider.cs\n//\n// Author:\n//   Jb Evain (jbevain@gmail.com)\n//\n// Copyright (c) 2008 - 2011 Jb Ev"
  },
  {
    "path": "ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil/IMarshalInfoProvider.cs",
    "chars": 2053,
    "preview": "//\n// IMarshalInfoProvider.cs\n//\n// Author:\n//   Jb Evain (jbevain@gmail.com)\n//\n// Copyright (c) 2008 - 2011 Jb Evain\n/"
  },
  {
    "path": "ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil/IMemberDefinition.cs",
    "chars": 3210,
    "preview": "//\n// IMemberDefinition.cs\n//\n// Author:\n//   Jb Evain (jbevain@gmail.com)\n//\n// Copyright (c) 2008 - 2011 Jb Evain\n//\n/"
  },
  {
    "path": "ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil/IMetadataScope.cs",
    "chars": 1460,
    "preview": "//\n// IMetadataScope.cs\n//\n// Author:\n//   Jb Evain (jbevain@gmail.com)\n//\n// Copyright (c) 2008 - 2011 Jb Evain\n//\n// P"
  },
  {
    "path": "ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil/IMetadataTokenProvider.cs",
    "chars": 1320,
    "preview": "//\n// IMetadataTokenProvider.cs\n//\n// Author:\n//   Jb Evain (jbevain@gmail.com)\n//\n// Copyright (c) 2008 - 2011 Jb Evain"
  },
  {
    "path": "ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil/IMethodSignature.cs",
    "chars": 2279,
    "preview": "//\n// IMethodSignature.cs\n//\n// Author:\n//   Jb Evain (jbevain@gmail.com)\n//\n// Copyright (c) 2008 - 2011 Jb Evain\n//\n//"
  },
  {
    "path": "ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil/Import.cs",
    "chars": 10864,
    "preview": "//\n// Import.cs\n//\n// Author:\n//   Jb Evain (jbevain@gmail.com)\n//\n// Copyright (c) 2008 - 2011 Jb Evain\n//\n// Permissio"
  },
  {
    "path": "ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil/LinkedResource.cs",
    "chars": 1778,
    "preview": "//\n// LinkedResource.cs\n//\n// Author:\n//   Jb Evain (jbevain@gmail.com)\n//\n// Copyright (c) 2008 - 2011 Jb Evain\n//\n// P"
  },
  {
    "path": "ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil/ManifestResourceAttributes.cs",
    "chars": 1468,
    "preview": "//\n// ManifestResourceAttributes.cs\n//\n// Author:\n//   Jb Evain (jbevain@gmail.com)\n//\n// Copyright (c) 2008 - 2011 Jb E"
  },
  {
    "path": "ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil/MarshalInfo.cs",
    "chars": 3889,
    "preview": "//\n// MarshalInfo.cs\n//\n// Author:\n//   Jb Evain (jbevain@gmail.com)\n//\n// Copyright (c) 2008 - 2011 Jb Evain\n//\n// Perm"
  },
  {
    "path": "ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil/MemberDefinitionCollection.cs",
    "chars": 2407,
    "preview": "//\n// MemberDefinitionCollection.cs\n//\n// Author:\n//   Jb Evain (jbevain@gmail.com)\n//\n// Copyright (c) 2008 - 2011 Jb E"
  },
  {
    "path": "ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil/MemberReference.cs",
    "chars": 2529,
    "preview": "//\n// MemberReference.cs\n//\n// Author:\n//   Jb Evain (jbevain@gmail.com)\n//\n// Copyright (c) 2008 - 2011 Jb Evain\n//\n// "
  },
  {
    "path": "ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil/MetadataResolver.cs",
    "chars": 11089,
    "preview": "//\n// MetadataResolver.cs\n//\n// Author:\n//   Jb Evain (jbevain@gmail.com)\n//\n// Copyright (c) 2008 - 2011 Jb Evain\n//\n//"
  },
  {
    "path": "ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil/MetadataSystem.cs",
    "chars": 12107,
    "preview": "//\n// MetadataSystem.cs\n//\n// Author:\n//   Jb Evain (jbevain@gmail.com)\n//\n// Copyright (c) 2008 - 2011 Jb Evain\n//\n// P"
  },
  {
    "path": "ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil/MethodAttributes.cs",
    "chars": 2911,
    "preview": "//\n// MethodAttributes.cs\n//\n// Author:\n//   Jb Evain (jbevain@gmail.com)\n//\n// Copyright (c) 2008 - 2011 Jb Evain\n//\n//"
  },
  {
    "path": "ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil/MethodCallingConvention.cs",
    "chars": 1400,
    "preview": "//\n// MethodCallingConvention.cs\n//\n// Author:\n//   Jb Evain (jbevain@gmail.com)\n//\n// Copyright (c) 2008 - 2011 Jb Evai"
  },
  {
    "path": "ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil/MethodDefinition.cs",
    "chars": 20897,
    "preview": "//\n// MethodDefinition.cs\n//\n// Author:\n//   Jb Evain (jbevain@gmail.com)\n//\n// Copyright (c) 2008 - 2011 Jb Evain\n//\n//"
  },
  {
    "path": "ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil/MethodImplAttributes.cs",
    "chars": 2246,
    "preview": "//\n// MethodImplAttributes.cs\n//\n// Author:\n//   Jb Evain (jbevain@gmail.com)\n//\n// Copyright (c) 2008 - 2011 Jb Evain\n/"
  },
  {
    "path": "ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil/MethodReference.cs",
    "chars": 7281,
    "preview": "//\n// MethodReference.cs\n//\n// Author:\n//   Jb Evain (jbevain@gmail.com)\n//\n// Copyright (c) 2008 - 2011 Jb Evain\n//\n// "
  },
  {
    "path": "ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil/MethodReturnType.cs",
    "chars": 3175,
    "preview": "//\n// MethodReturnType.cs\n//\n// Author:\n//   Jb Evain (jbevain@gmail.com)\n//\n// Copyright (c) 2008 - 2011 Jb Evain\n//\n//"
  },
  {
    "path": "ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil/MethodSemanticsAttributes.cs",
    "chars": 1608,
    "preview": "//\n// MethodSemanticsattributes.cs\n//\n// Author:\n//   Jb Evain (jbevain@gmail.com)\n//\n// Copyright (c) 2008 - 2011 Jb Ev"
  },
  {
    "path": "ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil/MethodSpecification.cs",
    "chars": 2989,
    "preview": "//\n// MethodSpecification.cs\n//\n// Author:\n//   Jb Evain (jbevain@gmail.com)\n//\n// Copyright (c) 2008 - 2011 Jb Evain\n//"
  },
  {
    "path": "ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil/Modifiers.cs",
    "chars": 3705,
    "preview": "//\n// Modifiers.cs\n//\n// Author:\n//   Jb Evain (jbevain@gmail.com)\n//\n// Copyright (c) 2008 - 2011 Jb Evain\n//\n// Permis"
  },
  {
    "path": "ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil/ModuleDefinition.cs",
    "chars": 20854,
    "preview": "//\n// ModuleDefinition.cs\n//\n// Author:\n//   Jb Evain (jbevain@gmail.com)\n//\n// Copyright (c) 2008 - 2011 Jb Evain\n//\n//"
  },
  {
    "path": "ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil/ModuleKind.cs",
    "chars": 1706,
    "preview": "//\n// ModuleKind.cs\n//\n// Author:\n//   Jb Evain (jbevain@gmail.com)\n//\n// Copyright (c) 2008 - 2011 Jb Evain\n//\n// Permi"
  },
  {
    "path": "ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil/ModuleReference.cs",
    "chars": 1848,
    "preview": "//\n// ModuleReference.cs\n//\n// Author:\n//   Jb Evain (jbevain@gmail.com)\n//\n// Copyright (c) 2008 - 2011 Jb Evain\n//\n// "
  },
  {
    "path": "ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil/NativeType.cs",
    "chars": 1877,
    "preview": "//\n// NativeType.cs\n//\n// Author:\n//   Jb Evain (jbevain@gmail.com)\n//\n// Copyright (c) 2008 - 2011 Jb Evain\n//\n// Permi"
  },
  {
    "path": "ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil/PInvokeAttributes.cs",
    "chars": 2011,
    "preview": "//\n// PInvokeAttributes.cs\n//\n// Author:\n//   Jb Evain (jbevain@gmail.com)\n//\n// Copyright (c) 2008 - 2011 Jb Evain\n//\n/"
  },
  {
    "path": "ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil/PInvokeInfo.cs",
    "chars": 6786,
    "preview": "//\n// PInvokeInfo.cs\n//\n// Author:\n//   Jb Evain (jbevain@gmail.com)\n//\n// Copyright (c) 2008 - 2011 Jb Evain\n//\n// Perm"
  },
  {
    "path": "ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil/ParameterAttributes.cs",
    "chars": 1665,
    "preview": "//\n// ParameterAttributes.cs\n//\n// Author:\n//   Jb Evain (jbevain@gmail.com)\n//\n// Copyright (c) 2008 - 2011 Jb Evain\n//"
  },
  {
    "path": "ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil/ParameterDefinition.cs",
    "chars": 6141,
    "preview": "//\n// ParameterDefinition.cs\n//\n// Author:\n//   Jb Evain (jbevain@gmail.com)\n//\n// Copyright (c) 2008 - 2011 Jb Evain\n//"
  },
  {
    "path": "ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil/ParameterDefinitionCollection.cs",
    "chars": 2290,
    "preview": "//\n// ParameterDefinitionCollection.cs\n//\n// Author:\n//   Jb Evain (jbevain@gmail.com)\n//\n// Copyright (c) 2008 - 2011 J"
  },
  {
    "path": "ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil/ParameterReference.cs",
    "chars": 2123,
    "preview": "//\n// ParameterReference.cs\n//\n// Author:\n//   Jb Evain (jbevain@gmail.com)\n//\n// Copyright (c) 2008 - 2011 Jb Evain\n//\n"
  },
  {
    "path": "ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil/PinnedType.cs",
    "chars": 1636,
    "preview": "//\n// PinnedType.cs\n//\n// Author:\n//   Jb Evain (jbevain@gmail.com)\n//\n// Copyright (c) 2008 - 2011 Jb Evain\n//\n// Permi"
  },
  {
    "path": "ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil/PointerType.cs",
    "chars": 1789,
    "preview": "//\n// PointerType.cs\n//\n// Author:\n//   Jb Evain (jbevain@gmail.com)\n//\n// Copyright (c) 2008 - 2011 Jb Evain\n//\n// Perm"
  },
  {
    "path": "ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil/PropertyAttributes.cs",
    "chars": 1577,
    "preview": "//\n// PropertyAttributes.cs\n//\n// Author:\n//   Jb Evain (jbevain@gmail.com)\n//\n// Copyright (c) 2008 - 2011 Jb Evain\n//\n"
  },
  {
    "path": "ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil/PropertyDefinition.cs",
    "chars": 6662,
    "preview": "//\n// PropertyDefinition.cs\n//\n// Author:\n//   Jb Evain (jbevain@gmail.com)\n//\n// Copyright (c) 2008 - 2011 Jb Evain\n//\n"
  },
  {
    "path": "ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil/PropertyReference.cs",
    "chars": 1818,
    "preview": "//\n// PropertyReference.cs\n//\n// Author:\n//   Jb Evain (jbevain@gmail.com)\n//\n// Copyright (c) 2008 - 2011 Jb Evain\n//\n/"
  },
  {
    "path": "ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil/ReferenceType.cs",
    "chars": 1807,
    "preview": "//\n// ByReferenceType.cs\n//\n// Author:\n//   Jb Evain (jbevain@gmail.com)\n//\n// Copyright (c) 2008 - 2011 Jb Evain\n//\n// "
  },
  {
    "path": "ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil/Resource.cs",
    "chars": 2526,
    "preview": "//\n// ResourceType.cs\n//\n// Author:\n//   Jb Evain (jbevain@gmail.com)\n//\n// Copyright (c) 2008 - 2011 Jb Evain\n//\n// Per"
  },
  {
    "path": "ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil/SecurityDeclaration.cs",
    "chars": 6093,
    "preview": "//\n// SecurityDeclaration.cs\n//\n// Author:\n//   Jb Evain (jbevain@gmail.com)\n//\n// Copyright (c) 2008 - 2011 Jb Evain\n//"
  },
  {
    "path": "ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil/SentinelType.cs",
    "chars": 1646,
    "preview": "//\n// SentinelType.cs\n//\n// Author:\n//   Jb Evain (jbevain@gmail.com)\n//\n// Copyright (c) 2008 - 2011 Jb Evain\n//\n// Per"
  },
  {
    "path": "ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil/TargetRuntime.cs",
    "chars": 1296,
    "preview": "//\n// TargetRuntime.cs\n//\n// Author:\n//   Jb Evain (jbevain@gmail.com)\n//\n// Copyright (c) 2008 - 2011 Jb Evain\n//\n// Pe"
  },
  {
    "path": "ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil/TypeAttributes.cs",
    "chars": 3639,
    "preview": "//\n// TypeAttributes.cs\n//\n// Author:\n//   Jb Evain (jbevain@gmail.com)\n//\n// Copyright (c) 2008 - 2011 Jb Evain\n//\n// P"
  },
  {
    "path": "ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil/TypeDefinition.cs",
    "chars": 20383,
    "preview": "//\n// TypeDefinition.cs\n//\n// Author:\n//   Jb Evain (jbevain@gmail.com)\n//\n// Copyright (c) 2008 - 2011 Jb Evain\n//\n// P"
  },
  {
    "path": "ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil/TypeDefinitionCollection.cs",
    "chars": 3269,
    "preview": "//\n// TypeDefinitionCollection.cs\n//\n// Author:\n//   Jb Evain (jbevain@gmail.com)\n//\n// Copyright (c) 2008 - 2011 Jb Eva"
  },
  {
    "path": "ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil/TypeParser.cs",
    "chars": 17429,
    "preview": "//\n// TypeParser.cs\n//\n// Author:\n//   Jb Evain (jbevain@gmail.com)\n//\n// Copyright (c) 2008 - 2011 Jb Evain\n//\n// Permi"
  },
  {
    "path": "ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil/TypeReference.cs",
    "chars": 10411,
    "preview": "//\n// TypeReference.cs\n//\n// Author:\n//   Jb Evain (jbevain@gmail.com)\n//\n// Copyright (c) 2008 - 2011 Jb Evain\n//\n// Pe"
  },
  {
    "path": "ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil/TypeSpecification.cs",
    "chars": 2566,
    "preview": "//\n// TypeSpecification.cs\n//\n// Author:\n//   Jb Evain (jbevain@gmail.com)\n//\n// Copyright (c) 2008 - 2011 Jb Evain\n//\n/"
  },
  {
    "path": "ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil/TypeSystem.cs",
    "chars": 10766,
    "preview": "//\n// TypeSystem.cs\n//\n// Author:\n//   Jb Evain (jbevain@gmail.com)\n//\n// Copyright (c) 2008 - 2011 Jb Evain\n//\n// Permi"
  },
  {
    "path": "ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil/VariantType.cs",
    "chars": 1496,
    "preview": "//\n// VariantType.cs\n//\n// Author:\n//   Jb Evain (jbevain@gmail.com)\n//\n// Copyright (c) 2008 - 2011 Jb Evain\n//\n// Perm"
  },
  {
    "path": "ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil.Cil/Code.cs",
    "chars": 3679,
    "preview": "//\n// Code.cs\n//\n// Author:\n//   Jb Evain (jbevain@gmail.com)\n//\n// Copyright (c) 2008 - 2011 Jb Evain\n//\n// Permission "
  },
  {
    "path": "ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil.Cil/CodeReader.cs",
    "chars": 12401,
    "preview": "//\n// CodeReader.cs\n//\n// Author:\n//   Jb Evain (jbevain@gmail.com)\n//\n// Copyright (c) 2008 - 2011 Jb Evain\n//\n// Permi"
  },
  {
    "path": "ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil.Cil/CodeWriter.cs",
    "chars": 1350,
    "preview": "//\n// CodeWriter.cs\n//\n// Author:\n//   Jb Evain (jbevain@gmail.com)\n//\n// Copyright (c) 2008 - 2011 Jb Evain\n//\n// Permi"
  },
  {
    "path": "ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil.Cil/Document.cs",
    "chars": 2486,
    "preview": "//\n// Document.cs\n//\n// Author:\n//   Jb Evain (jbevain@gmail.com)\n//\n// Copyright (c) 2008 - 2011 Jb Evain\n//\n// Permiss"
  },
  {
    "path": "ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil.Cil/ExceptionHandler.cs",
    "chars": 2386,
    "preview": "//\n// ExceptionHandler.cs\n//\n// Author:\n//   Jb Evain (jbevain@gmail.com)\n//\n// Copyright (c) 2008 - 2011 Jb Evain\n//\n//"
  },
  {
    "path": "ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil.Cil/ILProcessor.cs",
    "chars": 6973,
    "preview": "//\n// ILProcessor.cs\n//\n// Author:\n//   Jb Evain (jbevain@gmail.com)\n//\n// Copyright (c) 2008 - 2011 Jb Evain\n//\n// Perm"
  },
  {
    "path": "ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil.Cil/Instruction.cs",
    "chars": 8746,
    "preview": "//\n// Instruction.cs\n//\n// Author:\n//   Jb Evain (jbevain@gmail.com)\n//\n// Copyright (c) 2008 - 2011 Jb Evain\n//\n// Perm"
  },
  {
    "path": "ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil.Cil/MethodBody.cs",
    "chars": 7269,
    "preview": "//\n// MethodBody.cs\n//\n// Author:\n//   Jb Evain (jbevain@gmail.com)\n//\n// Copyright (c) 2008 - 2011 Jb Evain\n//\n// Permi"
  },
  {
    "path": "ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil.Cil/OpCode.cs",
    "chars": 13827,
    "preview": "//\n// OpCode.cs\n//\n// Author:\n//   Jb Evain (jbevain@gmail.com)\n//\n// Copyright (c) 2008 - 2011 Jb Evain\n//\n// Permissio"
  },
  {
    "path": "ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil.Cil/OpCodes.cs",
    "chars": 65267,
    "preview": "//\n// OpCodes.cs\n//\n// Author:\n//   Jb Evain (jbevain@gmail.com)\n//\n// Copyright (c) 2008 - 2011 Jb Evain\n//\n// Permissi"
  },
  {
    "path": "ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil.Cil/SequencePoint.cs",
    "chars": 1895,
    "preview": "//\n// SequencePoint.cs\n//\n// Author:\n//   Jb Evain (jbevain@gmail.com)\n//\n// Copyright (c) 2008 - 2011 Jb Evain\n//\n// Pe"
  },
  {
    "path": "ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil.Cil/Symbols.cs",
    "chars": 5874,
    "preview": "//\n// Symbols.cs\n//\n// Author:\n//   Jb Evain (jbevain@gmail.com)\n//\n// Copyright (c) 2008 - 2011 Jb Evain\n//\n// Permissi"
  },
  {
    "path": "ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil.Cil/VariableDefinition.cs",
    "chars": 1640,
    "preview": "//\n// VariableDefinition.cs\n//\n// Author:\n//   Jb Evain (jbevain@gmail.com)\n//\n// Copyright (c) 2008 - 2011 Jb Evain\n//\n"
  },
  {
    "path": "ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil.Cil/VariableReference.cs",
    "chars": 2065,
    "preview": "//\n// VariableReference.cs\n//\n// Author:\n//   Jb Evain (jbevain@gmail.com)\n//\n// Copyright (c) 2008 - 2011 Jb Evain\n//\n/"
  },
  {
    "path": "ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil.Metadata/BlobHeap.cs",
    "chars": 1887,
    "preview": "//\n// BlobHeap.cs\n//\n// Author:\n//   Jb Evain (jbevain@gmail.com)\n//\n// Copyright (c) 2008 - 2011 Jb Evain\n//\n// Permiss"
  },
  {
    "path": "ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil.Metadata/Buffers.cs",
    "chars": 1314,
    "preview": "//\n// TableHeapBuffer.cs\n//\n// Author:\n//   Jb Evain (jbevain@gmail.com)\n//\n// Copyright (c) 2008 - 2011 Jb Evain\n//\n// "
  },
  {
    "path": "ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil.Metadata/CodedIndex.cs",
    "chars": 1489,
    "preview": "//\n// CodedIndex.cs\n//\n// Author:\n//   Jb Evain (jbevain@gmail.com)\n//\n// Copyright (c) 2008 - 2011 Jb Evain\n//\n// Permi"
  },
  {
    "path": "ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil.Metadata/ElementType.cs",
    "chars": 2647,
    "preview": "//\n// ElementType.cs\n//\n// Author:\n//   Jb Evain (jbevain@gmail.com)\n//\n// Copyright (c) 2008 - 2011 Jb Evain\n//\n// Perm"
  },
  {
    "path": "ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil.Metadata/GuidHeap.cs",
    "chars": 1677,
    "preview": "//\n// GuidHeap.cs\n//\n// Author:\n//   Jb Evain (jbevain@gmail.com)\n//\n// Copyright (c) 2008 - 2011 Jb Evain\n//\n// Permiss"
  },
  {
    "path": "ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil.Metadata/Heap.cs",
    "chars": 1530,
    "preview": "//\n// Heap.cs\n//\n// Author:\n//   Jb Evain (jbevain@gmail.com)\n//\n// Copyright (c) 2008 - 2011 Jb Evain\n//\n// Permission "
  },
  {
    "path": "ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil.Metadata/MetadataToken.cs",
    "chars": 2537,
    "preview": "//\n// MetadataToken.cs\n//\n// Author:\n//   Jb Evain (jbevain@gmail.com)\n//\n// Copyright (c) 2008 - 2011 Jb Evain\n//\n// Pe"
  },
  {
    "path": "ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil.Metadata/Row.cs",
    "chars": 3903,
    "preview": "//\n// Row.cs\n//\n// Author:\n//   Jb Evain (jbevain@gmail.com)\n//\n// Copyright (c) 2008 - 2011 Jb Evain\n//\n// Permission i"
  },
  {
    "path": "ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil.Metadata/StringHeap.cs",
    "chars": 2172,
    "preview": "//\n// StringHeap.cs\n//\n// Author:\n//   Jb Evain (jbevain@gmail.com)\n//\n// Copyright (c) 2008 - 2011 Jb Evain\n//\n// Permi"
  },
  {
    "path": "ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil.Metadata/TableHeap.cs",
    "chars": 2816,
    "preview": "//\n// TableHeap.cs\n//\n// Author:\n//   Jb Evain (jbevain@gmail.com)\n//\n// Copyright (c) 2008 - 2011 Jb Evain\n//\n// Permis"
  },
  {
    "path": "ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil.Metadata/TokenType.cs",
    "chars": 1843,
    "preview": "//\n// TokenType.cs\n//\n// Author:\n//   Jb Evain (jbevain@gmail.com)\n//\n// Copyright (c) 2008 - 2011 Jb Evain\n//\n// Permis"
  },
  {
    "path": "ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil.Metadata/UserStringHeap.cs",
    "chars": 1994,
    "preview": "//\n// UserStringHeap.cs\n//\n// Author:\n//   Jb Evain (jbevain@gmail.com)\n//\n// Copyright (c) 2008 - 2011 Jb Evain\n//\n// P"
  },
  {
    "path": "ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil.Metadata/Utilities.cs",
    "chars": 14301,
    "preview": "//\n// Utilities.cs\n//\n// Author:\n//   Jb Evain (jbevain@gmail.com)\n//\n// Copyright (c) 2008 - 2011 Jb Evain\n//\n// Permis"
  },
  {
    "path": "ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil.PE/BinaryStreamReader.cs",
    "chars": 1588,
    "preview": "//\n// BinaryStreamReader.cs\n//\n// Author:\n//   Jb Evain (jbevain@gmail.com)\n//\n// Copyright (c) 2008 - 2011 Jb Evain\n//\n"
  },
  {
    "path": "ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil.PE/BinaryStreamWriter.cs",
    "chars": 1231,
    "preview": "//\n// BinaryStreamWriter.cs\n//\n// Author:\n//   Jb Evain (jbevain@gmail.com)\n//\n// Copyright (c) 2008 - 2011 Jb Evain\n//\n"
  },
  {
    "path": "ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil.PE/ByteBuffer.cs",
    "chars": 4066,
    "preview": "//\n// ByteBuffer.cs\n//\n// Author:\n//   Jb Evain (jbevain@gmail.com)\n//\n// Copyright (c) 2008 - 2011 Jb Evain\n//\n// Permi"
  },
  {
    "path": "ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil.PE/ByteBufferEqualityComparer.cs",
    "chars": 2191,
    "preview": "//\n// ByteBufferEqualityComparer.cs\n//\n// Author:\n//   Jb Evain (jbevain@gmail.com)\n//\n// Copyright (c) 2008 - 2011 Jb E"
  },
  {
    "path": "ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil.PE/DataDirectory.cs",
    "chars": 1545,
    "preview": "//\n// DataDirectory.cs\n//\n// Author:\n//   Jb Evain (jbevain@gmail.com)\n//\n// Copyright (c) 2008 - 2011 Jb Evain\n//\n// Pe"
  },
  {
    "path": "ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil.PE/Image.cs",
    "chars": 5156,
    "preview": "//\n// Image.cs\n//\n// Author:\n//   Jb Evain (jbevain@gmail.com)\n//\n// Copyright (c) 2008 - 2011 Jb Evain\n//\n// Permission"
  },
  {
    "path": "ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil.PE/ImageReader.cs",
    "chars": 24168,
    "preview": "//\n// ImageReader.cs\n//\n// Author:\n//   Jb Evain (jbevain@gmail.com)\n//\n// Copyright (c) 2008 - 2011 Jb Evain\n//\n// Perm"
  },
  {
    "path": "ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil.PE/ImageWriter.cs",
    "chars": 0,
    "preview": ""
  },
  {
    "path": "ILRuntime/Mono.Cecil.20/MonoCecil/Mono.Cecil.PE/Section.cs",
    "chars": 1449,
    "preview": "//\n// Section.cs\n//\n// Author:\n//   Jb Evain (jbevain@gmail.com)\n//\n// Copyright (c) 2008 - 2011 Jb Evain\n//\n// Permissi"
  }
]

// ... and 425 more files (download for full content)

About this extraction

This page contains the full source code of the slicol/SGF GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 625 files (3.8 MB), approximately 1.0M tokens, and a symbol index with 5410 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.

Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.

Copied to clipboard!