time | Calls | line |
|---|
| | 1 | function value = validateDataType(validation, value, invokeValidation)
|
| | 2 | % Helper function to validate the values contained in the valdiation
|
| | 3 | % struct injected for typed properties
|
| | 4 |
|
| | 5 | % Copyright 2018-2020 The MathWorks, Inc.
|
| | 6 |
|
| | 7 | % avoid creating ValidationHelper object if there is no need
|
0.002 | 12 | 8 | if (isempty(validation.class) || isa(value, validation.class)) && isempty(validation.dimensions) && ~invokeValidation
|
< 0.001 | 8 | 9 | return;
|
< 0.001 | 4 | 10 | end
|
| | 11 |
|
0.015 | 4 | 12 | H = matlab.internal.validation.ValidationHelper(validation);
|
| | 13 |
|
| | 14 | % do class conversion
|
< 0.001 | 4 | 15 | if ~isa(value, H.ClassName)
|
| | 16 | % g1984150 TODO: Change the call to use validateClass.
|
| | 17 | [value, ex] = validateClassForDataTypeUseCase(H, value);
|
| | 18 | if ~isempty(ex)
|
| | 19 | throwAsCaller(ex);
|
| | 20 | end
|
< 0.001 | 4 | 21 | end
|
| | 22 |
|
| | 23 | % do size conversion
|
< 0.001 | 4 | 24 | if ~isempty(H.CodedSize)
|
0.003 | 4 | 25 | [value, ex] = validateSize(H, value);
|
< 0.001 | 4 | 26 | if ~isempty(ex)
|
| | 27 | throwAsCaller(ex);
|
< 0.001 | 4 | 28 | end
|
< 0.001 | 4 | 29 | end
|
| | 30 |
|
| | 31 | % apply validators
|
< 0.001 | 4 | 32 | if invokeValidation
|
| | 33 | ex = validateUsingValidationFunctions(H, value);
|
| | 34 | if ~isempty(ex)
|
| | 35 | throwAsCaller(ex);
|
| | 36 | end
|
< 0.001 | 4 | 37 | end
|
< 0.001 | 4 | 38 | end
|
Other subfunctions in this file are not included in this listing.