[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/phps-mode 9ad46d061e 057/212: Bookkeeping via AST passi
From: |
Christian Johansson |
Subject: |
[elpa] externals/phps-mode 9ad46d061e 057/212: Bookkeeping via AST passing two more tests |
Date: |
Wed, 26 Jan 2022 01:50:43 -0500 (EST) |
branch: externals/phps-mode
commit 9ad46d061e098d7660d638b160178731df4a2444
Author: Christian Johansson <christian@cvj.se>
Commit: Christian Johansson <christian@cvj.se>
Bookkeeping via AST passing two more tests
---
phps-mode-ast-bookkeeping.el | 22 ++++++++++++++++++++++
test/phps-mode-test-ast.el | 10 +++++-----
2 files changed, 27 insertions(+), 5 deletions(-)
diff --git a/phps-mode-ast-bookkeeping.el b/phps-mode-ast-bookkeeping.el
index 2c67e324bb..14042c6a54 100644
--- a/phps-mode-ast-bookkeeping.el
+++ b/phps-mode-ast-bookkeeping.el
@@ -644,6 +644,28 @@
0
bookkeeping))))
+ (t
+ (let ((variable-ids
+
(phps-mode-ast-bookkeeping--generate-variable-scope-string
+ scope
+ (plist-get subject 'name)
+ t))
+ (predefined 0))
+ ;; (message "variable-ids: %S" variable-ids)
+ (dolist (variable-id variable-ids)
+ (when (gethash
+ variable-id
+ bookkeeping)
+ (setq
+ predefined
+ 1)))
+ (puthash
+ (list
+ (plist-get subject 'start)
+ (plist-get subject 'end))
+ predefined
+ bookkeeping)))
+
)))
((equal type 'static-member)
diff --git a/test/phps-mode-test-ast.el b/test/phps-mode-test-ast.el
index 72ce917c9c..43a557a682 100644
--- a/test/phps-mode-test-ast.el
+++ b/test/phps-mode-test-ast.el
@@ -233,7 +233,7 @@
(phps-mode-test-ast--buffer-contents
"<?php\n\n$var = 'abc';\n\nif ($var2) {\n echo 'This never
happens';\n}\nif ($var) {\n echo 'This happens';\n}"
- "Bookkeeping in root level variable assignments #1."
+ "Bookkeeping in root level variable assignments #1"
(lambda()
(let ((parse (phps-mode-parser-parse)))
(message "Left-to-right with right-most derivation:\n%S\n" parse)
@@ -255,7 +255,7 @@
(phps-mode-test-ast--buffer-contents
"<?php\n\n$var = 'abc';\n\nif ($var) {\n echo 'This never
happens';\n}\nif ($var2) {\n echo 'This happens';\n}"
- "Bookkeeping in root level variable assignments #2."
+ "Bookkeeping in root level variable assignments #2"
(lambda()
(let ((parse (phps-mode-parser-parse)))
(message "Left-to-right with right-most derivation:\n%S\n" parse)
@@ -277,7 +277,7 @@
(phps-mode-test-ast--buffer-contents
"<?php\n\n$var2 = 4;\n\nfunction myFunction($var)\n{\n $var3 = 3;\n
if ($var) {\n echo 'Hit';\n }\n if ($var2) {\n echo
'Miss';\n }\n if ($var3) {\n echo 'Hit';\n }\n}\n\nfunction
myFunction2($abc)\n{\n if ($var) {\n echo 'Miss';\n }\n if
($abc) {\n echo 'Hit';\n }\n}\n\nif ($var) {\n echo 'Miss';\n}\nif
($var2) {\n echo 'Hit';\n}"
- "Bookkeeping in function level with variable assignments."
+ "Bookkeeping in function level with variable assignments"
(lambda()
(let ((parse (phps-mode-parser-parse)))
(message "Left-to-right with right-most derivation:\n%S\n" parse)
@@ -541,7 +541,7 @@
(phps-mode-test-ast--buffer-contents
"<?php\n$z = (object) array('name' => 'random');\nif ($z->name) {\n echo
'Hit';\n}"
- "Bookkeeping object properties."
+ "Bookkeeping ignoring variable properties"
(lambda()
(let ((parse (phps-mode-parser-parse)))
(message "Left-to-right with right-most derivation:\n%S\n" parse)
@@ -585,7 +585,7 @@
(phps-mode-test-ast--buffer-contents
"<?php\n\nif (isset($x)) {\n if ($x) {\n echo 'Hit';\n if
(isset($i, $u)) {\n if ($i) {\n echo 'Hit';\n
}\n if ($u) {\n echo 'Hit';\n }\n
if ($x) {\n echo 'Hit';\n }\n }\n
if ($i) {\n echo 'Miss';\n }\n if ($u) {\n
echo 'Miss';\n }\n }\n}\nif ($x) {\n echo 'Miss';\n}\n\nif
(!empty($y)) {\n if ( [...]
- "Bookkeeping of isset() and !empty() scoped variables."
+ "Bookkeeping of isset() and !empty() scoped variables"
(lambda()
(let ((parse (phps-mode-parser-parse)))
(message "Left-to-right with right-most derivation:\n%S\n" parse)
- [elpa] externals/phps-mode bb381d8127 041/212: Bookkeeping of class properties via AST passed test, (continued)
- [elpa] externals/phps-mode bb381d8127 041/212: Bookkeeping of class properties via AST passed test, Christian Johansson, 2022/01/26
- [elpa] externals/phps-mode e95df1027b 042/212: Reverted old tests for imenu and bookkeeping for lex-analyzer, Christian Johansson, 2022/01/26
- [elpa] externals/phps-mode a65c8af308 008/212: Extract ast code into separate file and test, Christian Johansson, 2022/01/26
- [elpa] externals/phps-mode 23c001c33f 037/212: Moved parser SDT to separate file, Christian Johansson, 2022/01/26
- [elpa] externals/phps-mode 261121f096 056/212: Fixed incorrect information in debug output in test, Christian Johansson, 2022/01/26
- [elpa] externals/phps-mode e8a47de694 052/212: Work on supported arrow functions for bookkeeping via AST, Christian Johansson, 2022/01/26
- [elpa] externals/phps-mode 5686703a6b 074/212: Passing bookkeeping via AST for $this inside arrow function body inside class method, Christian Johansson, 2022/01/26
- [elpa] externals/phps-mode a9d0e941df 066/212: Started on SDT for static variables statement, Christian Johansson, 2022/01/26
- [elpa] externals/phps-mode a8fecdfd68 055/212: Bookkeeping of variables inside arrow functions now working, Christian Johansson, 2022/01/26
- [elpa] externals/phps-mode e42646dc3a 058/212: Added SDT for isset() and empty(), Christian Johansson, 2022/01/26
- [elpa] externals/phps-mode 9ad46d061e 057/212: Bookkeeping via AST passing two more tests,
Christian Johansson <=
- [elpa] externals/phps-mode 806bb902b3 122/212: Improved indentation for chaining objects, Christian Johansson, 2022/01/26
- [elpa] externals/phps-mode cc3bf03786 123/212: Improved indentation after ending assignment expression, Christian Johansson, 2022/01/26
- [elpa] externals/phps-mode 3162dca5c4 159/212: Added two more failing indentation tests, Christian Johansson, 2022/01/26
- [elpa] externals/phps-mode 1e44021653 163/212: Added more failing indent tests, Christian Johansson, 2022/01/26
- [elpa] externals/phps-mode e7aff3f69d 157/212: Passed more indentation tests, Christian Johansson, 2022/01/26
- [elpa] externals/phps-mode db7121941c 156/212: Passing indention on line after not equals condition, Christian Johansson, 2022/01/26
- [elpa] externals/phps-mode d072fe5315 136/212: Improved indentation around array elements, Christian Johansson, 2022/01/26
- [elpa] externals/phps-mode f880ba2d62 164/212: Improved indentation on lines after assignment that ends with closing bracket, Christian Johansson, 2022/01/26
- [elpa] externals/phps-mode db019887af 170/212: Passed new indentation tests, Christian Johansson, 2022/01/26
- [elpa] externals/phps-mode 781356557c 194/212: More adjustments to indent helper to find previous command, Christian Johansson, 2022/01/26