Function: ede-expand-filename-impl
ede-expand-filename-impl is a byte-compiled function defined in
files.el.gz.
Signature
(ede-expand-filename-impl ARG &rest ARGS)
Implementations
((proj ede-linux-project) name) in `ede/linux.el'.
Within this project PROJ, find the file NAME. Knows about how the Linux source tree is organized.
((proj ede-cpp-root-project) name) in `ede/cpp-root.el'.
Within this project PROJ, find the file NAME. This knows details about or source tree.
((this ede-project) filename &optional force) in `ede/files.el'.
Return a fully qualified file name based on project THIS. FILENAME should be just a filename which occurs in a directory controlled by this project. Optional argument FORCE forces the default filename to be provided even if it doesn't exist.
Source Code
;; Defined in /usr/src/emacs/lisp/cedet/ede/files.el.gz
(cl-defmethod ede-expand-filename-impl ((this ede-project) filename &optional _force)
"Return a fully qualified file name based on project THIS.
FILENAME should be just a filename which occurs in a directory controlled
by this project.
Optional argument FORCE forces the default filename to be provided even if it
doesn't exist."
(let ((loc (ede-get-locator-object this))
;; (path (ede-project-root-directory this))
;; (proj (oref this subproj))
(found nil))
;; find it Locally.
(setq found (or (ede-expand-filename-local this filename)
(ede-expand-filename-impl-via-subproj this filename)))
;; Use an external locate tool.
(when (not found)
(require 'ede/locate)
(setq found (car (ede-locate-file-in-project loc filename))))
;; Return it
found))