示例#1
0
 def forward_declaration(self):
     if llgroup.member_of_group(self.obj):
         return
     type, name = self.get_declaration()
     yield '%s;' % (
         forward_cdecl(type, name, self.db.standalone,
                       self.is_thread_local()))
示例#2
0
 def forward_declaration(self):
     callable = getattr(self.obj, '_callable', None)
     is_exported = getattr(callable, 'exported_symbol', False)
     yield '%s;' % (forward_cdecl(self.implementationtypename,
                                  self.name,
                                  self.db.standalone,
                                  is_exported=is_exported))
示例#3
0
文件: node.py 项目: hmrg-grmh/pypy
 def forward_declaration(self):
     if llgroup.member_of_group(self.obj):
         return
     type, name, is_union = self.get_declaration()
     yield '%s;' % (
         forward_cdecl(type, name, self.db.standalone,
                       is_thread_local=self.is_thread_local(),
                       is_exported=self.is_exported()))
示例#4
0
文件: node.py 项目: Darriall/pypy
 def forward_declaration(self):
     callable = getattr(self.obj, '_callable', None)
     is_exported = getattr(callable, 'exported_symbol', False)
     for funcgen in self.funcgens:
         yield '%s;' % (
             forward_cdecl(self.implementationtypename,
                 funcgen.name(self.name), self.db.standalone,
                 is_exported=is_exported))
示例#5
0
文件: node.py 项目: GaussDing/pypy
 def forward_declaration(self):
     T = self.getTYPE()
     assert self.typename == self.implementationtypename  # no array part
     hash_typename = self.get_hash_typename()
     hash_offset = self.db.gctransformer.get_hash_offset(T)
     yield "%s {" % cdecl(hash_typename, "")
     yield "\tunion {"
     yield "\t\t%s;" % cdecl(self.implementationtypename, "head")
     yield "\t\tchar pad[%s];" % name_signed(hash_offset, self.db)
     yield "\t} u;"
     yield "\tlong hash;"
     yield "};"
     yield "%s;" % (forward_cdecl(hash_typename, "_hash_" + self.name, self.db.standalone, self.is_thread_local()),)
     yield "#define %s _hash_%s.u.head" % (self.name, self.name)
示例#6
0
文件: node.py 项目: zielmicha/pypy
 def forward_declaration(self):
     T = self.getTYPE()
     assert self.typename == self.implementationtypename  # no array part
     hash_typename = self.get_hash_typename()
     hash_offset = self.db.gctransformer.get_hash_offset(T)
     yield '%s {' % cdecl(hash_typename, '')
     yield '\tunion {'
     yield '\t\t%s;' % cdecl(self.implementationtypename, 'head')
     yield '\t\tchar pad[%s];' % name_signed(hash_offset, self.db)
     yield '\t} u;'
     yield '\tlong hash;'
     yield '};'
     yield '%s;' % (
         forward_cdecl(hash_typename, '_hash_' + self.name,
                       self.db.standalone, self.is_thread_local()),)
     yield '#define %s _hash_%s.u.head' % (self.name, self.name)
示例#7
0
文件: node.py 项目: GaussDing/pypy
 def forward_declaration(self):
     self._fix_members()
     yield ""
     ctype = ["%s {" % cdecl(self.implementationtypename, "")]
     for i, member in enumerate(self.obj.members):
         structtypename = self.db.gettype(typeOf(member))
         ctype.append("\t%s;" % cdecl(structtypename, "member%d" % i))
     ctype.append("} @")
     ctype = "\n".join(ctype)
     yield "%s;" % (forward_cdecl(ctype, self.name, self.db.standalone, self.is_thread_local()))
     yield '#include "src/llgroup.h"'
     yield "PYPY_GROUP_CHECK_SIZE(%s)" % (self.name,)
     for i, member in enumerate(self.obj.members):
         structnode = self.db.getcontainernode(member)
         yield "#define %s %s.member%d" % (structnode.name, self.name, i)
     yield ""
示例#8
0
 def forward_declaration(self):
     self._fix_members()
     yield ''
     ctype = ['%s {' % cdecl(self.implementationtypename, '')]
     for i, member in enumerate(self.obj.members):
         structtypename = self.db.gettype(typeOf(member))
         ctype.append('\t%s;' % cdecl(structtypename, 'member%d' % i))
     ctype.append('} @')
     ctype = '\n'.join(ctype)
     yield '%s;' % (forward_cdecl(ctype, self.name, self.db.standalone,
                                  self.is_thread_local()))
     yield '#include "src/llgroup.h"'
     yield 'PYPY_GROUP_CHECK_SIZE(%s)' % (self.name, )
     for i, member in enumerate(self.obj.members):
         structnode = self.db.getcontainernode(member)
         yield '#define %s %s.member%d' % (structnode.name, self.name, i)
     yield ''
示例#9
0
文件: node.py 项目: GaussDing/pypy
 def forward_declaration(self):
     self._fix_members()
     yield ''
     ctype = ['%s {' % cdecl(self.implementationtypename, '')]
     for i, member in enumerate(self.obj.members):
         structtypename = self.db.gettype(typeOf(member))
         ctype.append('\t%s;' % cdecl(structtypename, 'member%d' % i))
     ctype.append('} @')
     ctype = '\n'.join(ctype)
     yield '%s;' % (forward_cdecl(ctype, self.name, self.db.standalone,
                                  self.is_thread_local()))
     yield '#include "src/llgroup.h"'
     yield 'PYPY_GROUP_CHECK_SIZE(%s)' % (self.name, )
     for i, member in enumerate(self.obj.members):
         structnode = self.db.getcontainernode(member)
         yield '#define %s %s.member%d' % (structnode.name, self.name, i)
     yield ''
示例#10
0
 def forward_declaration(self):
     for funcgen in self.funcgens:
         yield '%s;' % (
             forward_cdecl(self.implementationtypename,
                 funcgen.name(self.name), self.db.standalone))