コード例 #1
0
 def arraydescrof(self, A):
     assert A.OF != lltype.Void
     size = symbolic.get_size(A)
     if isinstance(A.OF, lltype.Ptr) or isinstance(A.OF, lltype.Primitive):
         token = history.getkind(A.OF)[0]
     elif isinstance(A.OF, lltype.Struct):
         token = 's'
     else:
         token = '?'
     return self.getdescr(size, token)
コード例 #2
0
 def arraydescrof(self, A):
     assert A.OF != lltype.Void
     assert isinstance(A, lltype.GcArray) or A._hints.get('nolength', False)
     size = symbolic.get_size(A)
     if isinstance(A.OF, lltype.Ptr) or isinstance(A.OF, lltype.Primitive):
         token = history.getkind(A.OF)[0]
     elif isinstance(A.OF, lltype.Struct):
         token = 's'
     else:
         token = '?'
     return self.getdescr(size, token)
コード例 #3
0
ファイル: runner.py プロジェクト: purepython/pypy
 def arraydescrof(self, A):
     assert A.OF != lltype.Void
     assert isinstance(A, lltype.GcArray) or A._hints.get('nolength', False)
     size = symbolic.get_size(A)
     if isinstance(A.OF, lltype.Ptr) or isinstance(A.OF, lltype.Primitive):
         token = history.getkind(A.OF)[0]
     elif isinstance(A.OF, lltype.Struct):
         token = 's'
     else:
         token = '?'
     return self.getdescr(size, token)
コード例 #4
0
ファイル: runner.py プロジェクト: ieure/pypy
 def arraydescrof(self, A):
     assert A.OF != lltype.Void
     size = symbolic.get_size(A)
     token = history.getkind(A.OF)
     return self.getdescr(size, token[0])
コード例 #5
0
ファイル: runner.py プロジェクト: ieure/pypy
 def sizeof(self, S):
     assert not isinstance(S, lltype.Ptr)
     count = heaptracker.count_fields_if_immutable(S)
     return self.getdescr(symbolic.get_size(S), count_fields_if_immut=count)
コード例 #6
0
 def interiorfielddescrof(self, A, fieldname):
     S = A.OF
     width = symbolic.get_size(A)
     ofs, size = symbolic.get_field_token(S, fieldname)
     token = history.getkind(getattr(S, fieldname))
     return self.getdescr(ofs, token[0], name=fieldname, width=width)
コード例 #7
0
ファイル: runner.py プロジェクト: enyst/plexnet
 def arraydescrof(A):
     assert isinstance(A, lltype.GcArray)
     assert A.OF != lltype.Void
     size = symbolic.get_size(A)
     token = history.getkind(A.OF)
     return Descr(size, token[0])
コード例 #8
0
ファイル: runner.py プロジェクト: enyst/plexnet
 def sizeof(S):
     assert not isinstance(S, lltype.Ptr)
     return Descr(symbolic.get_size(S))
コード例 #9
0
ファイル: runner.py プロジェクト: purepython/pypy
 def interiorfielddescrof(self, A, fieldname):
     S = A.OF
     width = symbolic.get_size(A)
     ofs, size = symbolic.get_field_token(S, fieldname)
     token = history.getkind(getattr(S, fieldname))
     return self.getdescr(ofs, token[0], name=fieldname, width=width)
コード例 #10
0
ファイル: runner.py プロジェクト: purepython/pypy
 def sizeof(self, S):
     assert not isinstance(S, lltype.Ptr)
     count = heaptracker.count_fields_if_immutable(S)
     return self.getdescr(symbolic.get_size(S), count_fields_if_immut=count)
コード例 #11
0
 def arraydescrof(A):
     assert isinstance(A, lltype.GcArray)
     assert A.OF != lltype.Void
     size = symbolic.get_size(A)
     token = history.getkind(A.OF)
     return Descr(size, token[0])
コード例 #12
0
 def sizeof(S):
     assert not isinstance(S, lltype.Ptr)
     return Descr(symbolic.get_size(S))
コード例 #13
0
 def sizeof(self, S):
     assert not isinstance(S, lltype.Ptr)
     return self.getdescr(symbolic.get_size(S))