[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/phps-mode fb42b49970 044/135: Added more TODO items
From: |
Christian Johansson |
Subject: |
[elpa] externals/phps-mode fb42b49970 044/135: Added more TODO items |
Date: |
Sun, 29 Jan 2023 03:11:02 -0500 (EST) |
branch: externals/phps-mode
commit fb42b49970c7bcd105dac4a67ea36181c70d5f51
Author: Christian Johansson <christian@cvj.se>
Commit: Christian Johansson <christian@cvj.se>
Added more TODO items
---
phps-mode-parser-sdt.el | 102 +++++++++++++++++++++++++++---------------------
1 file changed, 58 insertions(+), 44 deletions(-)
diff --git a/phps-mode-parser-sdt.el b/phps-mode-parser-sdt.el
index 27d5d97111..052c8efd56 100644
--- a/phps-mode-parser-sdt.el
+++ b/phps-mode-parser-sdt.el
@@ -591,6 +591,8 @@
(make-hash-table :test 'equal)
"Bookkeeping")
+;; TODO Should use stack for namespace to be able to go up and down in level
+
(defvar-local
phps-mode-parser-sdt--bookkeeping-namespace
""
@@ -962,7 +964,18 @@
(puthash 84 (lambda(_args _terminals) nil)
phps-mode-parser--table-translations)
;; 85 ((namespace_declaration_name) (identifier))
-(puthash 85 (lambda(args _terminals) args)
phps-mode-parser--table-translations)
+(puthash
+ 85
+ (lambda(args _terminals)
+ (let ((namespace-name args))
+ (setq
+ phps-mode-parser-sdt--bookkeeping-namespace
+ (format
+ " namespace %s%s"
+ namespace-name
+ phps-mode-parser-sdt--bookkeeping-namespace)))
+ args)
+ phps-mode-parser--table-translations)
;; 86 ((namespace_declaration_name) (T_NAME_QUALIFIED))
(puthash 86 (lambda(_args terminals) terminals)
phps-mode-parser--table-translations)
@@ -1120,13 +1133,6 @@
111
(lambda(args terminals)
(phps-mode-parser-sdt--parse-top-statement)
- (let ((namespace-name (nth 1 args)))
- (setq phps-mode-parser-sdt--bookkeeping-namespace
- (format
- " namespace %s%s"
- namespace-name
- phps-mode-parser-sdt--bookkeeping-namespace)))
-
`(
ast-type
namespace
@@ -1144,40 +1150,10 @@
(puthash
112
(lambda(args terminals)
- (message "phps-mode-parser-sdt--bookkeeping-symbol-assignment-stack: %S"
phps-mode-parser-sdt--bookkeeping-symbol-assignment-stack)
- (message "phps-mode-parser-sdt--bookkeeping-symbol-stack: %S"
phps-mode-parser-sdt--bookkeeping-symbol-stack)
- ;; Go through stacks and modify symbol namespaces
- ;; but only for non-super-global variables
- (let ((namespace-name (nth 1 args)))
- (when phps-mode-parser-sdt--bookkeeping-symbol-assignment-stack
- (dolist (
- symbol-list
- phps-mode-parser-sdt--bookkeeping-symbol-assignment-stack)
- (let ((symbol-name (car symbol-list)))
- (unless (gethash
- symbol-name
- phps-mode-parser-sdt--bookkeeping--superglobal-variable-p)
- (setcar symbol-list
- (format
- " namespace %s%s"
- namespace-name
- symbol-name))))))
- (when phps-mode-parser-sdt--bookkeeping-symbol-stack
- (dolist (
- symbol-list
- phps-mode-parser-sdt--bookkeeping-symbol-stack)
- (let ((symbol-name (car symbol-list)))
- (unless (gethash
- symbol-name
- phps-mode-parser-sdt--bookkeeping--superglobal-variable-p)
- (setcar symbol-list
- (format
- " namespace %s%s"
- namespace-name
- symbol-name)))))))
-
(phps-mode-parser-sdt--parse-top-statement)
-
+ (setq
+ phps-mode-parser-sdt--bookkeeping-namespace
+ "")
`(
ast-type
namespace
@@ -1981,6 +1957,41 @@
(puthash
185
(lambda(args terminals)
+
+ ;; TODO Should use stacks to fix symbol name-space
+
+ ;; Go through stacks and modify symbol name-spaces
+ ;; but only for non-super-global variables
+ (let ((class-name (nth 1 args)))
+ (when phps-mode-parser-sdt--bookkeeping-symbol-assignment-stack
+ (dolist (
+ symbol-list
+ phps-mode-parser-sdt--bookkeeping-symbol-assignment-stack)
+ (let ((symbol-name (car symbol-list)))
+ (unless (gethash
+ symbol-name
+ phps-mode-parser-sdt--bookkeeping--superglobal-variable-p)
+ (setcar
+ symbol-list
+ (format
+ " class %s%s"
+ class-name
+ symbol-name))))))
+ (when phps-mode-parser-sdt--bookkeeping-symbol-stack
+ (dolist (
+ symbol-list
+ phps-mode-parser-sdt--bookkeeping-symbol-stack)
+ (let ((symbol-name (car symbol-list)))
+ (unless (gethash
+ symbol-name
+ phps-mode-parser-sdt--bookkeeping--superglobal-variable-p)
+ (setcar
+ symbol-list
+ (format
+ " class %s%s"
+ class-name
+ symbol-name)))))))
+
`(
ast-type
class
@@ -1997,8 +2008,7 @@
ast-end
,(car (cdr (nth 7 terminals)))
class-statement-list
- ,(nth 6 args)
- ))
+ ,(nth 6 args)))
phps-mode-parser--table-translations)
;; 186 ((class_modifiers) (class_modifier))
@@ -2826,7 +2836,11 @@
phps-mode-parser--table-translations)
;; 297 ((class_statement_list) (%empty))
-(puthash 297 (lambda(_args _terminals) nil)
phps-mode-parser--table-translations)
+(puthash
+ 297
+ (lambda(args terminals)
+ nil)
+ phps-mode-parser--table-translations)
;; 298 ((attributed_class_statement) (variable_modifiers
optional_type_without_static property_list ";"))
(puthash
- [elpa] externals/phps-mode 39a6fe03ae 079/135: Improved is-varadic and is-reference argument flags, (continued)
- [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
- [elpa] externals/phps-mode c0c37bafd9 110/135: Added some TODO items, Christian Johansson, 2023/01/29
- [elpa] externals/phps-mode 76ef8cceac 124/135: More fixes in code, Christian Johansson, 2023/01/29
- [elpa] externals/phps-mode 3b6eb46d4c 129/135: Added new MVP bookkeeping and imenu test, Christian Johansson, 2023/01/29
- [elpa] externals/phps-mode f9ddef260c 039/135: Passing first bookkeeping test using SDT generated bookkeeping, Christian Johansson, 2023/01/29
- [elpa] externals/phps-mode fb42b49970 044/135: Added more TODO items,
Christian Johansson <=
- [elpa] externals/phps-mode dd2fadefe7 048/135: Bookkeeping class properties, Christian Johansson, 2023/01/29
- [elpa] externals/phps-mode 804a0dbdb9 074/135: Added static uri for symbol names, Christian Johansson, 2023/01/29
- [elpa] externals/phps-mode 7bb676dc8b 076/135: Bookkeeping for anonymous function passing, Christian Johansson, 2023/01/29
- [elpa] externals/phps-mode f86d8dc6ac 078/135: More work on arrow function variable uri, Christian Johansson, 2023/01/29
- [elpa] externals/phps-mode 787aaa2bb4 081/135: Passing another bookkeeping test, Christian Johansson, 2023/01/29
- [elpa] externals/phps-mode 66c02b9be1 083/135: Passing test for bookkeeping of interface variables, Christian Johansson, 2023/01/29
- [elpa] externals/phps-mode 1afe6aaec7 086/135: Passing more tests for static variables, Christian Johansson, 2023/01/29
- [elpa] externals/phps-mode d456658676 089/135: Passing bookkeeping test for $this inside arrow function, Christian Johansson, 2023/01/29
- [elpa] externals/phps-mode f4be94ccfc 094/135: Passing bookkeeping test for class properties inside conditional expression, Christian Johansson, 2023/01/29
- [elpa] externals/phps-mode 18f1f12fc6 096/135: Added new bookkeeping test for class parameters in constructor method, Christian Johansson, 2023/01/29