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

C# Ast.EnumDefinition类代码示例

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

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



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

示例1: OnEnumDefinition

 public override void OnEnumDefinition(EnumDefinition node)
 {
     if (null != node.Entity)
     {
         return;
     }
     node.Entity = new InternalEnum(TypeSystemServices, node);
 }
开发者ID:w4x,项目名称:boolangstudio,代码行数:8,代码来源:BindTypeDefinitions.cs


示例2: LeaveEnumDefinition

		override public void LeaveEnumDefinition(EnumDefinition node)
		{
			_members.Clear();
			foreach (TypeMember member in node.Members)
				if (_members.ContainsKey(member.Name))
					MemberNameConflict(member);
				else
					_members[member.Name] = new List<TypeMember>() { member };
		}
开发者ID:0xb1dd1e,项目名称:boo,代码行数:9,代码来源:CheckMemberNames.cs


示例3: LeaveEnumDefinition

        public override void LeaveEnumDefinition(EnumDefinition node)
        {
            CheckName(node,node.Name);

            foreach (EnumMember member in node.Members)
            {
                if (member.Initializer.NodeType != NodeType.IntegerLiteralExpression)
                    Errors.Add(
                        CompilerErrorFactory.EnumMemberMustBeConstant(member));
            }
        }
开发者ID:neonux,项目名称:boo,代码行数:11,代码来源:CheckIdentifiers.cs


示例4: LeaveEnumDefinition

 public override void LeaveEnumDefinition(EnumDefinition node)
 {
     _members.Clear();
     foreach (TypeMember member in node.Members)
     {
         if (_members.ContainsKey(member.Name))
         {
             MemberNameConflict(member);
         }
         else
         {
             _members[member.Name] = member;
         }
     }
 }
开发者ID:Bombadil77,项目名称:boo,代码行数:15,代码来源:CheckMemberNames.cs


示例5: OnEnumDefinition

		override public void OnEnumDefinition(EnumDefinition node)
		{
			long lastValue = 0;
			foreach (EnumMember member in node.Members)
			{
				if (null == member.Initializer)
				{
					member.Initializer = new IntegerLiteralExpression(lastValue);
				}
				else if (member.Initializer.NodeType == NodeType.IntegerLiteralExpression)
				{
					lastValue = ((IntegerLiteralExpression) member.Initializer).Value;
				}
				++lastValue;
			}
		}
开发者ID:0xb1dd1e,项目名称:boo,代码行数:16,代码来源:BindEnumMembers.cs


示例6: OnEnumDefinition

        public override void OnEnumDefinition(EnumDefinition node)
        {
            long lastValue = 0;
            foreach (EnumMember member in node.Members)
            {
                if (null == member.Initializer)
                {
                    member.Initializer = new IntegerLiteralExpression(lastValue);
                }
                lastValue = member.Initializer.Value + 1;

                if (null == member.Entity)
                {
                    member.Entity = new InternalEnumMember(TypeSystemServices, member);
                }
            }
        }
开发者ID:boo,项目名称:boo-lang,代码行数:17,代码来源:BindEnumMembers.cs


示例7: EmitTypeAttributes

 void EmitTypeAttributes(EnumDefinition node)
 {
     EnumBuilder builder = GetBuilder(node) as EnumBuilder;
     if (null != builder)
     {
         EmitAttributes(node, builder.SetCustomAttribute);
     }
     else //nested enum
     {
         TypeBuilder typeBuilder = GetTypeBuilder(node);
         EmitAttributes(node, typeBuilder.SetCustomAttribute);
     }
 }
开发者ID:Bombadil77,项目名称:boo,代码行数:13,代码来源:EmitAssembly.cs


示例8: OnEnumDefinition

 public override void OnEnumDefinition(EnumDefinition node)
 {
     base.OnEnumDefinition(node);
     _emitter.EmitTypeAttributes(node);
 }
开发者ID:skalinets,项目名称:boo,代码行数:5,代码来源:EmitAssembly.cs


示例9: LeaveEnumDefinition

 public override void LeaveEnumDefinition(EnumDefinition node)
 {
     LeaveTypeDefinition(node);
 }
开发者ID:elfrostie,项目名称:boo,代码行数:4,代码来源:NormalizeTypeAndMemberDefinitions.cs


示例10: OnEnumDefinition

 public override void OnEnumDefinition(EnumDefinition node)
 {
     TypeBuilder builder = GetTypeBuilder(node);
     foreach (EnumMember member in node.Members)
     {
         FieldBuilder field = builder.DefineField(member.Name, builder,
                                                  FieldAttributes.Public |
                                                  FieldAttributes.Static |
                                                  FieldAttributes.Literal);
         field.SetConstant((int)member.Initializer.Value);
         SetBuilder(member, field);
     }
 }
开发者ID:w4x,项目名称:boolangstudio,代码行数:13,代码来源:EmitAssembly.cs


示例11: InternalEnum

 internal InternalEnum(TypeSystemServices tagManager, EnumDefinition enumDefinition)
     : base(tagManager, enumDefinition)
 {
 }
开发者ID:boo,项目名称:boo-lang,代码行数:4,代码来源:InternalEnum.cs


示例12: enum_member

        //throws RecognitionException, TokenStreamException
        protected void enum_member(
            EnumDefinition container
            )
        {
            IToken  id = null;

                EnumMember em = null;
                Expression initializer = null;

            try {      // for error handling
            attributes();
            id = LT(1);
            match(ID);
            {
                switch ( LA(1) )
                {
                case ASSIGN:
                {
                    match(ASSIGN);
                    initializer=simple_initializer();
                    break;
                }
                case EOL:
                case EOS:
                {
                    break;
                }
                default:
                {
                    throw new NoViableAltException(LT(1), getFilename());
                }
                 }
            }
            if (0==inputState.guessing)
            {

                        em = new EnumMember(ToLexicalInfo(id));
                        em.Name = id.getText();
                        em.Initializer = initializer;
                        AddAttributes(em.Attributes);
                        container.Members.Add(em);

            }
            eos();
            docstring(em);
            }
            catch (RecognitionException ex)
            {
            if (0 == inputState.guessing)
            {
                reportError(ex);
                recover(ex,tokenSet_38_);
            }
            else
            {
                throw ex;
            }
            }
        }
开发者ID:elfrostie,项目名称:boo,代码行数:60,代码来源:BooParserBase.cs


示例13: OnEnumDefinition

 public override void OnEnumDefinition(EnumDefinition node)
 {
 }
开发者ID:Bombadil77,项目名称:boo,代码行数:3,代码来源:BindBaseTypes.cs


示例14: LeaveEnumDefinition

 public override void LeaveEnumDefinition(EnumDefinition node)
 {
     CantBeMarkedAbstract(node);
     CantBeMarkedPartialIfNested(node);
     CantBeMarkedFinal(node);
     CantBeMarkedStatic(node);
 }
开发者ID:scottstephens,项目名称:boo,代码行数:7,代码来源:PreErrorChecking.cs


示例15: GetEnumUnderlyingType

 private Type GetEnumUnderlyingType(EnumDefinition node)
 {
     return ((InternalEnum) node.Entity).UnderlyingType;
 }
开发者ID:Bombadil77,项目名称:boo,代码行数:4,代码来源:EmitAssembly.cs


示例16: OnEnumDefinition

 public override void OnEnumDefinition(EnumDefinition node)
 {
     var builder = GetBuilder(node) as EnumBuilder;
     if (null != builder)
     {
         foreach (EnumMember member in node.Members)
         {
             var field = builder.DefineLiteral(member.Name, InitializerValueOf(member, node));
             SetBuilder(member, field);
         }
     }
     else //nested enum (have to go through regular TypeBuilder
     {	 //since there is no DefineNestedEnum in SRE :-/
         TypeBuilder typeBuilder = GetTypeBuilder(node);
         foreach (EnumMember member in node.Members)
         {
             var field = typeBuilder.DefineField(member.Name, typeBuilder,
                                                 FieldAttributes.Public |
                                                 FieldAttributes.Static |
                                                 FieldAttributes.Literal);
             field.SetConstant(InitializerValueOf(member, node));
             SetBuilder(member, field);
         }
     }
 }
开发者ID:Bombadil77,项目名称:boo,代码行数:25,代码来源:EmitAssembly.cs


示例17: OnEnumDefinition

 public override void OnEnumDefinition(EnumDefinition node)
 {
     OnCandidatePartialDefinition(node);
 }
开发者ID:boo-lang,项目名称:boo,代码行数:4,代码来源:MergePartialTypes.cs


示例18: OnEnumDefinition

		override public void OnEnumDefinition(EnumDefinition node)
		{
			EnsureEntityFor(node);
		}
开发者ID:0xb1dd1e,项目名称:boo,代码行数:4,代码来源:BindTypeDefinitions.cs


示例19: OnEnumDefinition

 public override void OnEnumDefinition(EnumDefinition node)
 {
     VisitTypeDefinition(node);
 }
开发者ID:boo,项目名称:boo-lang,代码行数:4,代码来源:BindAndApplyAttributes.cs


示例20: OnEnumDefinition

 public override void OnEnumDefinition(EnumDefinition node)
 {
     AddMember(node);
 }
开发者ID:boo,项目名称:boo-lang,代码行数:4,代码来源:MergePartialClasses.cs



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


鲜花

握手

雷人

路过

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

请发表评论

全部评论

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

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

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

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

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