为所有入栈出栈操作添加检查,确保栈内所有内容均是Variable
zrr1999 opened this issue · 3 comments
zrr1999 commented
在 OpcodeExecutor 的栈内,应该所有内容均是Variable,但是现在我们有很多时候混入了一些其他类型变量,所以我们考虑在所有入栈出栈操作上都加上 isinstance(val, VariableBase) 的检查,这可以通过如下方式实现:
简化栈操作,栈操作只允许访问栈顶,只包含 push、pop 等简单操作,不允许直接访问和替换栈
在有限的栈操作上加上检查项,确保入栈出栈都是 Variable(其实只需要保证入栈是就好了)
相关讨论见 #138 (comment)