def vqInitDockWidgetClasses(self): exprloc = e_expr.MemoryExpressionLocals(self.vw, symobj=self.vw) exprloc['vw'] = self.vw exprloc['vwqgui'] = self exprloc['vprint'] = self.vw.vprint self.vqAddDockWidgetClass(viv_q_views.VQVivExportsView, args=(self.vw, self)) self.vqAddDockWidgetClass(viv_q_views.VQVivFunctionsView, args=(self.vw, self)) self.vqAddDockWidgetClass(viv_q_views.VQVivNamesView, args=(self.vw, self)) self.vqAddDockWidgetClass(viv_q_views.VQVivImportsView, args=(self.vw, self)) self.vqAddDockWidgetClass(viv_q_views.VQVivSegmentsView, args=(self.vw, self)) self.vqAddDockWidgetClass(viv_q_views.VQVivStringsView, args=(self.vw, self)) self.vqAddDockWidgetClass(viv_q_views.VQVivStructsView, args=(self.vw, self)) self.vqAddDockWidgetClass(vq_python.VQPythonView, args=(exprloc, self)) self.vqAddDockWidgetClass(viv_q_memory.VQVivMemoryView, args=(self.vw, self)) self.vqAddDockWidgetClass(viv_q_funcgraph.VQVivFuncgraphView, args=(self.vw, self)) self.vqAddDockWidgetClass(viv_q_symboliks.VivSymbolikFuncPane, args=(self.vw, self))
def getExpressionLocals(self): """ Over-ride this to have things like the eval command and the python command use more locals than the sybolic defaults. """ return e_expr.MemoryExpressionLocals(self.memobj, symobj=self.symobj)
def test_envi_MemoryExpressionLocals(self): import envi.expression as e_expr vw = vivisect.cli.VivCli() vw.makeName(0xfffffffe, 'foo(bar)') mel = e_expr.MemoryExpressionLocals(vw, symobj=vw) self.assertEqual(mel.sym('foo(bar)'), 4294967294L)