Browse Source
git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/trunk@824 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61shortcuts
11 changed files with 65 additions and 97 deletions
@ -1,58 +0,0 @@ |
|||||||
// <file>
|
|
||||||
// <copyright see="prj:///doc/copyright.txt">2002-2005 AlphaSierraPapa</copyright>
|
|
||||||
// <license see="prj:///doc/license.txt">GNU General Public License</license>
|
|
||||||
// <owner name="David Srbecký" email="dsrbecky@gmail.com"/>
|
|
||||||
// <version>$Revision$</version>
|
|
||||||
// </file>
|
|
||||||
|
|
||||||
using System; |
|
||||||
|
|
||||||
using Debugger.Interop.CorDebug; |
|
||||||
|
|
||||||
namespace Debugger |
|
||||||
{ |
|
||||||
static class ValueFactory |
|
||||||
{ |
|
||||||
public static Value CreateValue(NDebugger debugger, ICorDebugValue corValue) |
|
||||||
{ |
|
||||||
CorElementType type = Value.GetCorType(corValue); |
|
||||||
|
|
||||||
if (Value.DereferenceUnbox(corValue) == null) |
|
||||||
{ |
|
||||||
return new NullValue(debugger, corValue); |
|
||||||
} |
|
||||||
|
|
||||||
switch(type) |
|
||||||
{ |
|
||||||
case CorElementType.BOOLEAN: |
|
||||||
case CorElementType.CHAR: |
|
||||||
case CorElementType.I1: |
|
||||||
case CorElementType.U1: |
|
||||||
case CorElementType.I2: |
|
||||||
case CorElementType.U2: |
|
||||||
case CorElementType.I4: |
|
||||||
case CorElementType.U4: |
|
||||||
case CorElementType.I8: |
|
||||||
case CorElementType.U8: |
|
||||||
case CorElementType.R4: |
|
||||||
case CorElementType.R8: |
|
||||||
case CorElementType.I: |
|
||||||
case CorElementType.U: |
|
||||||
case CorElementType.STRING: |
|
||||||
return new PrimitiveValue(debugger, corValue); |
|
||||||
|
|
||||||
case CorElementType.ARRAY: |
|
||||||
case CorElementType.SZARRAY: // Short-cut for single dimension zero lower bound array
|
|
||||||
return new ArrayValue(debugger, corValue); |
|
||||||
|
|
||||||
case CorElementType.VALUETYPE: |
|
||||||
case CorElementType.CLASS: |
|
||||||
case CorElementType.OBJECT: // Short-cut for Class "System.Object"
|
|
||||||
return new ObjectValue(debugger, corValue); |
|
||||||
|
|
||||||
default: // Unknown type
|
|
||||||
return new UnavailableValue(debugger, "Unknown value type"); |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
@ -1,27 +0,0 @@ |
|||||||
// <file>
|
|
||||||
// <copyright see="prj:///doc/copyright.txt">2002-2005 AlphaSierraPapa</copyright>
|
|
||||||
// <license see="prj:///doc/license.txt">GNU General Public License</license>
|
|
||||||
// <owner name="David Srbecký" email="dsrbecky@gmail.com"/>
|
|
||||||
// <version>$Revision$</version>
|
|
||||||
// </file>
|
|
||||||
|
|
||||||
using System; |
|
||||||
|
|
||||||
using Debugger.Interop.CorDebug; |
|
||||||
|
|
||||||
namespace Debugger |
|
||||||
{ |
|
||||||
public static class VariableFactory |
|
||||||
{ |
|
||||||
internal static Variable CreateVariable(NDebugger debugger, ICorDebugValue corValue, string name) |
|
||||||
{ |
|
||||||
Value val = ValueFactory.CreateValue(debugger, corValue); |
|
||||||
return CreateVariable(val, name); |
|
||||||
} |
|
||||||
|
|
||||||
public static Variable CreateVariable(Value val, string name) |
|
||||||
{ |
|
||||||
return new Variable(val.Debugger, val, name); |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
Loading…
Reference in new issue