[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/phps-mode 7fa721a85d 060/135: More work on bookkeeping
From: |
Christian Johansson |
Subject: |
[elpa] externals/phps-mode 7fa721a85d 060/135: More work on bookkeeping static class properties |
Date: |
Sun, 29 Jan 2023 03:11:04 -0500 (EST) |
branch: externals/phps-mode
commit 7fa721a85ddb9eefa5db9c89f3cab3dcd7ace3d5
Author: Christian Johansson <christian@cvj.se>
Commit: Christian Johansson <christian@cvj.se>
More work on bookkeeping static class properties
---
phps-mode-parser-sdt.el | 37 ++++++++++++++++++++++++++++++++++++-
1 file changed, 36 insertions(+), 1 deletion(-)
diff --git a/phps-mode-parser-sdt.el b/phps-mode-parser-sdt.el
index ac5fae8afe..8590d2e446 100644
--- a/phps-mode-parser-sdt.el
+++ b/phps-mode-parser-sdt.el
@@ -643,6 +643,18 @@
(t
;; TODO Do something here
))))
+ ((equal space-type 'static-member)
+ (let ((downcased-space-name
+ (downcase space-name)))
+ (cond
+ ((or
+ (string= downcased-space-name "self")
+ (string= downcased-space-name "static"))
+ (setq is-static-p t)
+ (setq function nil))
+ (t
+ ;; TODO Do something here
+ ))))
((equal space-type 'static)
(setq is-static-p t))))))
(if (gethash
@@ -5652,7 +5664,30 @@
;; 512 ((variable) (static_member))
(puthash
512
- (lambda(args _terminals)
+ (lambda(args terminals)
+ (let ((static-member-type
+ (plist-get
+ args
+ 'ast-type)))
+ (cond
+ ((equal static-member-type 'static-member-class-name)
+ (let* ((class-name (plist-get args 'class-name))
+ (class-name-type (plist-get class-name 'ast-type)))
+ (cond
+ ((equal class-name-type 'class-name-name)
+ (let* ((class-name-string (plist-get class-name 'name))
+ (simple-variable (plist-get args 'simple-variable))
+ (simple-variable-type (plist-get simple-variable 'ast-type)))
+ (cond
+ ((equal simple-variable-type 'simple-variable-variable)
+ (let ((simple-variable-name
+ (plist-get simple-variable 'variable))
+ (namespace
+ phps-mode-parser-sdt--bookkeeping-namespace))
+ ;; TODO Should modify stack car instead
+ (push
+ (list 'static-member class-name-string)
+ (nth 1 (car
phps-mode-parser-sdt--bookkeeping-symbol-stack)))))))))))))
`(
ast-type
variable-static-member
- [elpa] externals/phps-mode bddf800099 111/135: Added failing test, (continued)
- [elpa] externals/phps-mode bddf800099 111/135: Added failing test, Christian Johansson, 2023/01/29
- [elpa] externals/phps-mode d98f6d78d8 114/135: Saving symbol-table after parse, Christian Johansson, 2023/01/29
- [elpa] externals/phps-mode 1594c15e9e 117/135: More work on imenu generation, Christian Johansson, 2023/01/29
- [elpa] externals/phps-mode 776c818ff9 121/135: Passing some more imenu tests, Christian Johansson, 2023/01/29
- [elpa] externals/phps-mode c6e4844753 122/135: Some byte-compilation fixes, Christian Johansson, 2023/01/29
- [elpa] externals/phps-mode 96eeff74f8 130/135: Added more todo items for bookkeeping and imenu, Christian Johansson, 2023/01/29
- [elpa] externals/phps-mode 66ad034207 025/135: SDT member_modifier, Christian Johansson, 2023/01/29
- [elpa] externals/phps-mode 34a595fa09 028/135: SDT class_const_list, Christian Johansson, 2023/01/29
- [elpa] externals/phps-mode 1332919417 049/135: Passing another bookkeeping test via SDT, Christian Johansson, 2023/01/29
- [elpa] externals/phps-mode 438ec520fc 051/135: Passing bookkeeping via SDT for conditional assignments, Christian Johansson, 2023/01/29
- [elpa] externals/phps-mode 7fa721a85d 060/135: More work on bookkeeping static class properties,
Christian Johansson <=
- [elpa] externals/phps-mode 0bf9b31fef 062/135: Passed bookkeeping via SDT for try catch variables, Christian Johansson, 2023/01/29
- [elpa] externals/phps-mode 40d7d88fb8 069/135: Work on bookkeeping global variables, Christian Johansson, 2023/01/29
- [elpa] externals/phps-mode a10656fc34 070/135: Passing bookkeeping test for global variables, Christian Johansson, 2023/01/29
- [elpa] externals/phps-mode 9c67facc86 075/135: Work on bookkeeping of class static properties, Christian Johansson, 2023/01/29
- [elpa] externals/phps-mode 39a6fe03ae 079/135: Improved is-varadic and is-reference argument flags, Christian Johansson, 2023/01/29
- [elpa] externals/phps-mode e8a5dbe153 126/135: Fix for trait and interface imenu, Christian Johansson, 2023/01/29
- [elpa] externals/phps-mode 579034d1c6 127/135: Passing imenu test via SDT, Christian Johansson, 2023/01/29
- [elpa] externals/phps-mode fb9a181135 088/135: Passed more bookkeeping tsts, Christian Johansson, 2023/01/29
- [elpa] externals/phps-mode e6bc401d0b 068/135: Work on improving test for global variable bookkeeping, Christian Johansson, 2023/01/29
- [elpa] externals/phps-mode 4949daefd9 101/135: Passing another SDT imenu test, Christian Johansson, 2023/01/29