예제 #1
0
    def reduce_PROPERTY_NameAndExtends_DeclarationSpecsBlob(
            self, *kids):
        np: NameWithParents = kids[1].val

        self.val = esast.PropertyDeclaration(
            name=np.name,
            extends=np.extends,
            **_process_decl_body(
                kids[2].val,
                (
                    esast.Attribute,
                    esast.Field
                )
            )
        )
예제 #2
0
    def reduce_PROPERTY_NameAndExtends_DeclarationSpecsBlob(self, *kids):
        np: NameWithParents = kids[1].val

        attributes = []

        for spec in kids[2].val:
            if isinstance(spec, esast.Attribute):
                attributes.append(spec)
            else:
                raise SchemaSyntaxError('illegal definition',
                                        context=spec.context)

        self.val = esast.PropertyDeclaration(name=np.name,
                                             extends=np.extends,
                                             attributes=attributes)
예제 #3
0
 def reduce_PROPERTY_NameAndExtends_NL(self, *kids):
     np: NameWithParents = kids[1].val
     self.val = esast.PropertyDeclaration(
         name=np.name,
         extends=np.extends)