/symbols/pdb/Mono.Cecil.Pdb/ISymUnmanagedWriter2.cs
C# | 86 lines | 70 code | 8 blank | 8 comment | 0 complexity | 1dbc483681b8c4920d0186e12048facd MD5 | raw file
1// 2// Author: 3// Juerg Billeter (j@bitron.ch) 4// 5// (C) 2008 Juerg Billeter 6// 7// Licensed under the MIT/X11 license. 8// 9 10using System; 11using System.Runtime.InteropServices; 12using System.Runtime.InteropServices.ComTypes; 13 14using Mono.Cecil.Cil; 15 16namespace Mono.Cecil.Pdb { 17 18 [Guid ("0B97726E-9E6D-4f05-9A26-424022093CAA")] 19 [InterfaceType (ComInterfaceType.InterfaceIsIUnknown)] 20 [ComImport] 21 interface ISymUnmanagedWriter2 { 22 23 void DefineDocument ( 24 [In, MarshalAs (UnmanagedType.LPWStr)] string url, 25 [In] ref Guid langauge, 26 [In] ref Guid languageVendor, 27 [In] ref Guid documentType, 28 [Out, MarshalAs (UnmanagedType.Interface)] out ISymUnmanagedDocumentWriter pRetVal); 29 void SetUserEntryPoint ([In] int methodToken); 30 void OpenMethod ([In] int methodToken); 31 void CloseMethod (); 32 void OpenScope ([In] int startOffset, [Out] out int pRetVal); 33 void CloseScope ([In] int endOffset); 34 void SetScopeRange_Placeholder (); 35 void DefineLocalVariable_Placeholder (); 36 void DefineParameter_Placeholder (); 37 void DefineField_Placeholder (); 38 void DefineGlobalVariable_Placeholder (); 39 void Close (); 40 void SetSymAttribute (uint parent, string name, uint data, IntPtr signature); 41 void OpenNamespace ([In, MarshalAs (UnmanagedType.LPWStr)] string name); 42 void CloseNamespace (); 43 void UsingNamespace ([In, MarshalAs (UnmanagedType.LPWStr)] string fullName); 44 void SetMethodSourceRange_Placeholder (); 45 void Initialize ( 46 [In, MarshalAs (UnmanagedType.IUnknown)] object emitter, 47 [In, MarshalAs (UnmanagedType.LPWStr)] string filename, 48 [In] IStream pIStream, 49 [In] bool fFullBuild); 50 void GetDebugInfo ( 51 [Out] out ImageDebugDirectory pIDD, 52 [In] int cData, 53 [Out] out int pcData, 54 [In, Out, MarshalAs (UnmanagedType.LPArray, SizeParamIndex = 1)] byte [] data); 55 void DefineSequencePoints ( 56 [In, MarshalAs (UnmanagedType.Interface)] ISymUnmanagedDocumentWriter document, 57 [In] int spCount, 58 [In, MarshalAs (UnmanagedType.LPArray, SizeParamIndex = 1)] int [] offsets, 59 [In, MarshalAs (UnmanagedType.LPArray, SizeParamIndex = 1)] int [] lines, 60 [In, MarshalAs (UnmanagedType.LPArray, SizeParamIndex = 1)] int [] columns, 61 [In, MarshalAs (UnmanagedType.LPArray, SizeParamIndex = 1)] int [] endLines, 62 [In, MarshalAs (UnmanagedType.LPArray, SizeParamIndex = 1)] int [] endColumns); 63 void RemapToken_Placeholder (); 64 void Initialize2_Placeholder (); 65 void DefineConstant_Placeholder (); 66 void Abort_Placeholder (); 67 68 void DefineLocalVariable2 ( 69 [In, MarshalAs (UnmanagedType.LPWStr)] string name, 70 [In] int attributes, 71 [In] int sigToken, 72 [In] int addrKind, 73 [In] int addr1, 74 [In] int addr2, 75 [In] int addr3, 76 [In] int startOffset, 77 [In] int endOffset); 78 79 void DefineGlobalVariable2_Placeholder (); 80 81 void DefineConstant2 ( 82 [In, MarshalAs (UnmanagedType.LPWStr)] string name, 83 [In, MarshalAs (UnmanagedType.Struct)] object variant, 84 [In] int sigToken); 85 } 86}