Bug 1367176 - Expose promise typedef to public so it can be used outside of actor. r=billm

MozReview-Commit-ID: JRlPR2rs3ij

--HG--
extra : rebase_source : 7e23178f678d0fffd99d21bbf4fdbb954792fa0e
This commit is contained in:
Kan-Ru Chen 2017-05-24 13:06:35 -04:00
Родитель c54925d495
Коммит e900659346
1 изменённых файлов: 9 добавлений и 5 удалений

Просмотреть файл

@ -2618,16 +2618,20 @@ class _GenerateProtocolActorCode(ipdl.ast.Visitor):
self.cls.addstmt(typedef)
for typedef in self.includedActorTypedefs:
self.cls.addstmt(typedef)
for md in p.messageDecls:
if self.receivesMessage(md) and md.hasAsyncReturns():
self.cls.addstmt(
Typedef(_makePromise(md.returns, self.side, resolver=True),
md.promiseName()))
self.cls.addstmt(Whitespace.NL)
self.cls.addstmts([ Typedef(p.fqStateType(), 'State'), Whitespace.NL ])
self.cls.addstmt(Label.PUBLIC)
for md in p.messageDecls:
if self.receivesMessage(md) and md.hasAsyncReturns():
self.cls.addstmt(
Typedef(_makePromise(md.returns, self.side, resolver=True),
md.promiseName()))
self.cls.addstmt(Whitespace.NL)
self.cls.addstmt(Label.PROTECTED)
# interface methods that the concrete subclass has to impl
for md in p.messageDecls:
isctor, isdtor = md.decl.type.isCtor(), md.decl.type.isDtor()