Skip to content

Commit 51989de

Browse files
committed
cell dictionary assignment workaround for 22b
1 parent 6e5cb51 commit 51989de

5 files changed

Lines changed: 11 additions & 6 deletions

File tree

‎toolbox/+matlab/+io/+config/+internal/+read/expand.m‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,7 @@
9999
if isempty(meta)
100100
meta = makeDefaultMetadata(format);
101101
end
102-
meta.Keys{cs.Keys(i)} = styleStructToMetadata(cs.KeyStyles{i}, format);
102+
meta.Keys = matlab.io.config.internal.assignCellDictionaryKey(meta.Keys, cs.Keys(i), styleStructToMetadata(cs.KeyStyles{i}, format));
103103
end
104104
end
105105
end

‎toolbox/+matlab/+io/+config/+internal/+write/compact.m‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@
7474

7575
if hasMetadata && ~isa(val, 'matlab.io.config.ConfigurationData') ...
7676
&& isKey(meta.Keys, k(i))
77-
keyStyles{i} = metadataToStyleStruct(meta.Keys{k(i)}, format);
77+
keyStyles{i} = metadataToStyleStruct(matlab.io.config.internal.lookupCellDictionaryKey(meta.Keys, k(i)), format);
7878
end
7979
end
8080

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
function d = assignCellDictionaryKey(d, key, value)
2+
%ASSIGNCELLDICTIONARYKEY Assign a value into a string-to-cell dictionary.
3+
% R2022b dictionaries lack brace indexing; this provides a compatible wrap-and-assign.
4+
d(key) = {value};
5+
end

‎toolbox/+matlab/+io/+config/@ConfigurationData/getformat.m‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@
6060

6161
if ~isempty(currentObj.Metadata) && isConfigured(currentObj.Metadata.Keys) ...
6262
&& isKey(currentObj.Metadata.Keys, resolved)
63-
meta = currentObj.Metadata.Keys{resolved};
63+
meta = matlab.io.config.internal.lookupCellDictionaryKey(currentObj.Metadata.Keys, resolved);
6464
return;
6565
end
6666

‎toolbox/+matlab/+io/+config/@ConfigurationData/setformat.m‎

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -62,11 +62,11 @@
6262
obj.Metadata = makeMetadata(obj);
6363
end
6464
if ~isConfigured(obj.Metadata.Keys) || ~isKey(obj.Metadata.Keys, resolved)
65-
obj.Metadata.Keys{resolved} = makeMetadata(obj);
65+
obj.Metadata.Keys = matlab.io.config.internal.assignCellDictionaryKey(obj.Metadata.Keys, resolved, makeMetadata(obj));
6666
end
67-
meta = obj.Metadata.Keys{resolved};
67+
meta = matlab.io.config.internal.lookupCellDictionaryKey(obj.Metadata.Keys, resolved);
6868
meta = applyProperties(meta, nvargs);
69-
obj.Metadata.Keys{resolved} = meta;
69+
obj.Metadata.Keys = matlab.io.config.internal.assignCellDictionaryKey(obj.Metadata.Keys, resolved, meta);
7070
end
7171

7272
function obj = setNestedKey(obj, parts, nvargs)

0 commit comments

Comments
 (0)