def parse(self, loc, l, parent, layout_mode=False): rv = slast.SLDisplayable( loc, self.displayable, scope=self.scope, child_or_fixed=(self.nchildren == 1), style=self.style, text_style=self.text_style, pass_context=self.pass_context, imagemap=self.imagemap, replaces=self.replaces, default_keywords=self.default_keywords, hotspot=self.hotspot, ) for _i in self.positional: expr = l.require(l.simple_expression) rv.positional.append(expr) can_has = (self.nchildren == 1) self.parse_contents(l, rv, layout_mode=layout_mode, can_has=can_has, can_tag=False) return rv
def parse(self, loc, l, parent, keyword, layout_mode=False): rv = slast.SLDisplayable( loc, self.displayable, scope=self.scope, child_or_fixed=(self.nchildren == 1), style=self.style, pass_context=self.pass_context, imagemap=self.imagemap, replaces=self.replaces, default_keywords=self.default_keywords, hotspot=self.hotspot, ) for _i in self.positional: expr = l.simple_expression() if expr is None: break rv.positional.append(expr) can_has = (self.nchildren == 1) self.parse_contents(l, rv, layout_mode=layout_mode, can_has=can_has, can_tag=False) if len(rv.positional) != len(self.positional): for i in rv.keyword: if i[0] == 'arguments': break else: l.error("{} statement expects {} positional arguments, got {}.".format(self.name, len(self.positional), len(rv.positional))) return rv
def parse(self, l, parent, layout_mode=False): rv = slast.SLDisplayable(self.displayable, scope=self.scope, child_or_fixed=(self.nchildren == 1), style=self.style, text_style=self.text_style, pass_context=self.pass_context, imagemap=self.imagemap, replaces=self.replaces) for _i in self.positional: rv.positional.append(l.simple_expression()) can_has = (self.nchildren == 1) self.parse_contents(l, rv, layout_mode=layout_mode, can_has=can_has, can_tag=False) return rv