You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When you have a folder based class all non static functions are automatically loaded and parsed from the folder. For static classes you, however, still have to define the functions header in the classes main file, the code itself can still be in a separate file. For this definition the static function the function keyword is not present and I think this is what causes the parsing to fail with an error.
Example matlab code:
classdef Test < handle
%TEST Summary of this class goes here
% Detailed explanation goes here
properties
Property1
end
methods
function obj = Test(inputArg1,inputArg2)
end
end
methods(Static)
out = StaticFunction();
end
end
the error you get when building the documentation with auotmodule, autofunction or even autoclass:
WARNING: [sphinxcontrib-matlabdomain] Parsing failed in Classes.@Test.None. Expected "=".
/home/martin/Documents/MedPhys/MATLAB_MRI_Framework/Documentation/source/modules/fitting/concept.rst:5: WARNING: autodoc: failed to import class 'Test' from module 'Classes.@test'; the following exception was raised:
Traceback (most recent call last):
File "/home/martin/miniconda3/envs/mk_sphinx/lib/python3.6/site-packages/sphinxcontrib/mat_documenters.py", line 132, in import_object
obj = self.get_attr(obj, part)
File "/home/martin/miniconda3/envs/mk_sphinx/lib/python3.6/site-packages/sphinx/ext/autodoc/init.py", line 231, in get_attr
return autodoc_attrgetter(self.env.app, obj, name, *defargs)
File "/home/martin/miniconda3/envs/mk_sphinx/lib/python3.6/site-packages/sphinx/ext/autodoc/init.py", line 1444, in autodoc_attrgetter
return func(obj, name, *defargs)
File "/home/martin/miniconda3/envs/mk_sphinx/lib/python3.6/site-packages/sphinxcontrib/mat_types.py", line 413, in getter
attr = MatObject.matlabify('.'.join([self.package, name]))
File "/home/martin/miniconda3/envs/mk_sphinx/lib/python3.6/site-packages/sphinxcontrib/mat_types.py", line 139, in matlabify
return MatObject.parse_mfile(mfile, name, path) # parse mfile
File "/home/martin/miniconda3/envs/mk_sphinx/lib/python3.6/site-packages/sphinxcontrib/mat_types.py", line 185, in parse_mfile
return MatClass(name, modname, tks)
File "/home/martin/miniconda3/envs/mk_sphinx/lib/python3.6/site-packages/sphinxcontrib/mat_types.py", line 971, in init
if not meth.name.split('.')[0] in ['get', 'set']:
AttributeError: 'NoneType' object has no attribute 'split'
The text was updated successfully, but these errors were encountered:
When you have a folder based class all non static functions are automatically loaded and parsed from the folder. For static classes you, however, still have to define the functions header in the classes main file, the code itself can still be in a separate file. For this definition the static function the function keyword is not present and I think this is what causes the parsing to fail with an error.
Example matlab code:
the error you get when building the documentation with auotmodule, autofunction or even autoclass:
The text was updated successfully, but these errors were encountered: