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


C# ExpressionStatement.GetRegion方法代码示例

本文整理汇总了C#中ExpressionStatement.GetRegion方法的典型用法代码示例。如果您正苦于以下问题:C# ExpressionStatement.GetRegion方法的具体用法?C# ExpressionStatement.GetRegion怎么用?C# ExpressionStatement.GetRegion使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在ExpressionStatement的用法示例。


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

示例1: VisitExpressionStatement

        public override void VisitExpressionStatement(ExpressionStatement expressionStatement)
        {
            var resolveResult = ResolveWithConversion(expressionStatement.Expression);
            if (resolveResult is InvocationResolveResult && ((InvocationResolveResult)resolveResult).Member is IMethod) {
                var member = ((InvocationResolveResult)resolveResult).Member;
                if (((IUnresolvedMethod)((InvocationResolveResult)resolveResult).Member.UnresolvedMember).IsPartialMethodDeclaration) {	// This test is OK according to https://github.com/icsharpcode/NRefactory/issues/12
                    // Invocation of a partial method without definition - remove (yes, I too feel the arguments should be evaluated but the spec says no.
                    return;
                }
                var cas = member.Attributes.Where(a => a.AttributeType.FullName == "System.Diagnostics.ConditionalAttribute").Select(a => (string)a.PositionalArguments[0].ConstantValue).ToList();
                if (cas.Count > 0) {
                    if (!cas.Any(x => _definedSymbols.Contains(x))) {
                        // Invocation of conditional method, but the symbol is not defined.
                        return;
                    }
                }
            }

            var compiled = _expressionCompiler.Compile(expressionStatement.GetRegion().FileName, expressionStatement.StartLocation, resolveResult, false);
            _result.AddRange(compiled.AdditionalStatements);
            _result.Add(new JsExpressionStatement(compiled.Expression));
        }
开发者ID:arnauddias,项目名称:SaltarelleCompiler,代码行数:22,代码来源:StatementCompiler.cs


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