Browse Source
git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/trunk@3179 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61shortcuts
12 changed files with 534 additions and 134 deletions
@ -1,83 +0,0 @@
@@ -1,83 +0,0 @@
|
||||
// <file>
|
||||
// <copyright see="prj:///doc/copyright.txt"/>
|
||||
// <owner name="David Srbecký" email="dsrbecky@gmail.com"/>
|
||||
// <version>$Revision$</version>
|
||||
// </file>
|
||||
#region License
|
||||
//
|
||||
// Copyright (c) 2007, ic#code
|
||||
//
|
||||
// All rights reserved.
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without
|
||||
// modification, are permitted provided that the following conditions are met:
|
||||
//
|
||||
// 1. Redistributions of source code must retain the above copyright notice,
|
||||
// this list of conditions and the following disclaimer.
|
||||
//
|
||||
// 2. Redistributions in binary form must reproduce the above copyright
|
||||
// notice, this list of conditions and the following disclaimer in the
|
||||
// documentation and/or other materials provided with the distribution.
|
||||
//
|
||||
// 3. Neither the name of the ic#code nor the names of its contributors may be
|
||||
// used to endorse or promote products derived from this software without
|
||||
// specific prior written permission.
|
||||
//
|
||||
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
// ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
|
||||
// LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
// POSSIBILITY OF SUCH DAMAGE.
|
||||
//
|
||||
#endregion
|
||||
|
||||
using System; |
||||
using System.Drawing; |
||||
using System.Windows.Forms; |
||||
|
||||
using ICSharpCode.SharpDevelop; |
||||
|
||||
namespace Debugger |
||||
{ |
||||
/// <summary>
|
||||
/// Description of DebuggerIcons.
|
||||
/// </summary>
|
||||
public static class DebuggerIcons |
||||
{ |
||||
static ImageList imageList; |
||||
|
||||
public static ImageList ImageList { |
||||
get { |
||||
return imageList; |
||||
} |
||||
} |
||||
|
||||
static DebuggerIcons() |
||||
{ |
||||
imageList = new ImageList(); |
||||
imageList.Images.Add(IconService.GetBitmap("Icons.16x16.Class")); |
||||
imageList.Images.Add(IconService.GetBitmap("Icons.16x16.Field")); |
||||
imageList.Images.Add(IconService.GetBitmap("Icons.16x16.Property")); |
||||
} |
||||
|
||||
public static Image GetImage(Value val) |
||||
{ |
||||
return imageList.Images[GetImageListIndex(val)]; |
||||
} |
||||
|
||||
public static int GetImageListIndex(Value val) |
||||
{ |
||||
if (val.IsObject) { |
||||
return 0; // Class
|
||||
} else { |
||||
return 1; // Field
|
||||
} |
||||
} |
||||
} |
||||
} |
||||
@ -0,0 +1,370 @@
@@ -0,0 +1,370 @@
|
||||
// <file>
|
||||
// <copyright see="prj:///doc/copyright.txt"/>
|
||||
// <license see="prj:///doc/license.txt"/>
|
||||
// <owner name="David Srbecký" email="dsrbecky@gmail.com"/>
|
||||
// <version>$Revision$</version>
|
||||
// </file>
|
||||
|
||||
// Never used field
|
||||
#pragma warning disable 0169
|
||||
// Field will always have default value
|
||||
#pragma warning disable 0649
|
||||
|
||||
using System; |
||||
|
||||
namespace Debugger.Tests.TestPrograms |
||||
{ |
||||
public class Metadata |
||||
{ |
||||
private int privateField; |
||||
public int publicField; |
||||
protected int protectedField; |
||||
internal int internalField; |
||||
static int staticField; |
||||
|
||||
private int privateProperty { get { return 0; } } |
||||
public int publicProperty { get { return 0; } } |
||||
protected int protectedProperty { get { return 0; } } |
||||
internal int internalProperty { get { return 0; } } |
||||
static int staticProperty { get { return 0; } } |
||||
|
||||
private void privateMethod() {} |
||||
public void publicMethod() {} |
||||
protected void protectedMethod() {} |
||||
internal void internalMethod() {} |
||||
static void staticMethod() {} |
||||
|
||||
public static void Main() |
||||
{ |
||||
System.Diagnostics.Debugger.Break(); |
||||
} |
||||
} |
||||
} |
||||
|
||||
#if TEST_CODE
|
||||
namespace Debugger.Tests { |
||||
using Debugger.MetaData; |
||||
|
||||
public partial class DebuggerTests |
||||
{ |
||||
[NUnit.Framework.Test] |
||||
public void Metadata() |
||||
{ |
||||
StartTest("Metadata.cs"); |
||||
|
||||
ObjectDump("Members", process.SelectedStackFrame.MethodInfo.DeclaringType.GetMembers(BindingFlags.All)); |
||||
|
||||
EndTest(); |
||||
} |
||||
} |
||||
} |
||||
#endif
|
||||
|
||||
#if EXPECTED_OUTPUT
|
||||
<?xml version="1.0" encoding="utf-8"?> |
||||
<DebuggerTests> |
||||
<Test |
||||
name="Metadata.cs"> |
||||
<ProcessStarted /> |
||||
<ModuleLoaded>mscorlib.dll (No symbols)</ModuleLoaded> |
||||
<ModuleLoaded>Metadata.exe (Has symbols)</ModuleLoaded> |
||||
<DebuggingPaused>Break</DebuggingPaused> |
||||
<Members |
||||
Capacity="32" |
||||
Count="22"> |
||||
<Item> |
||||
<FieldInfo |
||||
DeclaringType="Debugger.Tests.TestPrograms.Metadata" |
||||
FullName="Debugger.Tests.TestPrograms.Metadata.privateField" |
||||
IsInternal="False" |
||||
IsLiteral="False" |
||||
IsPrivate="True" |
||||
IsProtected="False" |
||||
IsPublic="False" |
||||
IsStatic="False" |
||||
Module="Metadata.exe" |
||||
Name="privateField" /> |
||||
</Item> |
||||
<Item> |
||||
<FieldInfo |
||||
DeclaringType="Debugger.Tests.TestPrograms.Metadata" |
||||
FullName="Debugger.Tests.TestPrograms.Metadata.publicField" |
||||
IsInternal="False" |
||||
IsLiteral="False" |
||||
IsPrivate="False" |
||||
IsProtected="False" |
||||
IsPublic="True" |
||||
IsStatic="False" |
||||
Module="Metadata.exe" |
||||
Name="publicField" /> |
||||
</Item> |
||||
<Item> |
||||
<FieldInfo |
||||
DeclaringType="Debugger.Tests.TestPrograms.Metadata" |
||||
FullName="Debugger.Tests.TestPrograms.Metadata.protectedField" |
||||
IsInternal="False" |
||||
IsLiteral="False" |
||||
IsPrivate="False" |
||||
IsProtected="True" |
||||
IsPublic="False" |
||||
IsStatic="False" |
||||
Module="Metadata.exe" |
||||
Name="protectedField" /> |
||||
</Item> |
||||
<Item> |
||||
<FieldInfo |
||||
DeclaringType="Debugger.Tests.TestPrograms.Metadata" |
||||
FullName="Debugger.Tests.TestPrograms.Metadata.internalField" |
||||
IsInternal="True" |
||||
IsLiteral="False" |
||||
IsPrivate="False" |
||||
IsProtected="False" |
||||
IsPublic="False" |
||||
IsStatic="False" |
||||
Module="Metadata.exe" |
||||
Name="internalField" /> |
||||
</Item> |
||||
<Item> |
||||
<FieldInfo |
||||
DeclaringType="Debugger.Tests.TestPrograms.Metadata" |
||||
FullName="Debugger.Tests.TestPrograms.Metadata.staticField" |
||||
IsInternal="False" |
||||
IsLiteral="False" |
||||
IsPrivate="True" |
||||
IsProtected="False" |
||||
IsPublic="False" |
||||
IsStatic="True" |
||||
Module="Metadata.exe" |
||||
Name="staticField" /> |
||||
</Item> |
||||
<Item> |
||||
<MethodInfo |
||||
DeclaringType="Debugger.Tests.TestPrograms.Metadata" |
||||
FullName="Debugger.Tests.TestPrograms.Metadata.get_privateProperty" |
||||
IsInternal="False" |
||||
IsPrivate="True" |
||||
IsProtected="False" |
||||
IsPublic="False" |
||||
IsSpecialName="True" |
||||
IsStatic="False" |
||||
Module="Metadata.exe" |
||||
Name="get_privateProperty" /> |
||||
</Item> |
||||
<Item> |
||||
<MethodInfo |
||||
DeclaringType="Debugger.Tests.TestPrograms.Metadata" |
||||
FullName="Debugger.Tests.TestPrograms.Metadata.get_publicProperty" |
||||
IsInternal="False" |
||||
IsPrivate="False" |
||||
IsProtected="False" |
||||
IsPublic="True" |
||||
IsSpecialName="True" |
||||
IsStatic="False" |
||||
Module="Metadata.exe" |
||||
Name="get_publicProperty" /> |
||||
</Item> |
||||
<Item> |
||||
<MethodInfo |
||||
DeclaringType="Debugger.Tests.TestPrograms.Metadata" |
||||
FullName="Debugger.Tests.TestPrograms.Metadata.get_protectedProperty" |
||||
IsInternal="False" |
||||
IsPrivate="False" |
||||
IsProtected="True" |
||||
IsPublic="False" |
||||
IsSpecialName="True" |
||||
IsStatic="False" |
||||
Module="Metadata.exe" |
||||
Name="get_protectedProperty" /> |
||||
</Item> |
||||
<Item> |
||||
<MethodInfo |
||||
DeclaringType="Debugger.Tests.TestPrograms.Metadata" |
||||
FullName="Debugger.Tests.TestPrograms.Metadata.get_internalProperty" |
||||
IsInternal="True" |
||||
IsPrivate="False" |
||||
IsProtected="False" |
||||
IsPublic="False" |
||||
IsSpecialName="True" |
||||
IsStatic="False" |
||||
Module="Metadata.exe" |
||||
Name="get_internalProperty" /> |
||||
</Item> |
||||
<Item> |
||||
<MethodInfo |
||||
DeclaringType="Debugger.Tests.TestPrograms.Metadata" |
||||
FullName="Debugger.Tests.TestPrograms.Metadata.get_staticProperty" |
||||
IsInternal="False" |
||||
IsPrivate="True" |
||||
IsProtected="False" |
||||
IsPublic="False" |
||||
IsSpecialName="True" |
||||
IsStatic="True" |
||||
Module="Metadata.exe" |
||||
Name="get_staticProperty" /> |
||||
</Item> |
||||
<Item> |
||||
<MethodInfo |
||||
DeclaringType="Debugger.Tests.TestPrograms.Metadata" |
||||
FullName="Debugger.Tests.TestPrograms.Metadata.privateMethod" |
||||
IsInternal="False" |
||||
IsPrivate="True" |
||||
IsProtected="False" |
||||
IsPublic="False" |
||||
IsSpecialName="False" |
||||
IsStatic="False" |
||||
Module="Metadata.exe" |
||||
Name="privateMethod" /> |
||||
</Item> |
||||
<Item> |
||||
<MethodInfo |
||||
DeclaringType="Debugger.Tests.TestPrograms.Metadata" |
||||
FullName="Debugger.Tests.TestPrograms.Metadata.publicMethod" |
||||
IsInternal="False" |
||||
IsPrivate="False" |
||||
IsProtected="False" |
||||
IsPublic="True" |
||||
IsSpecialName="False" |
||||
IsStatic="False" |
||||
Module="Metadata.exe" |
||||
Name="publicMethod" /> |
||||
</Item> |
||||
<Item> |
||||
<MethodInfo |
||||
DeclaringType="Debugger.Tests.TestPrograms.Metadata" |
||||
FullName="Debugger.Tests.TestPrograms.Metadata.protectedMethod" |
||||
IsInternal="False" |
||||
IsPrivate="False" |
||||
IsProtected="True" |
||||
IsPublic="False" |
||||
IsSpecialName="False" |
||||
IsStatic="False" |
||||
Module="Metadata.exe" |
||||
Name="protectedMethod" /> |
||||
</Item> |
||||
<Item> |
||||
<MethodInfo |
||||
DeclaringType="Debugger.Tests.TestPrograms.Metadata" |
||||
FullName="Debugger.Tests.TestPrograms.Metadata.internalMethod" |
||||
IsInternal="True" |
||||
IsPrivate="False" |
||||
IsProtected="False" |
||||
IsPublic="False" |
||||
IsSpecialName="False" |
||||
IsStatic="False" |
||||
Module="Metadata.exe" |
||||
Name="internalMethod" /> |
||||
</Item> |
||||
<Item> |
||||
<MethodInfo |
||||
DeclaringType="Debugger.Tests.TestPrograms.Metadata" |
||||
FullName="Debugger.Tests.TestPrograms.Metadata.staticMethod" |
||||
IsInternal="False" |
||||
IsPrivate="True" |
||||
IsProtected="False" |
||||
IsPublic="False" |
||||
IsSpecialName="False" |
||||
IsStatic="True" |
||||
Module="Metadata.exe" |
||||
Name="staticMethod" /> |
||||
</Item> |
||||
<Item> |
||||
<MethodInfo |
||||
DeclaringType="Debugger.Tests.TestPrograms.Metadata" |
||||
FullName="Debugger.Tests.TestPrograms.Metadata.Main" |
||||
IsInternal="False" |
||||
IsPrivate="False" |
||||
IsProtected="False" |
||||
IsPublic="True" |
||||
IsSpecialName="False" |
||||
IsStatic="True" |
||||
Module="Metadata.exe" |
||||
Name="Main" /> |
||||
</Item> |
||||
<Item> |
||||
<MethodInfo |
||||
DeclaringType="Debugger.Tests.TestPrograms.Metadata" |
||||
FullName="Debugger.Tests.TestPrograms.Metadata..ctor" |
||||
IsInternal="False" |
||||
IsPrivate="False" |
||||
IsProtected="False" |
||||
IsPublic="True" |
||||
IsSpecialName="True" |
||||
IsStatic="False" |
||||
Module="Metadata.exe" |
||||
Name=".ctor" /> |
||||
</Item> |
||||
<Item> |
||||
<PropertyInfo |
||||
DeclaringType="Debugger.Tests.TestPrograms.Metadata" |
||||
FullName="Debugger.Tests.TestPrograms.Metadata.privateProperty" |
||||
GetMethod="get_privateProperty" |
||||
IsInternal="False" |
||||
IsPrivate="True" |
||||
IsProtected="False" |
||||
IsPublic="False" |
||||
IsStatic="False" |
||||
Module="Metadata.exe" |
||||
Name="privateProperty" |
||||
SetMethod="null" /> |
||||
</Item> |
||||
<Item> |
||||
<PropertyInfo |
||||
DeclaringType="Debugger.Tests.TestPrograms.Metadata" |
||||
FullName="Debugger.Tests.TestPrograms.Metadata.publicProperty" |
||||
GetMethod="get_publicProperty" |
||||
IsInternal="False" |
||||
IsPrivate="False" |
||||
IsProtected="False" |
||||
IsPublic="True" |
||||
IsStatic="False" |
||||
Module="Metadata.exe" |
||||
Name="publicProperty" |
||||
SetMethod="null" /> |
||||
</Item> |
||||
<Item> |
||||
<PropertyInfo |
||||
DeclaringType="Debugger.Tests.TestPrograms.Metadata" |
||||
FullName="Debugger.Tests.TestPrograms.Metadata.protectedProperty" |
||||
GetMethod="get_protectedProperty" |
||||
IsInternal="False" |
||||
IsPrivate="False" |
||||
IsProtected="True" |
||||
IsPublic="False" |
||||
IsStatic="False" |
||||
Module="Metadata.exe" |
||||
Name="protectedProperty" |
||||
SetMethod="null" /> |
||||
</Item> |
||||
<Item> |
||||
<PropertyInfo |
||||
DeclaringType="Debugger.Tests.TestPrograms.Metadata" |
||||
FullName="Debugger.Tests.TestPrograms.Metadata.internalProperty" |
||||
GetMethod="get_internalProperty" |
||||
IsInternal="True" |
||||
IsPrivate="False" |
||||
IsProtected="False" |
||||
IsPublic="False" |
||||
IsStatic="False" |
||||
Module="Metadata.exe" |
||||
Name="internalProperty" |
||||
SetMethod="null" /> |
||||
</Item> |
||||
<Item> |
||||
<PropertyInfo |
||||
DeclaringType="Debugger.Tests.TestPrograms.Metadata" |
||||
FullName="Debugger.Tests.TestPrograms.Metadata.staticProperty" |
||||
GetMethod="get_staticProperty" |
||||
IsInternal="False" |
||||
IsPrivate="True" |
||||
IsProtected="False" |
||||
IsPublic="False" |
||||
IsStatic="True" |
||||
Module="Metadata.exe" |
||||
Name="staticProperty" |
||||
SetMethod="null" /> |
||||
</Item> |
||||
</Members> |
||||
<ProcessExited /> |
||||
</Test> |
||||
</DebuggerTests> |
||||
#endif // EXPECTED_OUTPUT
|
||||
Loading…
Reference in new issue