• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

C# Ast.PythonVariable类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

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



PythonVariable类属于IronPython.Compiler.Ast命名空间,在下文中一共展示了PythonVariable类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C#代码示例。

示例1: ClosureExpression

        public ClosureExpression(Ast.PythonVariable/*!*/ variable, Expression/*!*/ closureCell, ParameterExpression parameter) {
            Assert.NotNull(closureCell);

            _variable = variable;
            _closureCell = closureCell;
            _parameter = parameter;
        }
开发者ID:rudimk,项目名称:dlr-dotnet,代码行数:7,代码来源:ClosureExpression.cs


示例2: PythonGlobalVariableExpression

        public PythonGlobalVariableExpression(Expression/*!*/ globalExpr, Ast.PythonVariable/*!*/ variable, PythonGlobal/*!*/ global) {
            Assert.NotNull(globalExpr, variable);

            _target = globalExpr;
            _global = global;
            _variable = variable;
        }
开发者ID:atczyc,项目名称:ironruby,代码行数:7,代码来源:PythonGlobalVariableExpression.cs


示例3: GetGlobal

 public override MSAst.Expression GetGlobal(MSAst.Expression globalContext, int arrayIndex, PythonVariable variable, PythonGlobal global) {
     return new LookupGlobalVariable(
         globalContext,
         variable.Name,
         variable.Kind == VariableKind.Local
     );
 }
开发者ID:jschementi,项目名称:iron,代码行数:7,代码来源:LookupCompilationMode.cs


示例4: PythonGlobalVariableExpression

        internal PythonGlobalVariableExpression(Expression/*!*/ globalExpr, Ast.PythonVariable/*!*/ variable, PythonGlobal/*!*/ global, bool lightEh) {
            Assert.NotNull(globalExpr, variable);

            _target = globalExpr;
            _global = global;
            _variable = variable;
            _lightEh = lightEh;
        }
开发者ID:CookieEaters,项目名称:FireHTTP,代码行数:8,代码来源:PythonGlobalVariableExpression.cs


示例5: GetGlobal

        public override MSAst.Expression GetGlobal(MSAst.Expression globalContext, int arrayIndex, PythonVariable variable, PythonGlobal global) {
            Assert.NotNull(global);

            return new PythonGlobalVariableExpression(
                Ast.ArrayIndex(
                    PythonAst._globalArray,
                    Ast.Constant(arrayIndex)
                ),
                variable,
                global
            );
        }
开发者ID:CookieEaters,项目名称:FireHTTP,代码行数:12,代码来源:CollectableCompilationMode.cs


示例6: LiftedParameter

        internal ClosureExpression/*!*/ LiftedParameter(PythonVariable variable, string name) {
            ParameterExpression result = Ast.Variable(typeof(object), name);
            _params.Add(result);

            ClosureExpression closureVar = new ClosureExpression(variable, HiddenVariable(typeof(ClosureCell), name), result);
            EnsureLiftedVars();

            _liftedVars.Add(new DefinitionClosureInfo(closureVar, true));
            return closureVar;
        }
开发者ID:jxnmaomao,项目名称:ironruby,代码行数:10,代码来源:AstGenerator.cs


示例7: LiftedVariable

        internal ClosureExpression/*!*/ LiftedVariable(PythonVariable/*!*/ variable, string/*!*/ name, bool accessInNestedScope) {
            ParameterExpression result = HiddenVariable(typeof(ClosureCell), name);

            ClosureExpression closureVar = new ClosureExpression(variable, result, null);
            EnsureLiftedVars();
            _liftedVars.Add(new DefinitionClosureInfo(closureVar, true));
            return closureVar;
        }
开发者ID:jxnmaomao,项目名称:ironruby,代码行数:8,代码来源:AstGenerator.cs


示例8: GetGlobal

 public abstract MSAst.Expression GetGlobal(MSAst.Expression globalContext, int arrayIndex, PythonVariable variable, PythonGlobal global);
开发者ID:rudimk,项目名称:dlr-dotnet,代码行数:1,代码来源:CompilationMode.cs


示例9: Walk

        // ImportStatement
        public override bool Walk(ImportStatement node)
        {
            node.Parent = _currentScope;

            PythonVariable[] variables = new PythonVariable[node.Names.Count];
            for (int i = 0; i < node.Names.Count; i++) {
                string name = node.AsNames[i] != null ? node.AsNames[i] : node.Names[i].Names[0];
                variables[i] = DefineName(name);
                node.Names[i].Parent = _currentScope;
            }
            node.Variables = variables;
            return true;
        }
开发者ID:TerabyteX,项目名称:main,代码行数:14,代码来源:PythonNameBinder.cs


示例10: SetAssigned

 private void SetAssigned(PythonVariable/*!*/ variable, bool value) {
     _bits.Set(variable.Index * 2, value);
 }
开发者ID:CookieEaters,项目名称:FireHTTP,代码行数:3,代码来源:FlowChecker.cs


示例11: TupleIndex

        public int TupleIndex(PythonVariable var) {
            Debug.Assert(_parent._liftedVars != null);

            var vars = _parent._liftedVars;
            for (int i = 0; i < vars.Count; i++) {
                if (vars[i].PythonVariable == var) {
                    return i;
                }
            }
            
            throw new InvalidOperationException();
        }
开发者ID:jxnmaomao,项目名称:ironruby,代码行数:12,代码来源:AstGenerator.cs


示例12: SetParameter

        public void SetParameter(PythonVariable/*!*/ variable, MSAst.Expression/*!*/ parameter) {
            Assert.NotNull(variable, parameter);

            _variables[variable] = parameter;
        }
开发者ID:toddb,项目名称:ironruby,代码行数:5,代码来源:GlobalAllocator.cs


示例13: CreateVariable

        public MSAst.Expression/*!*/ CreateVariable(AstGenerator/*!*/ ag, PythonVariable/*!*/ variable, bool emitDictionary) {
            Assert.NotNull(ag, variable);

            Debug.Assert(variable.Kind != VariableKind.Parameter);

            string name = SymbolTable.IdToString(variable.Name);
            switch (variable.Kind) {
                case VariableKind.Global:
                case VariableKind.GlobalLocal:
                    return _variables[variable] = GetGlobal(name, ag, false);
                case VariableKind.Local:
                case VariableKind.HiddenLocal:
                    if (ag.IsGlobal) {
                        return _variables[variable] = GetGlobal(name, ag, true);
                    } else if (variable.AccessedInNestedScope || (emitDictionary && variable.Kind != VariableKind.HiddenLocal)) {
                        return ag.SetLocalLiftedVariable(variable, ag.LiftedVariable(variable, name, variable.AccessedInNestedScope));
                    } else {
                        return _variables[variable] = ag.Variable(typeof(object), name);
                    }
                default:
                    throw Assert.Unreachable;
            }
        }
开发者ID:toddb,项目名称:ironruby,代码行数:23,代码来源:GlobalAllocator.cs


示例14: TryBindOuter

 internal override bool TryBindOuter(SymbolId name, out PythonVariable variable) {
     // Functions expose their locals to direct access
     ContainsNestedFreeVariables = true;
     return TryGetVariable(name, out variable);
 }
开发者ID:octavioh,项目名称:ironruby,代码行数:5,代码来源:FunctionDefinition.cs


示例15: IsInitialized

 private bool IsInitialized(PythonVariable/*!*/ variable) {
     return _bits.Get(variable.Index * 2 + 1);
 }
开发者ID:CookieEaters,项目名称:FireHTTP,代码行数:3,代码来源:FlowChecker.cs


示例16: IsAssigned

 private bool IsAssigned(PythonVariable/*!*/ variable) {
     return _bits.Get(variable.Index * 2);
 }
开发者ID:CookieEaters,项目名称:FireHTTP,代码行数:3,代码来源:FlowChecker.cs


示例17: SetInitialized

 private void SetInitialized(PythonVariable/*!*/ variable, bool value) {
     _bits.Set(variable.Index * 2 + 1, value);
 }
开发者ID:CookieEaters,项目名称:FireHTTP,代码行数:3,代码来源:FlowChecker.cs


示例18: ReferenceVariable

        internal void ReferenceVariable(PythonVariable variable, int index, MSAst.Expression localTuple, bool accessedInThisScope) {
            EnsureLiftedVars();

            _liftedVars.Add(new ReferenceClosureInfo(variable, index, localTuple, accessedInThisScope));
        }
开发者ID:jxnmaomao,项目名称:ironruby,代码行数:5,代码来源:AstGenerator.cs


示例19: SetLocalLiftedVariable

        internal MSAst.Expression SetLocalLiftedVariable(PythonVariable/*!*/ variable, MSAst.Expression/*!*/ expr) {
            if (_localLifted == null) {
                _localLifted = new Dictionary<PythonVariable, MSAst.Expression>();
            }

            return _localLifted[variable] = expr;
        }
开发者ID:jxnmaomao,项目名称:ironruby,代码行数:7,代码来源:AstGenerator.cs


示例20: GetVariableExpression

        internal override Ast GetVariableExpression(PythonVariable variable) {
            if (variable.IsGlobal) {
                return GlobalParent.ModuleVariables[variable];
            }

            Ast expr;
            if (_variableMapping.TryGetValue(variable, out expr)) {
                return expr;
            }

            return _comprehension.Parent.GetVariableExpression(variable);
        }
开发者ID:CookieEaters,项目名称:FireHTTP,代码行数:12,代码来源:Comprehension.cs



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


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C# Ast.PythonWalker类代码示例发布时间:2022-05-26
下一篇:
C# Ast.PythonAst类代码示例发布时间:2022-05-26
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap