From 5936412a6ff45aceaaa9a9ea9feaeb5172505386 Mon Sep 17 00:00:00 2001 From: Jack <130207156+ddouworld@users.noreply.github.com> Date: Sun, 12 Nov 2023 02:22:49 +0800 Subject: [PATCH] fix #396 Unsupported Node type: 27 (#397) * fix #396 Unsupported Node type: 27 * Add test file * Modify a little comment * Modify the test pyc file name * Delete redundant pyc files * retest * Add newline at EOF --------- Co-authored-by: Michael Hansen --- ASTree.cpp | 4 ++-- tests/compiled/class_NODE_BINARY.3.9.pyc | Bin 0 -> 312 bytes tests/input/class_NODE_BINARY.py | 3 +++ tests/tokenized/class_NODE_BINARY.txt | 4 ++++ 4 files changed, 9 insertions(+), 2 deletions(-) create mode 100644 tests/compiled/class_NODE_BINARY.3.9.pyc create mode 100644 tests/input/class_NODE_BINARY.py create mode 100644 tests/tokenized/class_NODE_BINARY.txt diff --git a/ASTree.cpp b/ASTree.cpp index 7f36b3df..d66859be 100644 --- a/ASTree.cpp +++ b/ASTree.cpp @@ -431,8 +431,8 @@ PycRef BuildFromCode(PycRef code, PycModule* mod) bases.resize(basecnt); PycRef TOS = stack.top(); int TOS_type = TOS.type(); - // bases are NODE_NAME at TOS - while (TOS_type == ASTNode::NODE_NAME) { + // bases are NODE_NAME and NODE_BINARY at TOS + while (TOS_type == ASTNode::NODE_NAME || TOS_type == ASTNode::NODE_BINARY) { bases.resize(basecnt + 1); bases[basecnt] = TOS; basecnt++; diff --git a/tests/compiled/class_NODE_BINARY.3.9.pyc b/tests/compiled/class_NODE_BINARY.3.9.pyc new file mode 100644 index 0000000000000000000000000000000000000000..1f2ccc10024de0c77b5443522db3adecaa758b9f GIT binary patch literal 312 zcmYjM!D_-l5S`7YHHiK~kA+N*$Xh;RYB@wur=UQp2V(B8p&wQ&9T^Dh?qhsmo9^(F(mu=?<4!69b zk<%a{97*va7jt@_2_PQEW^&#M-r|}Yr#>X-Zmz;3I VHvWHoTXlHUMdS826Mx4geFiC-KgR$7 literal 0 HcmV?d00001 diff --git a/tests/input/class_NODE_BINARY.py b/tests/input/class_NODE_BINARY.py new file mode 100644 index 00000000..9d5c6138 --- /dev/null +++ b/tests/input/class_NODE_BINARY.py @@ -0,0 +1,3 @@ +import Test +class MyNet(Test.t): + pass diff --git a/tests/tokenized/class_NODE_BINARY.txt b/tests/tokenized/class_NODE_BINARY.txt new file mode 100644 index 00000000..71b39770 --- /dev/null +++ b/tests/tokenized/class_NODE_BINARY.txt @@ -0,0 +1,4 @@ +import Test +class MyNet ( Test . t ) : + +pass