/// <summary> /// Get the variable assignment expression as a string. Returns null if the value is /// constant or invalid. /// </summary> public static string GetVariableAssignExpression(this RemoteValue remoteValue) { var valueType = remoteValue.GetValueType(); if (valueType == ValueType.Invalid) { return(null); } if (valueType == ValueType.Register) { return($"${remoteValue.GetName()}"); } TypeFlags?typeFlags = remoteValue.GetTypeInfo()?.GetTypeFlags(); if (typeFlags.HasValue && typeFlags.Value.HasFlag(TypeFlags.IS_ARRAY)) { return(null); } string variableExpression = remoteValue.GetFullName(); if (variableExpression == null) { variableExpression = remoteValue.GetMemoryAddressAssignExpression(); } return(variableExpression); }