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


C# SourceSpan类代码示例

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


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

示例1: DoStatementBuilder

        internal DoStatementBuilder(SourceSpan statementSpan, SourceLocation location, Statement body) {
            Contract.RequiresNotNull(body, "body");

            _body = body;
            _doLocation = location;
            _statementSpan = statementSpan;
        }
开发者ID:JamesTryand,项目名称:IronScheme,代码行数:7,代码来源:DoStatementBuilder.cs

示例2: Catch

 public static CatchBlock Catch(SourceSpan span, SourceLocation header, Type type, Variable target, Statement body)
 {
     Contract.RequiresNotNull(type, "type");
     Contract.Requires(target == null || TypeUtils.CanAssign(target.Type, type), "target");
     Contract.RequiresNotNull(body, "body");
     return new CatchBlock(span, header, type, target, body);
 }
开发者ID:robertlj,项目名称:IronScheme,代码行数:7,代码来源:CatchBlock.cs

示例3: TryCatchFinally

 public static TryStatement TryCatchFinally(SourceSpan span, SourceLocation header, Statement body, CatchBlock[] handlers, Statement @finally)
 {
     return new TryStatement(
         span, header,
          body, CollectionUtils.ToReadOnlyCollection(handlers), @finally
     );
 }
开发者ID:robertlj,项目名称:IronScheme,代码行数:7,代码来源:TryStatementBuilder.cs

示例4: Scope

        public static ScopeStatement Scope(SourceSpan span, Expression scope, Statement body) {
            Contract.RequiresNotNull(scope, "scope");
            Contract.RequiresNotNull(body, "body");
            Contract.Requires(TypeUtils.CanAssign(typeof(IAttributesCollection), scope.Type), "scope", "Scope must be IAttributesCollection");

            return new ScopeStatement(span, scope, body);
        }
开发者ID:JamesTryand,项目名称:IronScheme,代码行数:7,代码来源:ScopeStatment.cs

示例5: Throw

 public static ThrowStatement Throw(SourceSpan span, Expression value)
 {
     if (value != null) {
         Contract.Requires(TypeUtils.CanAssign(typeof(Exception), value.Type));
     }
     return new ThrowStatement(span, value);
 }
开发者ID:robertlj,项目名称:IronScheme,代码行数:7,代码来源:ThrowStatement.cs

示例6: Switch

        public static SwitchStatement Switch(SourceSpan span, SourceLocation header, Expression value, params SwitchCase[] cases)
        {
            Contract.RequiresNotNull(value, "value");
            Contract.Requires(value.Type == typeof(int), "value", "Value must be int");
            Contract.RequiresNotEmpty(cases, "cases");
            Contract.RequiresNotNullItems(cases, "cases");

            bool @default = false;
            int max = Int32.MinValue;
            int min = Int32.MaxValue;
            foreach (SwitchCase sc in cases) {
                if (sc.IsDefault) {
                    Contract.Requires(@default == false, "cases", "Only one default clause allowed");
                    @default = true;
                } else {
                    int val = sc.Value;
                    if (val > max) max = val;
                    if (val < min) min = val;
                }
            }

            Contract.Requires(UniqueCaseValues(cases, min, max), "cases", "Case values must be unique");

            return new SwitchStatement(span, header, value, CollectionUtils.ToReadOnlyCollection(cases));
        }
开发者ID:robertlj,项目名称:IronScheme,代码行数:25,代码来源:SwitchStatement.cs

示例7: CustomErrorCorrection

 public CustomErrorCorrection(int errorId, SourceSpan errorSpan, params object[] parameters)
     : base(CorrectionMethod.Custom)
 {
     ErrorId = errorId;
     ErrorSpan = errorSpan;
     Parameters = parameters;
 }
开发者ID:jiangzhen,项目名称:VBF,代码行数:7,代码来源:ErrorCorrection.cs

示例8: LexemeValue

        public LexemeValue(string content, SourceSpan span)
        {
            CodeContract.RequiresArgumentNotNull(span, "span");

            Content = content;
            Span = span;
        }
开发者ID:destinyclown,项目名称:VBF,代码行数:7,代码来源:LexemeValue.cs

示例9: DoStatement

 /// <summary>
 /// Called by <see cref="DoStatementBuilder"/>.
 /// </summary>
 internal DoStatement(SourceSpan span, SourceLocation header, Expression /*!*/ test, Statement /*!*/ body)
     : base(AstNodeType.DoStatement, span)
 {
     _header = header;
     _test = test;
     _body = body;
 }
开发者ID:robertlj,项目名称:IronScheme,代码行数:10,代码来源:DoStatement.cs

示例10: LoopStatement

 /// <summary>
 /// Null test means infinite loop.
 /// </summary>
 internal LoopStatement(SourceSpan span, SourceLocation header, Expression test, Expression increment, Statement /*!*/ body, Statement @else)
     : base(AstNodeType.LoopStatement, span) {
     _test = test;
     _increment = increment;
     _body = body;
     _else = @else;
     _header = header;
 }
开发者ID:JamesTryand,项目名称:IronScheme,代码行数:11,代码来源:LoopStatement.cs

示例11: IfCondition

        public static IfStatementTest IfCondition(SourceSpan span, SourceLocation header, Expression test, Statement body)
        {
            Contract.RequiresNotNull(test, "test");
            Contract.RequiresNotNull(body, "body");
            Contract.Requires(test.Type == typeof(bool), "test", "Test must be boolean");

            return new IfStatementTest(span, header, test, body);
        }
开发者ID:robertlj,项目名称:IronScheme,代码行数:8,代码来源:IfStatementTest.cs

示例12: SwitchStatement

        internal SwitchStatement(SourceSpan span, SourceLocation header, Expression/*!*/ testValue, ReadOnlyCollection<SwitchCase>/*!*/ cases)
            : base(AstNodeType.SwitchStatement, span) {
            Assert.NotNullItems(cases);

            _testValue = testValue;
            _cases = cases;
            _header = header;
        }
开发者ID:JamesTryand,项目名称:IronScheme,代码行数:8,代码来源:SwitchStatement.cs

示例13: Lexeme

 internal Lexeme(ScannerInfo scannerInfo, int state, SourceSpan span, string value, int skippedTokenCount)
 {
     m_scannerInfo = scannerInfo;
     m_stateIndex = state;
     Span = span;
     Value = value;
     SkippedTokenCount = skippedTokenCount;
 }
开发者ID:zhoufoxcn,项目名称:VBF,代码行数:8,代码来源:Lexeme.cs

示例14: Lexeme

        internal Lexeme(ScannerInfo scannerInfo, int state, SourceSpan span, string content)
        {
            m_scannerInfo = scannerInfo;
            m_stateIndex = state;
            Value = new LexemeValue(content, span);

            m_trivia = s_emptyTrivia;
        }
开发者ID:destinyclown,项目名称:VBF,代码行数:8,代码来源:Lexeme.cs

示例15: TryStatement

 /// <summary>
 /// Called by <see cref="TryStatementBuilder"/>.
 /// Creates a try/catch/finally/else block.
 /// 
 /// The body is protected by the try block.
 /// The handlers consist of a set of language-dependent tests which call into the LanguageContext.
 /// The elseSuite runs if no exception is thrown.
 /// The finallySuite runs regardless of how control exits the body.
 /// </summary>
 internal TryStatement(SourceSpan span, SourceLocation header, Statement body, ReadOnlyCollection<CatchBlock> handlers, Statement @finally)
     : base(AstNodeType.TryStatement, span)
 {
     _body = body;
     _handlers = handlers;
     _finally = @finally;
     _header = header;
 }
开发者ID:robertlj,项目名称:IronScheme,代码行数:17,代码来源:TryStatement.cs


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