Get Dependent Files

版本 1.0.0.0 (4.6 KB) 作者: Mark Brown
This function returns a list of dependent files called by scripts, functions, and classDef files.
615.0 次下载
更新时间 2013/9/4

查看许可证

This function will analyze an input file for all dependent functions. It works with scripts, functions, and classDef files. It also can return any calls to external functions, toolboxes, built-in functions, Java functions, and other unknown functions. The function was developed specifically to handle large object-oriented projects with many class definitions, packages, and associated functions.

Included are methods to find all of the parent functions that call a listed function (or class). It can optionally return a sparse matrix indicating who calls whom.

Finally, a method is provided to find all of the orphans of a folder or class package that are not called by anyone -- so called "orphans".

For use with classes, this function must be called from the parent directory of any package folders, and other folders containing potential files of interest must be on the Matlab path.

Example usage:
% Constructor
D = getDependents('Main.m');

% Return list of all dependent files
w = D.dependentFiles

% Return direct calls made by ProgramManager.m
x = D.whoAreCalledBy('+myPkg\ProgramManager.m')

% Return files that directly call Job.m
y = D.whoCall('+myPkg\Job.m')

% Return orphans in (or below) the +myPkg package
z = D.findOrp('+myPkg')

% Return orphans in (or below) the \utilities folder
z = D.findOrp('utilities')

% List external, toolbox, builtin, Java, and unknown calls
[ex,tb,bi,ja,un] = D.parseCalls('javaProgram.m')

This function will recursively analyze any external functions called by the input rootFile. It does not recursively search toolbox functions, built-in functions, Java functions, or other unknown functions. It does not list other functions or methods within the same input rootFile.

getDependents.m uses undocumented features of Matlab (mtree, mtfind) which may not be available in future releases. Tested successfully with R2010a, R2011a, R2012a, and R2013a.

引用格式

Mark Brown (2024). Get Dependent Files (https://www.mathworks.com/matlabcentral/fileexchange/43370-get-dependent-files), MATLAB Central File Exchange. 检索来源 .

MATLAB 版本兼容性
创建方式 R2010a
兼容任何版本
平台兼容性
Windows macOS Linux
类别
Help CenterMATLAB Answers 中查找有关 Search Path 的更多信息
致谢

启发作品: depeval - check for dependencies

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!
版本 已发布 发行说明
1.0.0.0