当前位置: 首页>>代码示例>>Python>>正文


Python astutil.ASTTransformer类代码示例

本文整理汇总了Python中genshi.template.astutil.ASTTransformer的典型用法代码示例。如果您正苦于以下问题:Python ASTTransformer类的具体用法?Python ASTTransformer怎么用?Python ASTTransformer使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


在下文中一共展示了ASTTransformer类的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: visit_Attribute

    def visit_Attribute(self, node):
        if not isinstance(node.ctx, _ast.Load):
            return ASTTransformer.visit_Attribute(self, node)

        func = _new(_ast.Name, '_lookup_attr', _ast.Load())
        args = [self.visit(node.value), _new(_ast.Str, node.attr)]
        return _new(_ast.Call, func, args, [])
开发者ID:anandu,项目名称:pylibs,代码行数:7,代码来源:eval.py

示例2: visit_Subscript

    def visit_Subscript(self, node):
        if not isinstance(node.ctx, _ast.Load) or not isinstance(node.slice, _ast.Index):
            return ASTTransformer.visit_Subscript(self, node)

        func = _new(_ast.Name, "_lookup_item", _ast.Load())
        args = [self.visit(node.value), _new(_ast.Tuple, (self.visit(node.slice.value),), _ast.Load())]
        return _new(_ast.Call, func, args, [])
开发者ID:ntulip,项目名称:tweetapp,代码行数:7,代码来源:eval.py

示例3: visit_ClassDef

 def visit_ClassDef(self, node):
     if len(self.locals) > 1:
         self.locals[-1].add(node.name)
     self.locals.append(set())
     try:
         return ASTTransformer.visit_ClassDef(self, node)
     finally:
         self.locals.pop()
开发者ID:anandu,项目名称:pylibs,代码行数:8,代码来源:eval.py

示例4: visit_FunctionDef

    def visit_FunctionDef(self, node):
        if len(self.locals) > 1:
            self.locals[-1].add(node.name)

        self.locals.append(self._extract_names(node.args))
        try:
            return ASTTransformer.visit_FunctionDef(self, node)
        finally:
            self.locals.pop()
开发者ID:anandu,项目名称:pylibs,代码行数:9,代码来源:eval.py

示例5: visit_ImportFrom

 def visit_ImportFrom(self, node):
     if [a.name for a in node.names] == ['*']:
         if has_star_import_bug:
             # This is a Python 2.4 bug. Only if we have a broken Python
             # version do we need to apply this hack
             node = _new(_ast.Expr, _new(_ast.Call,
                 _new(_ast.Name, '_star_import_patch'), [
                     _new(_ast.Name, '__data__'),
                     _new(_ast.Str, node.module)
                 ], (), ()))
         return node
     if len(self.locals) > 1:
         self.locals[-1].update(self._extract_names(node))
     return ASTTransformer.visit_ImportFrom(self, node)
开发者ID:anandu,项目名称:pylibs,代码行数:14,代码来源:eval.py

示例6: visit_Lambda

 def visit_Lambda(self, node):
     self.locals.append(self._extract_names(node.args))
     try:
         return ASTTransformer.visit_Lambda(self, node)
     finally:
         self.locals.pop()
开发者ID:anandu,项目名称:pylibs,代码行数:6,代码来源:eval.py

示例7: visit_Import

 def visit_Import(self, node):
     if len(self.locals) > 1:
         self.locals[-1].update(self._extract_names(node))
     return ASTTransformer.visit_Import(self, node)
开发者ID:anandu,项目名称:pylibs,代码行数:4,代码来源:eval.py

示例8: visit_For

 def visit_For(self, node):
     self.locals.append(set())
     try:
         return ASTTransformer.visit_For(self, node)
     finally:
         self.locals.pop()
开发者ID:ntulip,项目名称:tweetapp,代码行数:6,代码来源:eval.py


注:本文中的genshi.template.astutil.ASTTransformer类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。