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


C# CaseLabel类代码示例

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


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

示例1: SwitchBlock

 public SwitchBlock(IEmitter emitter, CaseLabel caseLabel, string varName, bool isFirst)
     : base(emitter, caseLabel)
 {
     this.Emitter = emitter;
     this.CaseLabel = caseLabel;
     varName_ = varName;
     isFirst_ = isFirst;
 }
开发者ID:yindongfei,项目名称:bridge.lua,代码行数:8,代码来源:SwitchBlock.cs

示例2: VisitCaseLabel

 public abstract StringBuilder VisitCaseLabel(CaseLabel caseLabel, int data);
开发者ID:hach-que,项目名称:SLSharp,代码行数:1,代码来源:VisitorBase.Abstract.cs

示例3: TrackedVisitCaseLabel

		public virtual object TrackedVisitCaseLabel(CaseLabel caseLabel, object data) {
			return base.VisitCaseLabel(caseLabel, data);
		}
开发者ID:mgagne-atman,项目名称:Projects,代码行数:3,代码来源:NodeTrackingAstVisitor.cs

示例4: Visit

			public override object Visit (Switch switchStatement)
			{
				var result = new SwitchStatement ();
				
				var location = LocationsBag.GetLocations (switchStatement);
				result.AddChild (new CSharpTokenNode (Convert (switchStatement.loc), "switch".Length), SwitchStatement.Roles.Keyword);
				if (location != null)
					result.AddChild (new CSharpTokenNode (Convert (location[0]), 1), SwitchStatement.Roles.LPar);
				result.AddChild ((INode)switchStatement.Expr.Accept (this), SwitchStatement.Roles.Expression);
				if (location != null)
					result.AddChild (new CSharpTokenNode (Convert (location[1]), 1), SwitchStatement.Roles.RPar);
				if (location != null)
					result.AddChild (new CSharpTokenNode (Convert (location[2]), 1), SwitchStatement.Roles.LBrace);
				foreach (var section in switchStatement.Sections) {
					var newSection = new MonoDevelop.CSharp.Dom.SwitchSection ();
					foreach (var caseLabel in section.Labels) {
						var newLabel = new CaseLabel ();
						newLabel.AddChild (new CSharpTokenNode (Convert (caseLabel.Location), "case".Length), SwitchStatement.Roles.Keyword);
						if (caseLabel.Label != null)
							newLabel.AddChild ((INode)caseLabel.Label.Accept (this), SwitchStatement.Roles.Expression);
						
						newSection.AddChild (newLabel, MonoDevelop.CSharp.Dom.SwitchSection.CaseLabelRole);
					}
					newSection.AddChild ((INode)section.Block.Accept (this), MonoDevelop.CSharp.Dom.SwitchSection.Roles.Body);
					result.AddChild (newSection, SwitchStatement.SwitchSectionRole);
				}
				
				if (location != null)
					result.AddChild (new CSharpTokenNode (Convert (location[3]), 1), SwitchStatement.Roles.RBrace);
				return result;
			}
开发者ID:pgoron,项目名称:monodevelop,代码行数:31,代码来源:CSharpParser.cs

示例5: Visit

			public override object Visit(SwitchLabel switchLabel)
			{
				var newLabel = new CaseLabel();
				if (!switchLabel.IsDefault) {
					newLabel.AddChild(new CSharpTokenNode(Convert(switchLabel.Location), CaseLabel.CaseKeywordRole), CaseLabel.CaseKeywordRole);
					if (switchLabel.Label != null)
						newLabel.AddChild((Expression)switchLabel.Label.Accept(this), Roles.Expression);
					var colonLocation = LocationsBag.GetLocations(switchLabel);
					if (colonLocation != null)
						newLabel.AddChild(new CSharpTokenNode(Convert(colonLocation [0]), Roles.Colon), Roles.Colon);
				} else {
					newLabel.AddChild(new CSharpTokenNode(Convert(switchLabel.Location), CaseLabel.DefaultKeywordRole), CaseLabel.DefaultKeywordRole);
					newLabel.AddChild(new CSharpTokenNode(new TextLocation(switchLabel.Location.Row, switchLabel.Location.Column + "default".Length), Roles.Colon), Roles.Colon);
				}
				return newLabel;
			}
开发者ID:0xb1dd1e,项目名称:NRefactory,代码行数:16,代码来源:CSharpParser.cs

示例6: VisitCaseLabel

 public override StringBuilder VisitCaseLabel(CaseLabel caseLabel, int data)
 {
     return new StringBuilder("case ").Append(caseLabel.Expression.AcceptVisitor(this, data)).Append(":");
 }
开发者ID:mono-soc-2011,项目名称:SLSharp,代码行数:4,代码来源:GlslVisitor.cs

示例7: VisitCaseLabel

		public override void VisitCaseLabel(CaseLabel caseLabel)
		{
			FixSemicolon(caseLabel.ColonToken);
		}
开发者ID:txdv,项目名称:monodevelop,代码行数:4,代码来源:AstFormattingVisitor.cs

示例8: VisitCaseLabel

		public virtual object VisitCaseLabel(CaseLabel caseLabel, object data) {
			Debug.Assert((caseLabel != null));
			Debug.Assert((caseLabel.Label != null));
			Debug.Assert((caseLabel.ToExpression != null));
			caseLabel.Label.AcceptVisitor(this, data);
			return caseLabel.ToExpression.AcceptVisitor(this, data);
		}
开发者ID:mgagne-atman,项目名称:Projects,代码行数:7,代码来源:AbstractASTVisitor.cs

示例9: VisitCaseLabel

 public void VisitCaseLabel(CaseLabel node)
 {
     VisitChildren(node);
 }
开发者ID:evanw,项目名称:minisharp,代码行数:4,代码来源:Lower.cs

示例10: VisitCaseLabel

        public void VisitCaseLabel(CaseLabel caseLabel)
        {
            JsonObject label = new JsonObject();
            label.Comment = "VisitCaseLabel";
            if (caseLabel.Expression.IsNull)
            {
                AddKeyword(label, CaseLabel.DefaultKeywordRole);

            }
            else
            {
                AddKeyword(label, CaseLabel.CaseKeywordRole);
                label.AddJsonValue("expression", GenExpression(caseLabel.Expression));
            }

            Push(label);
        }
开发者ID:CompilerKit,项目名称:CodeWalk,代码行数:17,代码来源:AstCsToJson.cs

示例11: VisitCaseLabel

		public virtual object VisitCaseLabel(CaseLabel caseLabel, object data) {
			throw new global::System.NotImplementedException("CaseLabel");
		}
开发者ID:mgagne-atman,项目名称:Projects,代码行数:3,代码来源:NotImplementedAstVisitor.cs

示例12: SwitchLabel

 private void SwitchLabel(out CaseLabel label)
 {
     Expression expr = null;
     label = null;
     if (this.la.kind == 0x36)
     {
         base.lexer.NextToken();
         this.Expr(out expr);
         base.Expect(9);
         label = new CaseLabel(expr);
     }
     else if (this.la.kind == 0x3e)
     {
         base.lexer.NextToken();
         base.Expect(9);
         label = new CaseLabel();
     }
     else
     {
         base.SynErr(0xb1);
     }
 }
开发者ID:KnowNo,项目名称:test-code-backup,代码行数:22,代码来源:Parser.cs

示例13: VisitCaseLabel

		public virtual object VisitCaseLabel(CaseLabel caseLabel, object data) {
			Debug.Assert((caseLabel != null));
			Debug.Assert((caseLabel.Label != null));
			Debug.Assert((caseLabel.ToExpression != null));
			nodeStack.Push(caseLabel.Label);
			caseLabel.Label.AcceptVisitor(this, data);
			caseLabel.Label = ((Expression)(nodeStack.Pop()));
			nodeStack.Push(caseLabel.ToExpression);
			caseLabel.ToExpression.AcceptVisitor(this, data);
			caseLabel.ToExpression = ((Expression)(nodeStack.Pop()));
			return null;
		}
开发者ID:mgagne-atman,项目名称:Projects,代码行数:12,代码来源:AbstractAstTransformer.cs

示例14: Visit

			public override object Visit (Switch switchStatement)
			{
				var result = new SwitchStatement ();
				
				var location = LocationsBag.GetLocations (switchStatement);
				result.AddChild (new CSharpTokenNode (Convert (switchStatement.loc), "switch".Length), SwitchStatement.Roles.Keyword);
				if (location != null)
					result.AddChild (new CSharpTokenNode (Convert (location[0]), 1), SwitchStatement.Roles.LPar);
				result.AddChild ((Expression)switchStatement.Expr.Accept (this), SwitchStatement.Roles.Expression);
				if (location != null)
					result.AddChild (new CSharpTokenNode (Convert (location[1]), 1), SwitchStatement.Roles.RPar);
				if (location != null)
					result.AddChild (new CSharpTokenNode (Convert (location[2]), 1), SwitchStatement.Roles.LBrace);
				foreach (var section in switchStatement.Sections) {
					var newSection = new SwitchSection ();
					foreach (var caseLabel in section.Labels) {
						var newLabel = new CaseLabel ();
						newLabel.AddChild (new CSharpTokenNode (Convert (caseLabel.Location), "case".Length), SwitchStatement.Roles.Keyword);
						if (caseLabel.Label != null)
							newLabel.AddChild ((Expression)caseLabel.Label.Accept (this), SwitchStatement.Roles.Expression);
						
						newSection.AddChild (newLabel, SwitchSection.CaseLabelRole);
					}
					
					var blockStatement = section.Block;
					var bodyBlock = new BlockStatement ();
					int curLocal = 0;
					AddBlockChildren (bodyBlock, blockStatement, ref curLocal);
					foreach (var statement in bodyBlock.Statements) {
						statement.Remove ();
						newSection.AddChild (statement, SwitchSection.Roles.EmbeddedStatement);
						
					}
					result.AddChild (newSection, SwitchStatement.SwitchSectionRole);
				}
				
				if (location != null)
					result.AddChild (new CSharpTokenNode (Convert (location[3]), 1), SwitchStatement.Roles.RBrace);
				return result;
			}
开发者ID:madkat,项目名称:NRefactory,代码行数:40,代码来源:CSharpParser.cs

示例15: VisitCaseLabel

 public override void VisitCaseLabel(CaseLabel caseLabel)
 {
     new SwitchBlock(this, caseLabel).Emit();
 }
开发者ID:TinkerWorX,项目名称:Bridge,代码行数:4,代码来源:Emitter.Visitor.cs


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