Skip to content

Commit 356e01e

Browse files
authored
Fix failing CI after merging 63730 (#67348)
Add sorting by access level in ValueType + check if index exists before accessing element.
1 parent d64b8af commit 356e01e

File tree

2 files changed

+9
-7
lines changed

2 files changed

+9
-7
lines changed

src/mono/wasm/debugger/BrowserDebugProxy/MonoProxy.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -761,7 +761,7 @@ internal async Task<ValueOrError<JToken>> RuntimeGetPropertiesInternal(SessionId
761761
return resValType switch
762762
{
763763
null => ValueOrError<JToken>.WithError($"Could not get properties for {objectId}"),
764-
_ => ValueOrError<JToken>.WithValue(resValType)
764+
_ => ValueOrError<JToken>.WithValue(sortByAccessLevel ? JObject.FromObject(new { result = resValType }) : resValType)
765765
};
766766
}
767767
case "array":

src/mono/wasm/debugger/BrowserDebugProxy/MonoSDBHelper.cs

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1603,8 +1603,8 @@ public async Task<JObject> InvokeMethod(ArraySegment<byte> valueTypeBuffer, int
16031603

16041604
public async Task<JObject> InvokeMethodInObject(DotnetObjectId objectId, int methodId, string varName, CancellationToken token)
16051605
{
1606-
if (objectId.IsValueType)
1607-
return await InvokeMethod(valueTypes[objectId.Value].valueTypeBuffer, methodId, varName, token);
1606+
if (objectId.IsValueType && valueTypes.TryGetValue(objectId.Value, out var valueType))
1607+
return await InvokeMethod(valueType.valueTypeBuffer, methodId, varName, token);
16081608
using var commandParamsObjWriter = new MonoBinaryWriter();
16091609
commandParamsObjWriter.Write(ElementType.Class, objectId.Value);
16101610
return await InvokeMethod(commandParamsObjWriter.GetParameterBuffer(), methodId, varName, token);
@@ -2204,13 +2204,15 @@ public async Task<JArray> StackFrameGetValues(MethodInfoWithDebugInformation met
22042204

22052205
public async Task<JArray> GetValueTypeValues(int valueTypeId, bool accessorPropertiesOnly, CancellationToken token)
22062206
{
2207-
if (valueTypes[valueTypeId].valueTypeJsonProps == null)
2207+
if (!valueTypes.TryGetValue(valueTypeId, out ValueTypeClass valueType))
2208+
return null;
2209+
if (valueType.valueTypeJsonProps == null)
22082210
{
2209-
valueTypes[valueTypeId].valueTypeJsonProps = await GetPropertiesValuesOfValueType(valueTypeId, token);
2211+
valueType.valueTypeJsonProps = await GetPropertiesValuesOfValueType(valueTypeId, token);
22102212
}
22112213
if (accessorPropertiesOnly)
2212-
return valueTypes[valueTypeId].valueTypeJsonProps;
2213-
var ret = new JArray(valueTypes[valueTypeId].valueTypeJson.Union(valueTypes[valueTypeId].valueTypeJsonProps));
2214+
return valueType.valueTypeJsonProps;
2215+
var ret = new JArray(valueType.valueTypeJson.Union(valueType.valueTypeJsonProps));
22142216
return ret;
22152217
}
22162218

0 commit comments

Comments
 (0)