classdef (Hidden = true) CodeInfoProject < handle
%CODEINFOPROJECT A framework for interacting with CodeInfo
%
%   This is an undocumented class. Its methods and properties are likely to
%   change without warning from one release to the next.

%   Copyright 2010-2018 The MathWorks, Inc.

    % properties
    properties (SetAccess = 'private', GetAccess = 'protected')
        codeInfoUtils;
        codeInfo;                
    end        
    
    methods
        % constructor
        function this = CodeInfoProject(codeInfoUtils)
            narginchk(1, 1);
            % validate arg            
            rtw.connectivity.Utils.validateArg(codeInfoUtils, ...
                'rtw.connectivity.CodeInfoUtils');                                  
            % store codeInfoUtils
            this.codeInfoUtils = codeInfoUtils;
            % store codeInfo
            this.codeInfo = codeInfoUtils.getCodeInfo;            
        end
        
        % accessor for CodeInfo
        function codeInfo = getCodeInfo(this)
            codeInfo = this.codeInfo;
        end
        
        % accessor for CodeInfoUtils
        function codeInfoUtils = getCodeInfoUtils(this)
            codeInfoUtils = this.codeInfoUtils;
        end                
    end
end
