提交 ab68f406 编写于 作者: P Patrick Fenelon

Updates Concord APIs in Roslyn to add new field "CustomTypeInfo" which is...

Updates Concord APIs in Roslyn to add new field "CustomTypeInfo" which is passed between an managed expression complier and a result provider.
This new field is a new value type "DkmClrCustomTypeInfo", which is used to convey complier specific type information that is not represented by .NET data types (such as C#'s 'dynamic' type).
In Roslyn, this commit also updates the ResultProvider's mock implementation of the Concord API and fixes all affected callsites.
上级 98b912d6
......@@ -3579,6 +3579,7 @@
.field static public literal valuetype 'Microsoft.VisualStudio.Debugger'.'DkmExceptionCode' 'E_LOAD_VSDEBUGENG_IMPORTS_FAILED' = int32(0x80040C11)
.field static public literal valuetype 'Microsoft.VisualStudio.Debugger'.'DkmExceptionCode' 'E_LOGON_FAILURE_ON_CALLBACK' = int32(0x80040756)
.field static public literal valuetype 'Microsoft.VisualStudio.Debugger'.'DkmExceptionCode' 'E_MANAGED_FEATURE_NOTSUPPORTED' = int32(0x80040BAD)
.field static public literal valuetype 'Microsoft.VisualStudio.Debugger'.'DkmExceptionCode' 'E_MANAGED_HEAP_ENUMERATION_PARTIAL' = int32(0x92330065)
.field static public literal valuetype 'Microsoft.VisualStudio.Debugger'.'DkmExceptionCode' 'E_MANAGED_HEAP_ENUMERATION_TARGET_NOT_STOPPED' = int32(0x92330061)
.field static public literal valuetype 'Microsoft.VisualStudio.Debugger'.'DkmExceptionCode' 'E_MANAGED_HEAP_NOT_ENUMERABLE' = int32(0x92330056)
.field static public literal valuetype 'Microsoft.VisualStudio.Debugger'.'DkmExceptionCode' 'E_MARSHALLING_SIZE_TOO_LARGE' = int32(0x9233005F)
......@@ -4989,6 +4990,7 @@
.method public final virtual hidebysig newslot
instance void 'GetObjectData'(class ['mscorlib']'System.Runtime.Serialization'.'SerializationInfo' 'info', valuetype ['mscorlib']'System.Runtime.Serialization'.'StreamingContext' 'context')
{
.permissionset linkcheck = (2E 01 80 84 53 79 73 74 65 6D 2E 53 65 63 75 72 69 74 79 2E 50 65 72 6D 69 73 73 69 6F 6E 73 2E 53 65 63 75 72 69 74 79 50 65 72 6D 69 73 73 69 6F 6E 41 74 74 72 69 62 75 74 65 2C 20 6D 73 63 6F 72 6C 69 62 2C 20 56 65 72 73 69 6F 6E 3D 32 2E 30 2E 30 2E 30 2C 20 43 75 6C 74 75 72 65 3D 6E 65 75 74 72 61 6C 2C 20 50 75 62 6C 69 63 4B 65 79 54 6F 6B 65 6E 3D 62 37 37 61 35 63 35 36 31 39 33 34 65 30 38 39 80 8D 01 54 55 7F 53 79 73 74 65 6D 2E 53 65 63 75 72 69 74 79 2E 50 65 72 6D 69 73 73 69 6F 6E 73 2E 53 65 63 75 72 69 74 79 50 65 72 6D 69 73 73 69 6F 6E 46 6C 61 67 2C 20 6D 73 63 6F 72 6C 69 62 2C 20 56 65 72 73 69 6F 6E 3D 32 2E 30 2E 30 2E 30 2C 20 43 75 6C 74 75 72 65 3D 6E 65 75 74 72 61 6C 2C 20 50 75 62 6C 69 63 4B 65 79 54 6F 6B 65 6E 3D 62 37 37 61 35 63 35 36 31 39 33 34 65 30 38 39 05 46 6C 61 67 73 80 00 00 00)
ret
}
.property instance native int 'ItemsPtr'()
......@@ -11716,7 +11718,7 @@
{
}
.method public virtual hidebysig newslot abstract
instance string 'GetTypeName'(class 'Microsoft.VisualStudio.Debugger.Evaluation'.'DkmInspectionContext' 'inspectionContext', class 'Microsoft.VisualStudio.Debugger.Clr'.'DkmClrType' 'clrType', class ['mscorlib']'System.Collections.ObjectModel'.'ReadOnlyCollection`1'<string> 'formatSpecifiers')
instance string 'GetTypeName'(class 'Microsoft.VisualStudio.Debugger.Evaluation'.'DkmInspectionContext' 'inspectionContext', class 'Microsoft.VisualStudio.Debugger.Clr'.'DkmClrType' 'clrType', class ['mscorlib']'System.Collections.ObjectModel'.'ReadOnlyCollection`1'<string> 'formatSpecifiers', class 'Microsoft.VisualStudio.Debugger.Evaluation.ClrCompilation'.'DkmClrCustomTypeInfo' 'customTypeInfo')
{
}
.method public virtual hidebysig newslot abstract
......@@ -11823,7 +11825,7 @@
.class public interface abstract 'IDkmClrResultProvider'
{
.method public virtual hidebysig newslot abstract
instance void 'GetResult'(class 'Microsoft.VisualStudio.Debugger.Evaluation.ClrCompilation'.'DkmClrValue' 'clrValue', class 'Microsoft.VisualStudio.Debugger'.'DkmWorkList' 'workList', class 'Microsoft.VisualStudio.Debugger.Clr'.'DkmClrType' 'declaredType', class 'Microsoft.VisualStudio.Debugger.Evaluation'.'DkmInspectionContext' 'inspectionContext', class ['mscorlib']'System.Collections.ObjectModel'.'ReadOnlyCollection`1'<string> 'formatSpecifiers', string 'resultName', string 'resultFullName', class 'Microsoft.VisualStudio.Debugger'.'DkmCompletionRoutine`1'<valuetype 'Microsoft.VisualStudio.Debugger.Evaluation.ClrCompilation'.'DkmEvaluationAsyncResult'> 'completionRoutine')
instance void 'GetResult'(class 'Microsoft.VisualStudio.Debugger.Evaluation.ClrCompilation'.'DkmClrValue' 'clrValue', class 'Microsoft.VisualStudio.Debugger'.'DkmWorkList' 'workList', class 'Microsoft.VisualStudio.Debugger.Clr'.'DkmClrType' 'declaredType', class 'Microsoft.VisualStudio.Debugger.Evaluation'.'DkmInspectionContext' 'inspectionContext', class ['mscorlib']'System.Collections.ObjectModel'.'ReadOnlyCollection`1'<string> 'formatSpecifiers', class 'Microsoft.VisualStudio.Debugger.Evaluation.ClrCompilation'.'DkmClrCustomTypeInfo' 'customTypeInfo', string 'resultName', string 'resultFullName', class 'Microsoft.VisualStudio.Debugger'.'DkmCompletionRoutine`1'<valuetype 'Microsoft.VisualStudio.Debugger.Evaluation.ClrCompilation'.'DkmEvaluationAsyncResult'> 'completionRoutine')
{
}
.method public virtual hidebysig newslot abstract
......@@ -17244,7 +17246,7 @@
ret
}
.method public hidebysig
instance string 'GetTypeName'(class 'Microsoft.VisualStudio.Debugger.Clr'.'DkmClrType' 'ClrType', class ['mscorlib']'System.Collections.ObjectModel'.'ReadOnlyCollection`1'<string> 'FormatSpecifiers')
instance string 'GetTypeName'(class 'Microsoft.VisualStudio.Debugger.Clr'.'DkmClrType' 'ClrType', class ['mscorlib']'System.Collections.ObjectModel'.'ReadOnlyCollection`1'<string> 'FormatSpecifiers', class 'Microsoft.VisualStudio.Debugger.Evaluation.ClrCompilation'.'DkmClrCustomTypeInfo' 'CustomTypeInfo')
{
ret
}
......@@ -18333,6 +18335,34 @@
.field static public literal valuetype 'Microsoft.VisualStudio.Debugger.Evaluation.ClrCompilation'.'DkmClrCompilationResultFlags' 'PotentialSideEffect' = int32(0x00000001)
.field static public literal valuetype 'Microsoft.VisualStudio.Debugger.Evaluation.ClrCompilation'.'DkmClrCompilationResultFlags' 'ReadOnlyResult' = int32(0x00000002)
}
.class public 'DkmClrCustomTypeInfo'
extends ['mscorlib']'System'.'Object'
{
.custom instance void ['mscorlib']'System.Runtime.InteropServices'.'GuidAttribute'::.ctor(string) = (01 00 24 32 34 61 63 36 66 36 32 2D 66 33 66 38 2D 31 66 32 66 2D 35 32 64 62 2D 39 38 36 65 33 65 39 36 66 33 38 65 00 00)
.method public hidebysig specialname
instance valuetype ['mscorlib']'System'.'Guid' 'get_PayloadTypeId'()
{
ret
}
.method public hidebysig specialname
instance class ['mscorlib']'System.Collections.ObjectModel'.'ReadOnlyCollection`1'<uint8> 'get_Payload'()
{
ret
}
.method public static hidebysig
class 'Microsoft.VisualStudio.Debugger.Evaluation.ClrCompilation'.'DkmClrCustomTypeInfo' 'Create'(valuetype ['mscorlib']'System'.'Guid' 'PayloadTypeId', class ['mscorlib']'System.Collections.ObjectModel'.'ReadOnlyCollection`1'<uint8> 'Payload')
{
ret
}
.property instance class ['mscorlib']'System.Collections.ObjectModel'.'ReadOnlyCollection`1'<uint8> 'Payload'()
{
.get instance class ['mscorlib']'System.Collections.ObjectModel'.'ReadOnlyCollection`1'<uint8> 'Microsoft.VisualStudio.Debugger.Evaluation.ClrCompilation'.'DkmClrCustomTypeInfo'::'get_Payload'()
}
.property instance valuetype ['mscorlib']'System'.'Guid' 'PayloadTypeId'()
{
.get instance valuetype ['mscorlib']'System'.'Guid' 'Microsoft.VisualStudio.Debugger.Evaluation.ClrCompilation'.'DkmClrCustomTypeInfo'::'get_PayloadTypeId'()
}
}
.class public 'DkmClrDebuggerBrowsableAttribute'
extends 'Microsoft.VisualStudio.Debugger.Evaluation.ClrCompilation'.'DkmClrEvalAttribute'
{
......@@ -18837,7 +18867,7 @@
ret
}
.method public hidebysig
instance void 'GetResult'(class 'Microsoft.VisualStudio.Debugger'.'DkmWorkList' 'WorkList', class 'Microsoft.VisualStudio.Debugger.Clr'.'DkmClrType' 'DeclaredType', class 'Microsoft.VisualStudio.Debugger.Evaluation'.'DkmInspectionContext' 'InspectionContext', class ['mscorlib']'System.Collections.ObjectModel'.'ReadOnlyCollection`1'<string> 'FormatSpecifiers', string 'ResultName', string 'ResultFullName', class 'Microsoft.VisualStudio.Debugger'.'DkmCompletionRoutine`1'<valuetype 'Microsoft.VisualStudio.Debugger.Evaluation.ClrCompilation'.'DkmEvaluationAsyncResult'> 'CompletionRoutine')
instance void 'GetResult'(class 'Microsoft.VisualStudio.Debugger'.'DkmWorkList' 'WorkList', class 'Microsoft.VisualStudio.Debugger.Clr'.'DkmClrType' 'DeclaredType', class 'Microsoft.VisualStudio.Debugger.Evaluation'.'DkmInspectionContext' 'InspectionContext', class ['mscorlib']'System.Collections.ObjectModel'.'ReadOnlyCollection`1'<string> 'FormatSpecifiers', class 'Microsoft.VisualStudio.Debugger.Evaluation.ClrCompilation'.'DkmClrCustomTypeInfo' 'CustomTypeInfo', string 'ResultName', string 'ResultFullName', class 'Microsoft.VisualStudio.Debugger'.'DkmCompletionRoutine`1'<valuetype 'Microsoft.VisualStudio.Debugger.Evaluation.ClrCompilation'.'DkmEvaluationAsyncResult'> 'CompletionRoutine')
{
ret
}
......@@ -19003,13 +19033,18 @@
{
ret
}
.method public hidebysig specialname
instance class 'Microsoft.VisualStudio.Debugger.Evaluation.ClrCompilation'.'DkmClrCustomTypeInfo' 'get_CustomTypeInfo'()
{
ret
}
.method public hidebysig specialname
instance valuetype ['mscorlib']'System'.'Guid' 'get_UniqueId'()
{
ret
}
.method public static hidebysig
class 'Microsoft.VisualStudio.Debugger.Evaluation.ClrCompilation'.'DkmCompiledClrInspectionQuery' 'Create'(class 'Microsoft.VisualStudio.Debugger'.'DkmRuntimeInstance' 'RuntimeInstance', class 'Microsoft.VisualStudio.Debugger.Evaluation'.'DkmCustomDataContainer' 'DataContainer', valuetype 'Microsoft.VisualStudio.Debugger.Evaluation'.'DkmCompilerId' 'LanguageId', class ['mscorlib']'System.Collections.ObjectModel'.'ReadOnlyCollection`1'<uint8> 'Binary', string 'TypeName', string 'MethodName', class ['mscorlib']'System.Collections.ObjectModel'.'ReadOnlyCollection`1'<string> 'FormatSpecifiers', valuetype 'Microsoft.VisualStudio.Debugger.Evaluation.ClrCompilation'.'DkmClrCompilationResultFlags' 'CompilationFlags', valuetype 'Microsoft.VisualStudio.Debugger.Evaluation'.'DkmEvaluationResultCategory' 'ResultCategory', valuetype 'Microsoft.VisualStudio.Debugger.Evaluation'.'DkmEvaluationResultAccessType' 'Access', valuetype 'Microsoft.VisualStudio.Debugger.Evaluation'.'DkmEvaluationResultStorageType' 'StorageType', valuetype 'Microsoft.VisualStudio.Debugger.Evaluation'.'DkmEvaluationResultTypeModifierFlags' 'TypeModifierFlags')
class 'Microsoft.VisualStudio.Debugger.Evaluation.ClrCompilation'.'DkmCompiledClrInspectionQuery' 'Create'(class 'Microsoft.VisualStudio.Debugger'.'DkmRuntimeInstance' 'RuntimeInstance', class 'Microsoft.VisualStudio.Debugger.Evaluation'.'DkmCustomDataContainer' 'DataContainer', valuetype 'Microsoft.VisualStudio.Debugger.Evaluation'.'DkmCompilerId' 'LanguageId', class ['mscorlib']'System.Collections.ObjectModel'.'ReadOnlyCollection`1'<uint8> 'Binary', string 'TypeName', string 'MethodName', class ['mscorlib']'System.Collections.ObjectModel'.'ReadOnlyCollection`1'<string> 'FormatSpecifiers', valuetype 'Microsoft.VisualStudio.Debugger.Evaluation.ClrCompilation'.'DkmClrCompilationResultFlags' 'CompilationFlags', valuetype 'Microsoft.VisualStudio.Debugger.Evaluation'.'DkmEvaluationResultCategory' 'ResultCategory', valuetype 'Microsoft.VisualStudio.Debugger.Evaluation'.'DkmEvaluationResultAccessType' 'Access', valuetype 'Microsoft.VisualStudio.Debugger.Evaluation'.'DkmEvaluationResultStorageType' 'StorageType', valuetype 'Microsoft.VisualStudio.Debugger.Evaluation'.'DkmEvaluationResultTypeModifierFlags' 'TypeModifierFlags', class 'Microsoft.VisualStudio.Debugger.Evaluation.ClrCompilation'.'DkmClrCustomTypeInfo' 'CustomTypeInfo')
{
ret
}
......@@ -19030,6 +19065,10 @@
{
.get instance valuetype 'Microsoft.VisualStudio.Debugger.Evaluation.ClrCompilation'.'DkmClrCompilationResultFlags' 'Microsoft.VisualStudio.Debugger.Evaluation.ClrCompilation'.'DkmCompiledClrInspectionQuery'::'get_CompilationFlags'()
}
.property instance class 'Microsoft.VisualStudio.Debugger.Evaluation.ClrCompilation'.'DkmClrCustomTypeInfo' 'CustomTypeInfo'()
{
.get instance class 'Microsoft.VisualStudio.Debugger.Evaluation.ClrCompilation'.'DkmClrCustomTypeInfo' 'Microsoft.VisualStudio.Debugger.Evaluation.ClrCompilation'.'DkmCompiledClrInspectionQuery'::'get_CustomTypeInfo'()
}
.property instance class ['mscorlib']'System.Collections.ObjectModel'.'ReadOnlyCollection`1'<string> 'FormatSpecifiers'()
{
.get instance class ['mscorlib']'System.Collections.ObjectModel'.'ReadOnlyCollection`1'<string> 'Microsoft.VisualStudio.Debugger.Evaluation.ClrCompilation'.'DkmCompiledClrInspectionQuery'::'get_FormatSpecifiers'()
......@@ -19078,13 +19117,18 @@
{
ret
}
.method public hidebysig specialname
instance class 'Microsoft.VisualStudio.Debugger.Evaluation.ClrCompilation'.'DkmClrCustomTypeInfo' 'get_CustomTypeInfo'()
{
ret
}
.method public hidebysig specialname
instance valuetype ['mscorlib']'System'.'Guid' 'get_UniqueId'()
{
ret
}
.method public static hidebysig
class 'Microsoft.VisualStudio.Debugger.Evaluation.ClrCompilation'.'DkmCompiledClrLocalsQuery' 'Create'(class 'Microsoft.VisualStudio.Debugger'.'DkmRuntimeInstance' 'RuntimeInstance', class 'Microsoft.VisualStudio.Debugger.Evaluation'.'DkmCustomDataContainer' 'DataContainer', valuetype 'Microsoft.VisualStudio.Debugger.Evaluation'.'DkmCompilerId' 'LanguageId', class ['mscorlib']'System.Collections.ObjectModel'.'ReadOnlyCollection`1'<uint8> 'Binary', string 'TypeName', class ['mscorlib']'System.Collections.ObjectModel'.'ReadOnlyCollection`1'<class 'Microsoft.VisualStudio.Debugger.Evaluation.ClrCompilation'.'DkmClrLocalVariableInfo'> 'LocalInfo')
class 'Microsoft.VisualStudio.Debugger.Evaluation.ClrCompilation'.'DkmCompiledClrLocalsQuery' 'Create'(class 'Microsoft.VisualStudio.Debugger'.'DkmRuntimeInstance' 'RuntimeInstance', class 'Microsoft.VisualStudio.Debugger.Evaluation'.'DkmCustomDataContainer' 'DataContainer', valuetype 'Microsoft.VisualStudio.Debugger.Evaluation'.'DkmCompilerId' 'LanguageId', class ['mscorlib']'System.Collections.ObjectModel'.'ReadOnlyCollection`1'<uint8> 'Binary', string 'TypeName', class ['mscorlib']'System.Collections.ObjectModel'.'ReadOnlyCollection`1'<class 'Microsoft.VisualStudio.Debugger.Evaluation.ClrCompilation'.'DkmClrLocalVariableInfo'> 'LocalInfo', class 'Microsoft.VisualStudio.Debugger.Evaluation.ClrCompilation'.'DkmClrCustomTypeInfo' 'CustomTypeInfo')
{
ret
}
......@@ -19097,6 +19141,10 @@
{
.get instance class ['mscorlib']'System.Collections.ObjectModel'.'ReadOnlyCollection`1'<uint8> 'Microsoft.VisualStudio.Debugger.Evaluation.ClrCompilation'.'DkmCompiledClrLocalsQuery'::'get_Binary'()
}
.property instance class 'Microsoft.VisualStudio.Debugger.Evaluation.ClrCompilation'.'DkmClrCustomTypeInfo' 'CustomTypeInfo'()
{
.get instance class 'Microsoft.VisualStudio.Debugger.Evaluation.ClrCompilation'.'DkmClrCustomTypeInfo' 'Microsoft.VisualStudio.Debugger.Evaluation.ClrCompilation'.'DkmCompiledClrLocalsQuery'::'get_CustomTypeInfo'()
}
.property instance class ['mscorlib']'System.Collections.ObjectModel'.'ReadOnlyCollection`1'<class 'Microsoft.VisualStudio.Debugger.Evaluation.ClrCompilation'.'DkmClrLocalVariableInfo'> 'LocalInfo'()
{
.get instance class ['mscorlib']'System.Collections.ObjectModel'.'ReadOnlyCollection`1'<class 'Microsoft.VisualStudio.Debugger.Evaluation.ClrCompilation'.'DkmClrLocalVariableInfo'> 'Microsoft.VisualStudio.Debugger.Evaluation.ClrCompilation'.'DkmCompiledClrLocalsQuery'::'get_LocalInfo'()
......@@ -3674,6 +3674,7 @@
.field static public literal valuetype Microsoft.VisualStudio.Debugger.DkmExceptionCode 'E_LOAD_VSDEBUGENG_IMPORTS_FAILED' = int32(0x80040C11)
.field static public literal valuetype Microsoft.VisualStudio.Debugger.DkmExceptionCode 'E_LOGON_FAILURE_ON_CALLBACK' = int32(0x80040756)
.field static public literal valuetype Microsoft.VisualStudio.Debugger.DkmExceptionCode 'E_MANAGED_FEATURE_NOTSUPPORTED' = int32(0x80040BAD)
.field static public literal valuetype Microsoft.VisualStudio.Debugger.DkmExceptionCode 'E_MANAGED_HEAP_ENUMERATION_PARTIAL' = int32(0x92330065)
.field static public literal valuetype Microsoft.VisualStudio.Debugger.DkmExceptionCode 'E_MANAGED_HEAP_ENUMERATION_TARGET_NOT_STOPPED' = int32(0x92330061)
.field static public literal valuetype Microsoft.VisualStudio.Debugger.DkmExceptionCode 'E_MANAGED_HEAP_NOT_ENUMERABLE' = int32(0x92330056)
.field static public literal valuetype Microsoft.VisualStudio.Debugger.DkmExceptionCode 'E_MARSHALLING_SIZE_TOO_LARGE' = int32(0x9233005F)
......@@ -12319,7 +12320,7 @@
{
}
.method public virtual hidebysig newslot abstract
instance string GetTypeName(class Microsoft.VisualStudio.Debugger.Evaluation.DkmInspectionContext inspectionContext, class Microsoft.VisualStudio.Debugger.Clr.DkmClrType clrType, class [System.Runtime]'System.Collections.ObjectModel.ReadOnlyCollection`1'<string> formatSpecifiers)
instance string GetTypeName(class Microsoft.VisualStudio.Debugger.Evaluation.DkmInspectionContext inspectionContext, class Microsoft.VisualStudio.Debugger.Clr.DkmClrType clrType, class [System.Runtime]'System.Collections.ObjectModel.ReadOnlyCollection`1'<string> formatSpecifiers, class Microsoft.VisualStudio.Debugger.Evaluation.ClrCompilation.DkmClrCustomTypeInfo customTypeInfo)
{
}
.method public virtual hidebysig newslot abstract
......@@ -12426,7 +12427,7 @@
.class public interface abstract IDkmClrResultProvider
{
.method public virtual hidebysig newslot abstract
instance void GetResult(class Microsoft.VisualStudio.Debugger.Evaluation.ClrCompilation.DkmClrValue clrValue, class Microsoft.VisualStudio.Debugger.DkmWorkList workList, class Microsoft.VisualStudio.Debugger.Clr.DkmClrType declaredType, class Microsoft.VisualStudio.Debugger.Evaluation.DkmInspectionContext inspectionContext, class [System.Runtime]'System.Collections.ObjectModel.ReadOnlyCollection`1'<string> formatSpecifiers, string resultName, string resultFullName, class 'Microsoft.VisualStudio.Debugger.DkmCompletionRoutine`1'<valuetype Microsoft.VisualStudio.Debugger.Evaluation.ClrCompilation.DkmEvaluationAsyncResult> completionRoutine)
instance void GetResult(class Microsoft.VisualStudio.Debugger.Evaluation.ClrCompilation.DkmClrValue clrValue, class Microsoft.VisualStudio.Debugger.DkmWorkList workList, class Microsoft.VisualStudio.Debugger.Clr.DkmClrType declaredType, class Microsoft.VisualStudio.Debugger.Evaluation.DkmInspectionContext inspectionContext, class [System.Runtime]'System.Collections.ObjectModel.ReadOnlyCollection`1'<string> formatSpecifiers, class Microsoft.VisualStudio.Debugger.Evaluation.ClrCompilation.DkmClrCustomTypeInfo customTypeInfo, string resultName, string resultFullName, class 'Microsoft.VisualStudio.Debugger.DkmCompletionRoutine`1'<valuetype Microsoft.VisualStudio.Debugger.Evaluation.ClrCompilation.DkmEvaluationAsyncResult> completionRoutine)
{
}
.method public virtual hidebysig newslot abstract
......@@ -17997,7 +17998,7 @@
ret
}
.method public hidebysig
instance string GetTypeName(class Microsoft.VisualStudio.Debugger.Clr.DkmClrType ClrType, class [System.Runtime]'System.Collections.ObjectModel.ReadOnlyCollection`1'<string> FormatSpecifiers)
instance string GetTypeName(class Microsoft.VisualStudio.Debugger.Clr.DkmClrType ClrType, class [System.Runtime]'System.Collections.ObjectModel.ReadOnlyCollection`1'<string> FormatSpecifiers, class Microsoft.VisualStudio.Debugger.Evaluation.ClrCompilation.DkmClrCustomTypeInfo CustomTypeInfo)
{
.custom instance void [System.Runtime]System.Security.SecuritySafeCriticalAttribute::.ctor() = { }
ret
......@@ -19178,6 +19179,35 @@
.field static public literal valuetype Microsoft.VisualStudio.Debugger.Evaluation.ClrCompilation.DkmClrCompilationResultFlags PotentialSideEffect = int32(0x00000001)
.field static public literal valuetype Microsoft.VisualStudio.Debugger.Evaluation.ClrCompilation.DkmClrCompilationResultFlags ReadOnlyResult = int32(0x00000002)
}
.class public DkmClrCustomTypeInfo
extends [System.Runtime]System.Object
{
.custom instance void [System.Runtime.InteropServices]System.Runtime.InteropServices.GuidAttribute::.ctor(string) = { string('24ac6f62-f3f8-1f2f-52db-986e3e96f38e') }
.method public hidebysig specialname
instance valuetype [System.Runtime]System.Guid get_PayloadTypeId()
{
ret
}
.method public hidebysig specialname
instance class [System.Runtime]'System.Collections.ObjectModel.ReadOnlyCollection`1'<uint8> get_Payload()
{
ret
}
.method public static hidebysig
class Microsoft.VisualStudio.Debugger.Evaluation.ClrCompilation.DkmClrCustomTypeInfo Create(valuetype [System.Runtime]System.Guid PayloadTypeId, class [System.Runtime]'System.Collections.ObjectModel.ReadOnlyCollection`1'<uint8> Payload)
{
.custom instance void [System.Runtime]System.Security.SecuritySafeCriticalAttribute::.ctor() = { }
ret
}
.property instance class [System.Runtime]'System.Collections.ObjectModel.ReadOnlyCollection`1'<uint8> Payload()
{
.get instance class [System.Runtime]'System.Collections.ObjectModel.ReadOnlyCollection`1'<uint8> Microsoft.VisualStudio.Debugger.Evaluation.ClrCompilation.DkmClrCustomTypeInfo::get_Payload()
}
.property instance valuetype [System.Runtime]System.Guid PayloadTypeId()
{
.get instance valuetype [System.Runtime]System.Guid Microsoft.VisualStudio.Debugger.Evaluation.ClrCompilation.DkmClrCustomTypeInfo::get_PayloadTypeId()
}
}
.class public DkmClrDebuggerBrowsableAttribute
extends Microsoft.VisualStudio.Debugger.Evaluation.ClrCompilation.DkmClrEvalAttribute
{
......@@ -19717,7 +19747,7 @@
ret
}
.method public hidebysig
instance void GetResult(class Microsoft.VisualStudio.Debugger.DkmWorkList WorkList, class Microsoft.VisualStudio.Debugger.Clr.DkmClrType DeclaredType, class Microsoft.VisualStudio.Debugger.Evaluation.DkmInspectionContext InspectionContext, class [System.Runtime]'System.Collections.ObjectModel.ReadOnlyCollection`1'<string> FormatSpecifiers, string ResultName, string ResultFullName, class 'Microsoft.VisualStudio.Debugger.DkmCompletionRoutine`1'<valuetype Microsoft.VisualStudio.Debugger.Evaluation.ClrCompilation.DkmEvaluationAsyncResult> CompletionRoutine)
instance void GetResult(class Microsoft.VisualStudio.Debugger.DkmWorkList WorkList, class Microsoft.VisualStudio.Debugger.Clr.DkmClrType DeclaredType, class Microsoft.VisualStudio.Debugger.Evaluation.DkmInspectionContext InspectionContext, class [System.Runtime]'System.Collections.ObjectModel.ReadOnlyCollection`1'<string> FormatSpecifiers, class Microsoft.VisualStudio.Debugger.Evaluation.ClrCompilation.DkmClrCustomTypeInfo CustomTypeInfo, string ResultName, string ResultFullName, class 'Microsoft.VisualStudio.Debugger.DkmCompletionRoutine`1'<valuetype Microsoft.VisualStudio.Debugger.Evaluation.ClrCompilation.DkmEvaluationAsyncResult> CompletionRoutine)
{
.custom instance void [System.Runtime]System.Security.SecuritySafeCriticalAttribute::.ctor() = { }
ret
......@@ -19892,13 +19922,18 @@
{
ret
}
.method public hidebysig specialname
instance class Microsoft.VisualStudio.Debugger.Evaluation.ClrCompilation.DkmClrCustomTypeInfo get_CustomTypeInfo()
{
ret
}
.method public hidebysig specialname
instance valuetype [System.Runtime]System.Guid get_UniqueId()
{
ret
}
.method public static hidebysig
class Microsoft.VisualStudio.Debugger.Evaluation.ClrCompilation.DkmCompiledClrInspectionQuery Create(class Microsoft.VisualStudio.Debugger.DkmRuntimeInstance RuntimeInstance, class Microsoft.VisualStudio.Debugger.Evaluation.DkmCustomDataContainer DataContainer, valuetype Microsoft.VisualStudio.Debugger.Evaluation.DkmCompilerId LanguageId, class [System.Runtime]'System.Collections.ObjectModel.ReadOnlyCollection`1'<uint8> Binary, string TypeName, string MethodName, class [System.Runtime]'System.Collections.ObjectModel.ReadOnlyCollection`1'<string> FormatSpecifiers, valuetype Microsoft.VisualStudio.Debugger.Evaluation.ClrCompilation.DkmClrCompilationResultFlags CompilationFlags, valuetype Microsoft.VisualStudio.Debugger.Evaluation.DkmEvaluationResultCategory ResultCategory, valuetype Microsoft.VisualStudio.Debugger.Evaluation.DkmEvaluationResultAccessType Access, valuetype Microsoft.VisualStudio.Debugger.Evaluation.DkmEvaluationResultStorageType StorageType, valuetype Microsoft.VisualStudio.Debugger.Evaluation.DkmEvaluationResultTypeModifierFlags TypeModifierFlags)
class Microsoft.VisualStudio.Debugger.Evaluation.ClrCompilation.DkmCompiledClrInspectionQuery Create(class Microsoft.VisualStudio.Debugger.DkmRuntimeInstance RuntimeInstance, class Microsoft.VisualStudio.Debugger.Evaluation.DkmCustomDataContainer DataContainer, valuetype Microsoft.VisualStudio.Debugger.Evaluation.DkmCompilerId LanguageId, class [System.Runtime]'System.Collections.ObjectModel.ReadOnlyCollection`1'<uint8> Binary, string TypeName, string MethodName, class [System.Runtime]'System.Collections.ObjectModel.ReadOnlyCollection`1'<string> FormatSpecifiers, valuetype Microsoft.VisualStudio.Debugger.Evaluation.ClrCompilation.DkmClrCompilationResultFlags CompilationFlags, valuetype Microsoft.VisualStudio.Debugger.Evaluation.DkmEvaluationResultCategory ResultCategory, valuetype Microsoft.VisualStudio.Debugger.Evaluation.DkmEvaluationResultAccessType Access, valuetype Microsoft.VisualStudio.Debugger.Evaluation.DkmEvaluationResultStorageType StorageType, valuetype Microsoft.VisualStudio.Debugger.Evaluation.DkmEvaluationResultTypeModifierFlags TypeModifierFlags, class Microsoft.VisualStudio.Debugger.Evaluation.ClrCompilation.DkmClrCustomTypeInfo CustomTypeInfo)
{
.custom instance void [System.Runtime]System.Security.SecuritySafeCriticalAttribute::.ctor() = { }
ret
......@@ -19921,6 +19956,10 @@
{
.get instance valuetype Microsoft.VisualStudio.Debugger.Evaluation.ClrCompilation.DkmClrCompilationResultFlags Microsoft.VisualStudio.Debugger.Evaluation.ClrCompilation.DkmCompiledClrInspectionQuery::get_CompilationFlags()
}
.property instance class Microsoft.VisualStudio.Debugger.Evaluation.ClrCompilation.DkmClrCustomTypeInfo CustomTypeInfo()
{
.get instance class Microsoft.VisualStudio.Debugger.Evaluation.ClrCompilation.DkmClrCustomTypeInfo Microsoft.VisualStudio.Debugger.Evaluation.ClrCompilation.DkmCompiledClrInspectionQuery::get_CustomTypeInfo()
}
.property instance class [System.Runtime]'System.Collections.ObjectModel.ReadOnlyCollection`1'<string> FormatSpecifiers()
{
.get instance class [System.Runtime]'System.Collections.ObjectModel.ReadOnlyCollection`1'<string> Microsoft.VisualStudio.Debugger.Evaluation.ClrCompilation.DkmCompiledClrInspectionQuery::get_FormatSpecifiers()
......@@ -19969,13 +20008,18 @@
{
ret
}
.method public hidebysig specialname
instance class Microsoft.VisualStudio.Debugger.Evaluation.ClrCompilation.DkmClrCustomTypeInfo get_CustomTypeInfo()
{
ret
}
.method public hidebysig specialname
instance valuetype [System.Runtime]System.Guid get_UniqueId()
{
ret
}
.method public static hidebysig
class Microsoft.VisualStudio.Debugger.Evaluation.ClrCompilation.DkmCompiledClrLocalsQuery Create(class Microsoft.VisualStudio.Debugger.DkmRuntimeInstance RuntimeInstance, class Microsoft.VisualStudio.Debugger.Evaluation.DkmCustomDataContainer DataContainer, valuetype Microsoft.VisualStudio.Debugger.Evaluation.DkmCompilerId LanguageId, class [System.Runtime]'System.Collections.ObjectModel.ReadOnlyCollection`1'<uint8> Binary, string TypeName, class [System.Runtime]'System.Collections.ObjectModel.ReadOnlyCollection`1'<class Microsoft.VisualStudio.Debugger.Evaluation.ClrCompilation.DkmClrLocalVariableInfo> LocalInfo)
class Microsoft.VisualStudio.Debugger.Evaluation.ClrCompilation.DkmCompiledClrLocalsQuery Create(class Microsoft.VisualStudio.Debugger.DkmRuntimeInstance RuntimeInstance, class Microsoft.VisualStudio.Debugger.Evaluation.DkmCustomDataContainer DataContainer, valuetype Microsoft.VisualStudio.Debugger.Evaluation.DkmCompilerId LanguageId, class [System.Runtime]'System.Collections.ObjectModel.ReadOnlyCollection`1'<uint8> Binary, string TypeName, class [System.Runtime]'System.Collections.ObjectModel.ReadOnlyCollection`1'<class Microsoft.VisualStudio.Debugger.Evaluation.ClrCompilation.DkmClrLocalVariableInfo> LocalInfo, class Microsoft.VisualStudio.Debugger.Evaluation.ClrCompilation.DkmClrCustomTypeInfo CustomTypeInfo)
{
.custom instance void [System.Runtime]System.Security.SecuritySafeCriticalAttribute::.ctor() = { }
ret
......@@ -19990,6 +20034,10 @@
{
.get instance class [System.Runtime]'System.Collections.ObjectModel.ReadOnlyCollection`1'<uint8> Microsoft.VisualStudio.Debugger.Evaluation.ClrCompilation.DkmCompiledClrLocalsQuery::get_Binary()
}
.property instance class Microsoft.VisualStudio.Debugger.Evaluation.ClrCompilation.DkmClrCustomTypeInfo CustomTypeInfo()
{
.get instance class Microsoft.VisualStudio.Debugger.Evaluation.ClrCompilation.DkmClrCustomTypeInfo Microsoft.VisualStudio.Debugger.Evaluation.ClrCompilation.DkmCompiledClrLocalsQuery::get_CustomTypeInfo()
}
.property instance class [System.Runtime]'System.Collections.ObjectModel.ReadOnlyCollection`1'<class Microsoft.VisualStudio.Debugger.Evaluation.ClrCompilation.DkmClrLocalVariableInfo> LocalInfo()
{
.get instance class [System.Runtime]'System.Collections.ObjectModel.ReadOnlyCollection`1'<class Microsoft.VisualStudio.Debugger.Evaluation.ClrCompilation.DkmClrLocalVariableInfo> Microsoft.VisualStudio.Debugger.Evaluation.ClrCompilation.DkmCompiledClrLocalsQuery::get_LocalInfo()
.assembly extern System.Core
{
.publickeytoken = (B7 7A 5C 56 19 34 E0 89)
.ver 3:5:0:0
}
.assembly extern mscorlib
{
.publickeytoken = (B7 7A 5C 56 19 34 E0 89)
......@@ -5,6 +10,7 @@
}
.assembly Microsoft.VisualStudio.Debugger.Metadata
{
.custom instance void [System.Core]System.Runtime.CompilerServices.ExtensionAttribute::.ctor() = { }
.custom instance void [mscorlib]System.CLSCompliantAttribute::.ctor(bool) = { bool(false) }
.custom instance void [mscorlib]System.Runtime.CompilerServices.InternalsVisibleToAttribute::.ctor(string) = { string('vsdebugeng.manimpl, PublicKey=002400000480000094000000060200000024000052534131000400000100010007d1fa57c4aed9f0a32e84aa0faefd0de9e8fd6aec8f87fb03766c834c99921eb23be79ad9d5dcc1dd9ad236132102900b723cf980957fc4e177108fc607774f29e8320e92ea05ece4e821c0a5efe8f1645c4c0c93c1ab99285d622caa652c1dfad63d745d6f2de5f17e5eaf0fc4963d261c8a12436518206dc093344d5ad293') }
.custom instance void [mscorlib]System.Runtime.CompilerServices.InternalsVisibleToAttribute::.ctor(string) = { string('Microsoft.VisualStudio.VIL, PublicKey=002400000480000094000000060200000024000052534131000400000100010007d1fa57c4aed9f0a32e84aa0faefd0de9e8fd6aec8f87fb03766c834c99921eb23be79ad9d5dcc1dd9ad236132102900b723cf980957fc4e177108fc607774f29e8320e92ea05ece4e821c0a5efe8f1645c4c0c93c1ab99285d622caa652c1dfad63d745d6f2de5f17e5eaf0fc4963d261c8a12436518206dc093344d5ad293') }
......@@ -4165,6 +4171,17 @@
.field static public literal valuetype Microsoft.VisualStudio.Debugger.Metadata.TypeCode UInt32 = int32(0x0000000A)
.field static public literal valuetype Microsoft.VisualStudio.Debugger.Metadata.TypeCode UInt64 = int32(0x0000000C)
}
.class public abstract sealed TypeExtensions
extends [mscorlib]System.Object
{
.custom instance void [System.Core]System.Runtime.CompilerServices.ExtensionAttribute::.ctor() = { }
.method public static hidebysig
class [mscorlib]System.Type GetTypeInfo(class [mscorlib]System.Type 'type')
{
.custom instance void [System.Core]System.Runtime.CompilerServices.ExtensionAttribute::.ctor() = { }
ret
}
}
.class public sealed TypeFilter
extends [mscorlib]System.MulticastDelegate
{
......
......@@ -3828,6 +3828,15 @@
.field static public literal valuetype 'Microsoft.VisualStudio.Debugger.Metadata'.'TypeCode' 'UInt32' = int32(0x0000000A)
.field static public literal valuetype 'Microsoft.VisualStudio.Debugger.Metadata'.'TypeCode' 'UInt64' = int32(0x0000000C)
}
.class public abstract sealed 'TypeExtensions'
extends ['System.Runtime']'System'.'Object'
{
.method public static hidebysig
class ['System.Reflection']'System.Reflection'.'TypeInfo' 'GetTypeInfo'(class ['System.Runtime']'System'.'Type' 'type')
{
ret
}
}
.class public sealed 'TypeFilter'
extends ['System.Runtime']'System'.'MulticastDelegate'
{
......
......@@ -154,7 +154,8 @@ internal static object GetSymReader(this DkmClrModuleInstance clrModule)
ResultCategory: resultProperties.Category,
Access: resultProperties.AccessType,
StorageType: resultProperties.StorageType,
TypeModifierFlags: resultProperties.ModifierFlags);
TypeModifierFlags: resultProperties.ModifierFlags,
CustomTypeInfo: null);
}
internal static ResultProperties GetResultProperties<TSymbol>(this TSymbol symbol, DkmClrCompilationResultFlags flags, bool isConstant)
......
......@@ -56,7 +56,7 @@ static ExpressionCompiler()
return new GetLocalsResult(typeName, locals, assembly);
},
out error);
return DkmCompiledClrLocalsQuery.Create(runtimeInstance, null, this.CompilerId, r.Assembly, r.TypeName, r.Locals);
return DkmCompiledClrLocalsQuery.Create(runtimeInstance, null, this.CompilerId, r.Assembly, r.TypeName, r.Locals, CustomTypeInfo: null);
}
catch (Exception e) when (ExpressionEvaluatorFatalError.CrashIfFailFastEnabled(e))
{
......
......@@ -64,7 +64,7 @@ private EvalResultDataItem GetRow(ResultProvider resultProvider, DkmInspectionCo
declaredType: typeArgument,
parent: parent,
value: value,
displayValue: inspectionContext.GetTypeName(DkmClrType.Create(value.Type.AppDomain, typeArgument), formatSpecifiers),
displayValue: inspectionContext.GetTypeName(DkmClrType.Create(value.Type.AppDomain, typeArgument), formatSpecifiers, CustomTypeInfo: null),
expansion: null,
childShouldParenthesize: false,
fullName: null,
......
......@@ -104,7 +104,7 @@ internal string GetValueString(DkmClrValue value, DkmInspectionContext inspectio
// (Tools > Options setting) and call "value.ToString()" if appropriate.
return IncludeObjectId(
value,
string.Format(_defaultFormat, value.EvaluateToString(inspectionContext) ?? inspectionContext.GetTypeName(value.Type, Formatter.NoFormatSpecifiers)),
string.Format(_defaultFormat, value.EvaluateToString(inspectionContext) ?? inspectionContext.GetTypeName(value.Type, Formatter.NoFormatSpecifiers, CustomTypeInfo: null)),
flags);
}
......
......@@ -36,7 +36,7 @@ string IDkmClrFormatter.GetValueString(DkmClrValue value, DkmInspectionContext i
return GetValueString(value, inspectionContext, options, GetValueFlags.IncludeObjectId);
}
string IDkmClrFormatter.GetTypeName(DkmInspectionContext inspectionContext, DkmClrType type, ReadOnlyCollection<string> formatSpecifiers)
string IDkmClrFormatter.GetTypeName(DkmInspectionContext inspectionContext, DkmClrType type, ReadOnlyCollection<string> formatSpecifiers, DkmClrCustomTypeInfo CustomTypeInfo)
{
return GetTypeName(type.GetLmrType());
}
......
......@@ -39,7 +39,7 @@ internal ResultProvider(Formatter formatter)
this.Formatter = formatter;
}
void IDkmClrResultProvider.GetResult(DkmClrValue value, DkmWorkList workList, DkmClrType declaredType, DkmInspectionContext inspectionContext, ReadOnlyCollection<string> formatSpecifiers, string resultName, string resultFullName, DkmCompletionRoutine<DkmEvaluationAsyncResult> completionRoutine)
void IDkmClrResultProvider.GetResult(DkmClrValue value, DkmWorkList workList, DkmClrType declaredType, DkmInspectionContext inspectionContext, ReadOnlyCollection<string> formatSpecifiers, DkmClrCustomTypeInfo customTypeInfo, string resultName, string resultFullName, DkmCompletionRoutine<DkmEvaluationAsyncResult> completionRoutine)
{
// TODO: Use full name
var wl = new WorkList(workList, e => completionRoutine(DkmEvaluationAsyncResult.CreateErrorResult(e)));
......@@ -284,9 +284,9 @@ private static string GetTypeName(DkmInspectionContext inspectionContext, DkmClr
!declaredLmrType.IsPointer &&
(kind != ExpansionKind.PointerDereference) &&
(!declaredLmrType.IsNullable() || value.EvalFlags.Includes(DkmEvaluationResultFlags.ExceptionThrown));
var declaredTypeName = inspectionContext.GetTypeName(declaredType, Formatter.NoFormatSpecifiers);
var declaredTypeName = inspectionContext.GetTypeName(declaredType, Formatter.NoFormatSpecifiers, CustomTypeInfo: null);
return includeRuntimeTypeName ?
string.Format("{0} {{{1}}}", declaredTypeName, inspectionContext.GetTypeName(runtimeType, Formatter.NoFormatSpecifiers)) :
string.Format("{0} {{{1}}}", declaredTypeName, inspectionContext.GetTypeName(runtimeType, Formatter.NoFormatSpecifiers, CustomTypeInfo: null)) :
declaredTypeName;
}
......
// Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
#region Assembly Microsoft.VisualStudio.Debugger.Engine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
// References\Debugger\v2.0\Microsoft.VisualStudio.Debugger.Engine.dll
#endregion
using System;
using System.Collections.ObjectModel;
namespace Microsoft.VisualStudio.Debugger.Evaluation.ClrCompilation
{
public class DkmClrCustomTypeInfo
{
public readonly Guid PayloadTypeId;
public readonly ReadOnlyCollection<byte> Payload;
public DkmClrCustomTypeInfo(Guid payloadTypeId, ReadOnlyCollection<byte> payload)
{
PayloadTypeId = payloadTypeId;
Payload = payload;
}
}
}
......@@ -9,6 +9,7 @@
using System.Runtime.InteropServices;
using Microsoft.VisualStudio.Debugger.Clr;
using Microsoft.VisualStudio.Debugger.ComponentInterfaces;
using Microsoft.VisualStudio.Debugger.Evaluation.ClrCompilation;
namespace Microsoft.VisualStudio.Debugger.Evaluation
{
......@@ -37,10 +38,10 @@ internal DkmInspectionContext(IDkmClrFormatter formatter, DkmEvaluationFlags eva
// '16' and '10'.
public readonly uint Radix;
public string GetTypeName(DkmClrType clrType, ReadOnlyCollection<string> formatSpecifiers)
public string GetTypeName(DkmClrType clrType, ReadOnlyCollection<string> formatSpecifiers, DkmClrCustomTypeInfo CustomTypeInfo)
{
// The real version does some sort of dynamic dispatch that ultimately calls this method.
return _formatter.GetTypeName(this, clrType, formatSpecifiers);
return _formatter.GetTypeName(this, clrType, formatSpecifiers, customTypeInfo: null);
}
}
}
......@@ -13,7 +13,7 @@ namespace Microsoft.VisualStudio.Debugger.ComponentInterfaces
{
public interface IDkmClrFormatter
{
string GetTypeName(DkmInspectionContext inspectionContext, DkmClrType clrType, ReadOnlyCollection<string> formatSpecifiers);
string GetTypeName(DkmInspectionContext inspectionContext, DkmClrType clrType, ReadOnlyCollection<string> formatSpecifiers, DkmClrCustomTypeInfo customTypeInfo);
string GetUnderlyingString(DkmClrValue clrValue, DkmInspectionContext inspectionContext);
string GetValueString(DkmClrValue clrValue, DkmInspectionContext inspectionContext, ReadOnlyCollection<string> formatSpecifiers);
bool HasUnderlyingString(DkmClrValue clrValue, DkmInspectionContext inspectionContext);
......
......@@ -13,7 +13,7 @@ namespace Microsoft.VisualStudio.Debugger.ComponentInterfaces
{
public interface IDkmClrResultProvider
{
void GetResult(DkmClrValue clrValue, DkmWorkList workList, DkmClrType declaredType, DkmInspectionContext inspectionContext, ReadOnlyCollection<string> formatSpecifiers, string resultName, string resultFullName, DkmCompletionRoutine<DkmEvaluationAsyncResult> completionRoutine);
void GetResult(DkmClrValue clrValue, DkmWorkList workList, DkmClrType declaredType, DkmInspectionContext inspectionContext, ReadOnlyCollection<string> formatSpecifiers, DkmClrCustomTypeInfo customTypeInfo, string resultName, string resultFullName, DkmCompletionRoutine<DkmEvaluationAsyncResult> completionRoutine);
void GetChildren(DkmEvaluationResult evaluationResult, DkmWorkList workList, int initialRequestSize, DkmInspectionContext inspectionContext, DkmCompletionRoutine<DkmGetChildrenAsyncResult> completionRoutine);
void GetItems(DkmEvaluationResultEnumContext enumContext, DkmWorkList workList, int startIndex, int count, DkmCompletionRoutine<DkmEvaluationEnumAsyncResult> completionRoutine);
string GetUnderlyingString(DkmEvaluationResult result);
......
......@@ -162,6 +162,7 @@ internal DkmEvaluationResult FormatResult(string name, string fullName, DkmClrVa
declaredType: declaredType ?? value.Type,
inspectionContext: inspectionContext ?? DefaultInspectionContext,
formatSpecifiers: Formatter.NoFormatSpecifiers,
customTypeInfo: null,
resultName: name,
resultFullName: null,
completionRoutine: asyncResult => evaluationResult = asyncResult.Result);
......
......@@ -85,6 +85,7 @@
</Compile>
</ItemGroup>
<ItemGroup>
<Compile Include="Debugger\Engine\DkmClrCustomTypeInfo.cs" />
<Compile Include="Debugger\Engine\DkmCompilerId.cs" />
<Compile Include="Debugger\Engine\DkmContinueCorruptingException.cs" />
<Compile Include="Debugger\Engine\DkmEngineSettings.cs" />
......
......@@ -26,7 +26,7 @@ Namespace Microsoft.CodeAnalysis.VisualBasic.ExpressionEvaluator
staticMembersString:=Resources.SharedMembers)
End Sub
Private Function IDkmClrFormatter_GetTypeName(inspectionContext As DkmInspectionContext, clrType As DkmClrType, formatSpecifiers As ReadOnlyCollection(Of String)) As String Implements IDkmClrFormatter.GetTypeName
Private Function IDkmClrFormatter_GetTypeName(inspectionContext As DkmInspectionContext, clrType As DkmClrType, formatSpecifiers As ReadOnlyCollection(Of String), customTypeInfo As DkmClrCustomTypeInfo) As String Implements IDkmClrFormatter.GetTypeName
Return GetTypeName(clrType.GetLmrType())
End Function
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册