示例#1
0
class Scope(FooNode):
    name = Field()
    deps = Field()
    defs = Field()

    annotations = Annotations(ple_unit_root=True)

    @langkit_property()
    def initial_env():
        return Self.name.match(
            lambda p=T.Prefix: p.prefix.referenced_unit.root.cast_or_raise(
                T.Scope.list).filter(lambda scope: scope.name.symbols == p.
                                     prefix.symbols).at_or_raise(0).
            children_env,
            lambda _: Self.children_env,
        )

    env_spec = EnvSpec(
        set_initial_env(Self.initial_env, unsound=True),
        add_to_env_kv(key=Self.name.suffix_symbol, val=Self),
        add_env(),
    )
示例#2
0
class GPRNode(ASTNode):
    annotations = Annotations(generic_list_type="BaseList")
示例#3
0
文件: test.py 项目: nyulacska/langkit
 class FooNode(ASTNode):
     annotations = Annotations(generic_list_type='FooList')
示例#4
0
 class Subunit(FooNode):
     annotations = Annotations(ple_unit_root=True)
     fields = Field()
示例#5
0
 class Example(FooNode):
     annotations = Annotations(ple_unit_root=True)
示例#6
0
 class SyntheticNode(FooNode):
     annotations = Annotations(ple_unit_root=True)
示例#7
0
class NumLiteral(SingleTokNode):
    annotations = Annotations(repr_name='Num')
示例#8
0
class StringLiteral(SingleTokNode):
    annotations = Annotations(repr_name='Str')
示例#9
0
class Identifier(SingleTokNode):
    annotations = Annotations(repr_name='Id')
示例#10
0
文件: test.py 项目: pmderodat/langkit
class RebindableEnvCreator(BaseEnvCreator):
    annotations = Annotations(rebindable=True)