PageRenderTime 3ms CodeModel.GetById 14ms app.highlight 7ms RepoModel.GetById 1ms app.codeStats 0ms

/Mono.Cecil/symbols/pdb/Mono.Cecil.Pdb/ISymUnmanagedWriter2.cs

http://github.com/icsharpcode/ILSpy
C# | 103 lines | 68 code | 8 blank | 27 comment | 0 complexity | 31ba03213081f444aed591641f559c75 MD5 | raw file
  1//
  2// ISymUnmanagedWriter2.cs
  3//
  4// Author:
  5//   Juerg Billeter (j@bitron.ch)
  6//
  7// (C) 2008 Juerg Billeter
  8//
  9// Permission is hereby granted, free of charge, to any person obtaining
 10// a copy of this software and associated documentation files (the
 11// "Software"), to deal in the Software without restriction, including
 12// without limitation the rights to use, copy, modify, merge, publish,
 13// distribute, sublicense, and/or sell copies of the Software, and to
 14// permit persons to whom the Software is furnished to do so, subject to
 15// the following conditions:
 16//
 17// The above copyright notice and this permission notice shall be
 18// included in all copies or substantial portions of the Software.
 19//
 20// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
 21// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
 22// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
 23// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
 24// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
 25// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
 26// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 27//
 28
 29using System;
 30using System.Diagnostics.SymbolStore;
 31using System.Runtime.InteropServices;
 32using System.Runtime.InteropServices.ComTypes;
 33
 34using Mono.Cecil.Cil;
 35
 36#if !READ_ONLY
 37
 38namespace Mono.Cecil.Pdb {
 39
 40	[Guid ("0B97726E-9E6D-4f05-9A26-424022093CAA")]
 41	[InterfaceType (ComInterfaceType.InterfaceIsIUnknown)]
 42	[ComImport]
 43	interface ISymUnmanagedWriter2 {
 44
 45		void DefineDocument (
 46			[In, MarshalAs (UnmanagedType.LPWStr)] string url,
 47			[In] ref Guid langauge,
 48			[In] ref Guid languageVendor,
 49			[In] ref Guid documentType,
 50			[Out, MarshalAs (UnmanagedType.Interface)] out ISymUnmanagedDocumentWriter pRetVal);
 51		void SetUserEntryPoint ([In] SymbolToken method);
 52		void OpenMethod ([In] SymbolToken method);
 53		void CloseMethod ();
 54		void OpenScope ([In] int startOffset, [Out] out int pRetVal);
 55		void CloseScope ([In] int endOffset);
 56		void SetScopeRange_Placeholder ();
 57		void DefineLocalVariable_Placeholder ();
 58		void DefineParameter_Placeholder ();
 59		void DefineField_Placeholder ();
 60		void DefineGlobalVariable_Placeholder ();
 61		void Close ();
 62		void SetSymAttribute_Placeholder ();
 63		void OpenNamespace ([In, MarshalAs (UnmanagedType.LPWStr)] string name);
 64		void CloseNamespace ();
 65		void UsingNamespace ([In, MarshalAs (UnmanagedType.LPWStr)] string fullName);
 66		void SetMethodSourceRange_Placeholder ();
 67		void Initialize (
 68			[In, MarshalAs (UnmanagedType.IUnknown)] object emitter,
 69			[In, MarshalAs (UnmanagedType.LPWStr)] string filename,
 70			[In] IStream pIStream,
 71			[In] bool fFullBuild);
 72		void GetDebugInfo (
 73			[Out] out ImageDebugDirectory pIDD,
 74			[In] int cData,
 75			[Out] out int pcData,
 76			[In, Out, MarshalAs (UnmanagedType.LPArray, SizeParamIndex = 1)] byte [] data);
 77		void DefineSequencePoints (
 78			[In, MarshalAs (UnmanagedType.Interface)] ISymUnmanagedDocumentWriter document,
 79			[In] int spCount,
 80			[In, MarshalAs (UnmanagedType.LPArray, SizeParamIndex = 1)] int [] offsets,
 81			[In, MarshalAs (UnmanagedType.LPArray, SizeParamIndex = 1)] int [] lines,
 82			[In, MarshalAs (UnmanagedType.LPArray, SizeParamIndex = 1)] int [] columns,
 83			[In, MarshalAs (UnmanagedType.LPArray, SizeParamIndex = 1)] int [] endLines,
 84			[In, MarshalAs (UnmanagedType.LPArray, SizeParamIndex = 1)] int [] endColumns);
 85		void RemapToken_Placeholder ();
 86		void Initialize2_Placeholder ();
 87		void DefineConstant_Placeholder ();
 88		void Abort_Placeholder ();
 89
 90		void DefineLocalVariable2 (
 91			[In, MarshalAs (UnmanagedType.LPWStr)] string name,
 92			[In] int attributes,
 93			[In] SymbolToken sigToken,
 94			[In] int addrKind,
 95			[In] int addr1,
 96			[In] int addr2,
 97			[In] int addr3,
 98			[In] int startOffset,
 99			[In] int endOffset);
100	}
101}
102
103#endif