Skip to content

Commit 61c21f1

Browse files
authored
Update class generator to skip setting inherited properties in subclass constructor (#721)
* Update class generator to skip setting inherited properties in subclass constructor * Update class generator to skip setting inherited properties in subclass constructor
1 parent da1aa27 commit 61c21f1

37 files changed

+8
-126
lines changed

+file/fillClass.m

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -148,7 +148,8 @@
148148
defaults,... %all defaults, regardless of inheritance
149149
classprops,...
150150
namespace, ...
151-
superClassProps);
151+
superClassProps, ...
152+
inherited);
152153
setterFcns = file.fillSetters(setdiff(nonInherited, union(readonly, hiddenAndReadonly)), classprops);
153154
validatorFcns = file.fillValidators(allProperties, classprops, namespace, namespace.getFullClassName(name), inherited);
154155
exporterFcns = file.fillExport(nonInherited, class, depnm, required);

+file/fillConstructor.m

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
function functionString = fillConstructor(name, parentname, defaults, props, namespace, superClassProps)
1+
function functionString = fillConstructor(name, parentname, defaults, props, namespace, superClassProps, inherited)
22
caps = upper(name);
33
functionBody = ['% ' caps ' - Constructor for ' name];
44

@@ -7,7 +7,7 @@
77
functionBody = [functionBody newline() docString];
88
end
99

10-
bodyString = fillBody(parentname, defaults, props, namespace);
10+
bodyString = fillBody(parentname, defaults, props, namespace, inherited);
1111
if ~isempty(bodyString)
1212
functionBody = [functionBody newline() bodyString];
1313
end
@@ -30,7 +30,8 @@
3030
'end'}, newline());
3131
end
3232

33-
function bodystr = fillBody(parentName, defaults, props, namespace)
33+
function bodystr = fillBody(parentName, defaults, props, namespace, inherited)
34+
3435
if isempty(defaults)
3536
bodystr = '';
3637
else
@@ -153,6 +154,8 @@
153154
'p.StructExpand = false;'};
154155

155156
names = names(~dynamicConstrained & ~isAnonymousType);
157+
names = setdiff(names, inherited, 'stable');
158+
156159
defaults = cell(size(names));
157160
for i=1:length(names)
158161
prop = props(names{i});

+types/+core/AbstractFeatureSeries.m

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -65,13 +65,9 @@
6565
p.KeepUnmatched = true;
6666
p.PartialMatching = false;
6767
p.StructExpand = false;
68-
addParameter(p, 'data',[]);
69-
addParameter(p, 'data_unit',[]);
7068
addParameter(p, 'feature_units',[]);
7169
addParameter(p, 'features',[]);
7270
misc.parseSkipInvalidName(p, varargin);
73-
obj.data = p.Results.data;
74-
obj.data_unit = p.Results.data_unit;
7571
obj.feature_units = p.Results.feature_units;
7672
obj.features = p.Results.features;
7773
if strcmp(class(obj), 'types.core.AbstractFeatureSeries')

+types/+core/AnnotationSeries.m

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -49,13 +49,7 @@
4949
p.KeepUnmatched = true;
5050
p.PartialMatching = false;
5151
p.StructExpand = false;
52-
addParameter(p, 'data',[]);
53-
addParameter(p, 'data_resolution',[]);
54-
addParameter(p, 'data_unit',[]);
5552
misc.parseSkipInvalidName(p, varargin);
56-
obj.data = p.Results.data;
57-
obj.data_resolution = p.Results.data_resolution;
58-
obj.data_unit = p.Results.data_unit;
5953
if strcmp(class(obj), 'types.core.AnnotationSeries')
6054
cellStringArguments = convertContainedStringsToChars(varargin(1:2:end));
6155
types.util.checkUnset(obj, unique(cellStringArguments));

+types/+core/CurrentClampSeries.m

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -74,14 +74,10 @@
7474
addParameter(p, 'bias_current',[]);
7575
addParameter(p, 'bridge_balance',[]);
7676
addParameter(p, 'capacitance_compensation',[]);
77-
addParameter(p, 'data',[]);
78-
addParameter(p, 'data_unit',[]);
7977
misc.parseSkipInvalidName(p, varargin);
8078
obj.bias_current = p.Results.bias_current;
8179
obj.bridge_balance = p.Results.bridge_balance;
8280
obj.capacitance_compensation = p.Results.capacitance_compensation;
83-
obj.data = p.Results.data;
84-
obj.data_unit = p.Results.data_unit;
8581
if strcmp(class(obj), 'types.core.CurrentClampSeries')
8682
cellStringArguments = convertContainedStringsToChars(varargin(1:2:end));
8783
types.util.checkUnset(obj, unique(cellStringArguments));

+types/+core/CurrentClampStimulusSeries.m

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -59,11 +59,7 @@
5959
p.KeepUnmatched = true;
6060
p.PartialMatching = false;
6161
p.StructExpand = false;
62-
addParameter(p, 'data',[]);
63-
addParameter(p, 'data_unit',[]);
6462
misc.parseSkipInvalidName(p, varargin);
65-
obj.data = p.Results.data;
66-
obj.data_unit = p.Results.data_unit;
6763
if strcmp(class(obj), 'types.core.CurrentClampStimulusSeries')
6864
cellStringArguments = convertContainedStringsToChars(varargin(1:2:end));
6965
types.util.checkUnset(obj, unique(cellStringArguments));

+types/+core/DecompositionSeries.m

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -72,15 +72,11 @@
7272
p.PartialMatching = false;
7373
p.StructExpand = false;
7474
addParameter(p, 'bands',[]);
75-
addParameter(p, 'data',[]);
76-
addParameter(p, 'data_unit',[]);
7775
addParameter(p, 'metric',[]);
7876
addParameter(p, 'source_channels',[]);
7977
addParameter(p, 'source_timeseries',[]);
8078
misc.parseSkipInvalidName(p, varargin);
8179
obj.bands = p.Results.bands;
82-
obj.data = p.Results.data;
83-
obj.data_unit = p.Results.data_unit;
8480
obj.metric = p.Results.metric;
8581
obj.source_channels = p.Results.source_channels;
8682
obj.source_timeseries = p.Results.source_timeseries;

+types/+core/ElectricalSeries.m

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -72,15 +72,11 @@
7272
p.StructExpand = false;
7373
addParameter(p, 'channel_conversion',[]);
7474
addParameter(p, 'channel_conversion_axis',[]);
75-
addParameter(p, 'data',[]);
76-
addParameter(p, 'data_unit',[]);
7775
addParameter(p, 'electrodes',[]);
7876
addParameter(p, 'filtering',[]);
7977
misc.parseSkipInvalidName(p, varargin);
8078
obj.channel_conversion = p.Results.channel_conversion;
8179
obj.channel_conversion_axis = p.Results.channel_conversion_axis;
82-
obj.data = p.Results.data;
83-
obj.data_unit = p.Results.data_unit;
8480
obj.electrodes = p.Results.electrodes;
8581
obj.filtering = p.Results.filtering;
8682
if strcmp(class(obj), 'types.core.ElectricalSeries')

+types/+core/GrayscaleImage.m

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,9 +32,7 @@
3232
p.KeepUnmatched = true;
3333
p.PartialMatching = false;
3434
p.StructExpand = false;
35-
addParameter(p, 'data',[]);
3635
misc.parseSkipInvalidName(p, varargin);
37-
obj.data = p.Results.data;
3836
if strcmp(class(obj), 'types.core.GrayscaleImage')
3937
cellStringArguments = convertContainedStringsToChars(varargin(1:2:end));
4038
types.util.checkUnset(obj, unique(cellStringArguments));

+types/+core/IZeroClampSeries.m

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -57,15 +57,7 @@
5757
p.KeepUnmatched = true;
5858
p.PartialMatching = false;
5959
p.StructExpand = false;
60-
addParameter(p, 'bias_current',[]);
61-
addParameter(p, 'bridge_balance',[]);
62-
addParameter(p, 'capacitance_compensation',[]);
63-
addParameter(p, 'stimulus_description',[]);
6460
misc.parseSkipInvalidName(p, varargin);
65-
obj.bias_current = p.Results.bias_current;
66-
obj.bridge_balance = p.Results.bridge_balance;
67-
obj.capacitance_compensation = p.Results.capacitance_compensation;
68-
obj.stimulus_description = p.Results.stimulus_description;
6961
if strcmp(class(obj), 'types.core.IZeroClampSeries')
7062
cellStringArguments = convertContainedStringsToChars(varargin(1:2:end));
7163
types.util.checkUnset(obj, unique(cellStringArguments));

+types/+core/Image.m

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,11 +37,9 @@
3737
p.KeepUnmatched = true;
3838
p.PartialMatching = false;
3939
p.StructExpand = false;
40-
addParameter(p, 'data',[]);
4140
addParameter(p, 'description',[]);
4241
addParameter(p, 'resolution',[]);
4342
misc.parseSkipInvalidName(p, varargin);
44-
obj.data = p.Results.data;
4543
obj.description = p.Results.description;
4644
obj.resolution = p.Results.resolution;
4745
if strcmp(class(obj), 'types.core.Image')

+types/+core/ImageReferences.m

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,9 +28,7 @@
2828
p.KeepUnmatched = true;
2929
p.PartialMatching = false;
3030
p.StructExpand = false;
31-
addParameter(p, 'data',[]);
3231
misc.parseSkipInvalidName(p, varargin);
33-
obj.data = p.Results.data;
3432
if strcmp(class(obj), 'types.core.ImageReferences')
3533
cellStringArguments = convertContainedStringsToChars(varargin(1:2:end));
3634
types.util.checkUnset(obj, unique(cellStringArguments));

+types/+core/ImageSeries.m

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -70,14 +70,12 @@
7070
p.KeepUnmatched = true;
7171
p.PartialMatching = false;
7272
p.StructExpand = false;
73-
addParameter(p, 'data',[]);
7473
addParameter(p, 'device',[]);
7574
addParameter(p, 'dimension',[]);
7675
addParameter(p, 'external_file',[]);
7776
addParameter(p, 'external_file_starting_frame',[]);
7877
addParameter(p, 'format',[]);
7978
misc.parseSkipInvalidName(p, varargin);
80-
obj.data = p.Results.data;
8179
obj.device = p.Results.device;
8280
obj.dimension = p.Results.dimension;
8381
obj.external_file = p.Results.external_file;

+types/+core/IndexSeries.m

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -60,19 +60,9 @@
6060
p.KeepUnmatched = true;
6161
p.PartialMatching = false;
6262
p.StructExpand = false;
63-
addParameter(p, 'data',[]);
64-
addParameter(p, 'data_conversion',[]);
65-
addParameter(p, 'data_offset',[]);
66-
addParameter(p, 'data_resolution',[]);
67-
addParameter(p, 'data_unit',[]);
6863
addParameter(p, 'indexed_images',[]);
6964
addParameter(p, 'indexed_timeseries',[]);
7065
misc.parseSkipInvalidName(p, varargin);
71-
obj.data = p.Results.data;
72-
obj.data_conversion = p.Results.data_conversion;
73-
obj.data_offset = p.Results.data_offset;
74-
obj.data_resolution = p.Results.data_resolution;
75-
obj.data_unit = p.Results.data_unit;
7666
obj.indexed_images = p.Results.indexed_images;
7767
obj.indexed_timeseries = p.Results.indexed_timeseries;
7868
if strcmp(class(obj), 'types.core.IndexSeries')

+types/+core/IntervalSeries.m

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -49,13 +49,7 @@
4949
p.KeepUnmatched = true;
5050
p.PartialMatching = false;
5151
p.StructExpand = false;
52-
addParameter(p, 'data',[]);
53-
addParameter(p, 'data_resolution',[]);
54-
addParameter(p, 'data_unit',[]);
5552
misc.parseSkipInvalidName(p, varargin);
56-
obj.data = p.Results.data;
57-
obj.data_resolution = p.Results.data_resolution;
58-
obj.data_unit = p.Results.data_unit;
5953
if strcmp(class(obj), 'types.core.IntervalSeries')
6054
cellStringArguments = convertContainedStringsToChars(varargin(1:2:end));
6155
types.util.checkUnset(obj, unique(cellStringArguments));

+types/+core/IntracellularElectrodesTable.m

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,10 +39,8 @@
3939
p.KeepUnmatched = true;
4040
p.PartialMatching = false;
4141
p.StructExpand = false;
42-
addParameter(p, 'description',[]);
4342
addParameter(p, 'electrode',[]);
4443
misc.parseSkipInvalidName(p, varargin);
45-
obj.description = p.Results.description;
4644
obj.electrode = p.Results.electrode;
4745
if strcmp(class(obj), 'types.core.IntracellularElectrodesTable')
4846
cellStringArguments = convertContainedStringsToChars(varargin(1:2:end));

+types/+core/IntracellularRecordingsTable.m

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -49,12 +49,10 @@
4949
p.KeepUnmatched = true;
5050
p.PartialMatching = false;
5151
p.StructExpand = false;
52-
addParameter(p, 'description',[]);
5352
addParameter(p, 'electrodes',[]);
5453
addParameter(p, 'responses',[]);
5554
addParameter(p, 'stimuli',[]);
5655
misc.parseSkipInvalidName(p, varargin);
57-
obj.description = p.Results.description;
5856
obj.electrodes = p.Results.electrodes;
5957
obj.responses = p.Results.responses;
6058
obj.stimuli = p.Results.stimuli;

+types/+core/IntracellularResponsesTable.m

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,10 +39,8 @@
3939
p.KeepUnmatched = true;
4040
p.PartialMatching = false;
4141
p.StructExpand = false;
42-
addParameter(p, 'description',[]);
4342
addParameter(p, 'response',[]);
4443
misc.parseSkipInvalidName(p, varargin);
45-
obj.description = p.Results.description;
4644
obj.response = p.Results.response;
4745
if strcmp(class(obj), 'types.core.IntracellularResponsesTable')
4846
cellStringArguments = convertContainedStringsToChars(varargin(1:2:end));

+types/+core/IntracellularStimuliTable.m

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -45,11 +45,9 @@
4545
p.KeepUnmatched = true;
4646
p.PartialMatching = false;
4747
p.StructExpand = false;
48-
addParameter(p, 'description',[]);
4948
addParameter(p, 'stimulus',[]);
5049
addParameter(p, 'stimulus_template',[]);
5150
misc.parseSkipInvalidName(p, varargin);
52-
obj.description = p.Results.description;
5351
obj.stimulus = p.Results.stimulus;
5452
obj.stimulus_template = p.Results.stimulus_template;
5553
if strcmp(class(obj), 'types.core.IntracellularStimuliTable')

+types/+core/NWBData.m

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,9 +28,7 @@
2828
p.KeepUnmatched = true;
2929
p.PartialMatching = false;
3030
p.StructExpand = false;
31-
addParameter(p, 'data',[]);
3231
misc.parseSkipInvalidName(p, varargin);
33-
obj.data = p.Results.data;
3432
if strcmp(class(obj), 'types.core.NWBData')
3533
cellStringArguments = convertContainedStringsToChars(varargin(1:2:end));
3634
types.util.checkUnset(obj, unique(cellStringArguments));

+types/+core/OpticalSeries.m

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -74,12 +74,10 @@
7474
p.KeepUnmatched = true;
7575
p.PartialMatching = false;
7676
p.StructExpand = false;
77-
addParameter(p, 'data',[]);
7877
addParameter(p, 'distance',[]);
7978
addParameter(p, 'field_of_view',[]);
8079
addParameter(p, 'orientation',[]);
8180
misc.parseSkipInvalidName(p, varargin);
82-
obj.data = p.Results.data;
8381
obj.distance = p.Results.distance;
8482
obj.field_of_view = p.Results.field_of_view;
8583
obj.orientation = p.Results.orientation;

+types/+core/OptogeneticSeries.m

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -57,12 +57,8 @@
5757
p.KeepUnmatched = true;
5858
p.PartialMatching = false;
5959
p.StructExpand = false;
60-
addParameter(p, 'data',[]);
61-
addParameter(p, 'data_unit',[]);
6260
addParameter(p, 'site',[]);
6361
misc.parseSkipInvalidName(p, varargin);
64-
obj.data = p.Results.data;
65-
obj.data_unit = p.Results.data_unit;
6662
obj.site = p.Results.site;
6763
if strcmp(class(obj), 'types.core.OptogeneticSeries')
6864
cellStringArguments = convertContainedStringsToChars(varargin(1:2:end));

+types/+core/PatchClampSeries.m

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -70,15 +70,11 @@
7070
p.KeepUnmatched = true;
7171
p.PartialMatching = false;
7272
p.StructExpand = false;
73-
addParameter(p, 'data',[]);
74-
addParameter(p, 'data_unit',[]);
7573
addParameter(p, 'electrode',[]);
7674
addParameter(p, 'gain',[]);
7775
addParameter(p, 'stimulus_description',[]);
7876
addParameter(p, 'sweep_number',[]);
7977
misc.parseSkipInvalidName(p, varargin);
80-
obj.data = p.Results.data;
81-
obj.data_unit = p.Results.data_unit;
8278
obj.electrode = p.Results.electrode;
8379
obj.gain = p.Results.gain;
8480
obj.stimulus_description = p.Results.stimulus_description;

+types/+core/RGBAImage.m

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,9 +32,7 @@
3232
p.KeepUnmatched = true;
3333
p.PartialMatching = false;
3434
p.StructExpand = false;
35-
addParameter(p, 'data',[]);
3635
misc.parseSkipInvalidName(p, varargin);
37-
obj.data = p.Results.data;
3836
if strcmp(class(obj), 'types.core.RGBAImage')
3937
cellStringArguments = convertContainedStringsToChars(varargin(1:2:end));
4038
types.util.checkUnset(obj, unique(cellStringArguments));

+types/+core/RGBImage.m

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,9 +32,7 @@
3232
p.KeepUnmatched = true;
3333
p.PartialMatching = false;
3434
p.StructExpand = false;
35-
addParameter(p, 'data',[]);
3635
misc.parseSkipInvalidName(p, varargin);
37-
obj.data = p.Results.data;
3836
if strcmp(class(obj), 'types.core.RGBImage')
3937
cellStringArguments = convertContainedStringsToChars(varargin(1:2:end));
4038
types.util.checkUnset(obj, unique(cellStringArguments));

+types/+core/RoiResponseSeries.m

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -58,10 +58,8 @@
5858
p.KeepUnmatched = true;
5959
p.PartialMatching = false;
6060
p.StructExpand = false;
61-
addParameter(p, 'data',[]);
6261
addParameter(p, 'rois',[]);
6362
misc.parseSkipInvalidName(p, varargin);
64-
obj.data = p.Results.data;
6563
obj.rois = p.Results.rois;
6664
if strcmp(class(obj), 'types.core.RoiResponseSeries')
6765
cellStringArguments = convertContainedStringsToChars(varargin(1:2:end));

+types/+core/ScratchData.m

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,10 +34,8 @@
3434
p.KeepUnmatched = true;
3535
p.PartialMatching = false;
3636
p.StructExpand = false;
37-
addParameter(p, 'data',[]);
3837
addParameter(p, 'notes',[]);
3938
misc.parseSkipInvalidName(p, varargin);
40-
obj.data = p.Results.data;
4139
obj.notes = p.Results.notes;
4240
if strcmp(class(obj), 'types.core.ScratchData')
4341
cellStringArguments = convertContainedStringsToChars(varargin(1:2:end));

+types/+core/SpatialSeries.m

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -59,12 +59,8 @@
5959
p.KeepUnmatched = true;
6060
p.PartialMatching = false;
6161
p.StructExpand = false;
62-
addParameter(p, 'data',[]);
63-
addParameter(p, 'data_unit',[]);
6462
addParameter(p, 'reference_frame',[]);
6563
misc.parseSkipInvalidName(p, varargin);
66-
obj.data = p.Results.data;
67-
obj.data_unit = p.Results.data_unit;
6864
obj.reference_frame = p.Results.reference_frame;
6965
if strcmp(class(obj), 'types.core.SpatialSeries')
7066
cellStringArguments = convertContainedStringsToChars(varargin(1:2:end));

+types/+core/SpikeEventSeries.m

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -57,17 +57,7 @@
5757
p.KeepUnmatched = true;
5858
p.PartialMatching = false;
5959
p.StructExpand = false;
60-
addParameter(p, 'data',[]);
61-
addParameter(p, 'data_unit',[]);
62-
addParameter(p, 'timestamps',[]);
63-
addParameter(p, 'timestamps_interval',[]);
64-
addParameter(p, 'timestamps_unit',[]);
6560
misc.parseSkipInvalidName(p, varargin);
66-
obj.data = p.Results.data;
67-
obj.data_unit = p.Results.data_unit;
68-
obj.timestamps = p.Results.timestamps;
69-
obj.timestamps_interval = p.Results.timestamps_interval;
70-
obj.timestamps_unit = p.Results.timestamps_unit;
7161
if strcmp(class(obj), 'types.core.SpikeEventSeries')
7262
cellStringArguments = convertContainedStringsToChars(varargin(1:2:end));
7363
types.util.checkUnset(obj, unique(cellStringArguments));

0 commit comments

Comments
 (0)