Browse Source

Updating some interop APIs

git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/trunk@5256 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61
pull/1/head
David Srbecký 16 years ago
parent
commit
9f08cf225e
  1. 6
      src/AddIns/Debugger/Debugger.Core/Interop/CorSym.cs
  2. 18
      src/AddIns/Debugger/Debugger.Core/Interop/CorSymExtensionMethods.cs
  3. 8
      src/AddIns/Debugger/Debugger.Core/Interop/CorSymExtensionMethods.generated.cs

6
src/AddIns/Debugger/Debugger.Core/Interop/CorSym.cs

@ -107,7 +107,7 @@ namespace Debugger.Interop.CorSym @@ -107,7 +107,7 @@ namespace Debugger.Interop.CorSym
public virtual extern void __GetMethodVersion([In, MarshalAs(UnmanagedType.Interface)] ISymUnmanagedMethod pMethod, out int version);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType=MethodCodeType.Runtime)]
public virtual extern void __GetNamespaces([In] uint cNameSpaces, out uint pcNameSpaces, [Out] IntPtr namespaces);
public virtual extern void __GetNamespaces([In] uint cNameSpaces, out uint pcNameSpaces, [Out, MarshalAs(UnmanagedType.LPArray)] ISymUnmanagedNamespace[] namespaces);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType=MethodCodeType.Runtime)]
public virtual extern void __GetSymAttribute([In] uint parent, [In] IntPtr name, [In] uint cBuffer, out uint pcBuffer, [Out] IntPtr buffer);
@ -173,7 +173,7 @@ namespace Debugger.Interop.CorSym @@ -173,7 +173,7 @@ namespace Debugger.Interop.CorSym
public virtual extern void __GetMethodVersion([In, MarshalAs(UnmanagedType.Interface)] ISymUnmanagedMethod pMethod, out int version);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType=MethodCodeType.Runtime)]
public virtual extern void __GetNamespaces([In] uint cNameSpaces, out uint pcNameSpaces, [Out] IntPtr namespaces);
public virtual extern void __GetNamespaces([In] uint cNameSpaces, out uint pcNameSpaces, [Out, MarshalAs(UnmanagedType.LPArray)] ISymUnmanagedNamespace[] namespaces);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType=MethodCodeType.Runtime)]
public virtual extern void __GetSymAttribute([In] uint parent, [In] IntPtr name, [In] uint cBuffer, out uint pcBuffer, [Out] IntPtr buffer);
@ -497,7 +497,7 @@ namespace Debugger.Interop.CorSym @@ -497,7 +497,7 @@ namespace Debugger.Interop.CorSym
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType=MethodCodeType.Runtime)]
void __GetSymAttribute([In] uint parent, [In] IntPtr name, [In] uint cBuffer, out uint pcBuffer, [Out] IntPtr buffer);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType=MethodCodeType.Runtime)]
void __GetNamespaces([In] uint cNameSpaces, out uint pcNameSpaces, [Out] IntPtr namespaces);
void __GetNamespaces([In] uint cNameSpaces, out uint pcNameSpaces, [Out, MarshalAs(UnmanagedType.LPArray)] ISymUnmanagedNamespace[] namespaces);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType=MethodCodeType.Runtime)]
void __Initialize([In, MarshalAs(UnmanagedType.IUnknown)] object importer, [In] IntPtr filename, [In] IntPtr searchPath, [In, MarshalAs(UnmanagedType.Interface)] IStream pIStream);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType=MethodCodeType.Runtime)]

18
src/AddIns/Debugger/Debugger.Core/Interop/CorSymExtensionMethods.cs

@ -130,6 +130,13 @@ namespace Debugger.Interop.CorSym @@ -130,6 +130,13 @@ namespace Debugger.Interop.CorSym
return namespaces;
}
// ISymUnmanagedNamespace
public static string GetName(this ISymUnmanagedNamespace symNs)
{
return Util.GetCorSymString(symNs.GetName);
}
// ISymUnmanagedVariable
public static string GetName(this ISymUnmanagedVariable symVar)
@ -151,6 +158,17 @@ namespace Debugger.Interop.CorSym @@ -151,6 +158,17 @@ namespace Debugger.Interop.CorSym
symVar.GetSignature((uint)sig.Length, out acualSize, new IntPtr(pSig));
return sig;
}
// ISymUnmanagedReader
public static ISymUnmanagedNamespace[] GetNamespaces(this ISymUnmanagedReader symReader)
{
uint count;
symReader.GetNamespaces(0, out count, new ISymUnmanagedNamespace[0]);
ISymUnmanagedNamespace[] namespaces = new ISymUnmanagedNamespace[count];
symReader.GetNamespaces(count, out count, namespaces);
return namespaces;
}
}
public class SequencePoint: IComparable<SequencePoint>

8
src/AddIns/Debugger/Debugger.Core/Interop/CorSymExtensionMethods.generated.cs

@ -1,4 +1,4 @@ @@ -1,4 +1,4 @@
// <file>
// <file>
// <copyright see="prj:///doc/copyright.txt"/>
// <license see="prj:///doc/license.txt"/>
// <owner name="David Srbecký" email="dsrbecky@gmail.com"/>
@ -97,7 +97,7 @@ namespace Debugger.Interop.CorSym @@ -97,7 +97,7 @@ namespace Debugger.Interop.CorSym
return version;
}
public static void GetNamespaces(this CorSymReader_SxSClass instance, uint cNameSpaces, out uint pcNameSpaces, IntPtr namespaces)
public static void GetNamespaces(this CorSymReader_SxSClass instance, uint cNameSpaces, out uint pcNameSpaces, ISymUnmanagedNamespace[] namespaces)
{
instance.__GetNamespaces(cNameSpaces, out pcNameSpaces, namespaces);
}
@ -193,7 +193,7 @@ namespace Debugger.Interop.CorSym @@ -193,7 +193,7 @@ namespace Debugger.Interop.CorSym
return version;
}
public static void GetNamespaces(this CorSymReader_deprecatedClass instance, uint cNameSpaces, out uint pcNameSpaces, IntPtr namespaces)
public static void GetNamespaces(this CorSymReader_deprecatedClass instance, uint cNameSpaces, out uint pcNameSpaces, ISymUnmanagedNamespace[] namespaces)
{
instance.__GetNamespaces(cNameSpaces, out pcNameSpaces, namespaces);
}
@ -700,7 +700,7 @@ namespace Debugger.Interop.CorSym @@ -700,7 +700,7 @@ namespace Debugger.Interop.CorSym
instance.__GetSymAttribute(parent, name, cBuffer, out pcBuffer, buffer);
}
public static void GetNamespaces(this ISymUnmanagedReader instance, uint cNameSpaces, out uint pcNameSpaces, IntPtr namespaces)
public static void GetNamespaces(this ISymUnmanagedReader instance, uint cNameSpaces, out uint pcNameSpaces, ISymUnmanagedNamespace[] namespaces)
{
instance.__GetNamespaces(cNameSpaces, out pcNameSpaces, namespaces);
}

Loading…
Cancel
Save