diff --git a/phpinspect-buffer.el b/phpinspect-buffer.el index d894021..70d9a27 100644 --- a/phpinspect-buffer.el +++ b/phpinspect-buffer.el @@ -433,7 +433,8 @@ linked with." (when (and (phpinspect-variable-p (phpinspect-meta-token var)) (not (phpinspect--variable-type indexed))) (setf (phpinspect--variable-type indexed) (phpinspect--class-resolve-property-type - class-obj (cadr (phpinspect-meta-token var)) type-resolver class))) + class-obj (phpinspect-buffer-project buffer) + (cadr (phpinspect-meta-token var)) type-resolver class))) (phpinspect--class-set-variable class-obj indexed) diff --git a/phpinspect-resolve.el b/phpinspect-resolve.el index a2263b6..3af2a33 100644 --- a/phpinspect-resolve.el +++ b/phpinspect-resolve.el @@ -606,14 +606,15 @@ value/type." (cl-defmethod phpinspect--class-resolve-property-type - ((class phpinspect--class) (property-name string) type-resolver class-token-meta) + ((class phpinspect--class) (project phpinspect-project) (property-name string) type-resolver class-token-meta) "Resolve type of POPERTY-NAME in the context of CLASS using CLASS-TOKEN-META as parse result." (let ((pattern (phpinspect--make-pattern :m `(:variable "this") :m `(:object-attrib (:word ,property-name)))) (rctx (phpinspect--make-resolvecontext :enclosing-tokens (list (phpinspect-meta-token class-token-meta)) - :enclosing-metadata (list class-token-meta))) + :enclosing-metadata (list class-token-meta) + :project project)) (constructor-name (phpinspect-intern-name "__construct"))) (or @@ -627,7 +628,7 @@ CLASS-TOKEN-META as parse result." nil)))) (cl-defmethod phpinspect--class-resolve-property-type - ((_class phpinspect--class) property-name &rest _ignored) + ((_class phpinspect--class) (_project phpinspect-project) property-name &rest _ignored) ;; Catch-all for cases where one attempts to resolve a nil property ;; name. Saves an if-statement for the caller. ;; Can't resolve property type when property name is nil, so we do nothing.