public override void VisitAttributeMetaDeclarationBlock(AttributeMetaDeclarationBlock a) { switch (CheckCondition(a.AttributeOrCondition)) { case 1: if (a.OptionalElseBlock != null) { invalidConditionalCodeRegions.Add(a.OptionalElseBlock); } break; case -1: invalidConditionalCodeRegions.Add(a); break; } base.VisitAttributeMetaDeclarationBlock(a); }
public virtual void Visit(AttributeMetaDeclarationBlock attributeMetaDeclarationBlock) { Visit((AttributeMetaDeclaration)attributeMetaDeclarationBlock); VisitMetaBlock(attributeMetaDeclarationBlock); }
IMetaDeclarationBlock AttributeBlock(DBlockNode module) { int popCount = DeclarationAttributes.Count; /* * If there are attributes given, put their references into the meta block. * Also, pop them from the declarationAttributes stack on to the block attributes so they will be assigned to all child items later on. */ IMetaDeclarationBlock metaDeclBlock; if (popCount != 0) metaDeclBlock = new AttributeMetaDeclarationBlock(DeclarationAttributes.ToArray()) { BlockStartLocation = la.Location }; else metaDeclBlock = new MetaDeclarationBlock { BlockStartLocation = la.Location }; while (DeclarationAttributes.Count > 0) BlockAttributes.Push(DeclarationAttributes.Pop()); ClassBody(module, true, false); // Pop the previously pushed attributes back off the stack for (int i = popCount; i > 0; i--) BlockAttributes.Pop(); // Store the meta block metaDeclBlock.EndLocation = t.EndLocation; if(module!=null) module.Add(metaDeclBlock); return metaDeclBlock; }
public virtual void VisitAttributeMetaDeclarationBlock(AttributeMetaDeclarationBlock m) { VisitAttributeMetaDeclaration(m); VisitIMetaBlock(m); }
public override void Visit(AttributeMetaDeclarationBlock attributeMetaDeclarationBlock) { base.Visit(attributeMetaDeclarationBlock); }
IMetaDeclarationBlock AttributeBlock(DBlockNode module) { /* * If there are attributes given, put their references into the meta block. * Also, pop them from the declarationAttributes stack on to the block attributes so they will be assigned to all child items later on. */ IMetaDeclarationBlock metaDeclBlock; if (DeclarationAttributes.Count != 0) metaDeclBlock = new AttributeMetaDeclarationBlock(DeclarationAttributes.ToArray()) { BlockStartLocation = la.Location }; else metaDeclBlock = new MetaDeclarationBlock { BlockStartLocation = la.Location }; var stk_backup = BlockAttributes; BlockAttributes = new Stack<DAttribute>(); foreach (var attr in stk_backup) { if (attr is Modifier) { switch ((attr as Modifier).Token) { case DTokens.Virtual: case DTokens.Final: continue; } } else if (attr is BuiltInAtAttribute) { switch ((attr as BuiltInAtAttribute).Kind) { case BuiltInAtAttribute.BuiltInAttributes.Safe: case BuiltInAtAttribute.BuiltInAttributes.System: case BuiltInAtAttribute.BuiltInAttributes.Trusted: continue; } } BlockAttributes.Push(attr); } while (DeclarationAttributes.Count > 0) BlockAttributes.Push(DeclarationAttributes.Pop()); ClassBody(module, true, false); BlockAttributes = stk_backup; // Store the meta block metaDeclBlock.EndLocation = t.EndLocation; if(module!=null) module.Add(metaDeclBlock); return metaDeclBlock; }
public ulong VisitAttributeMetaDeclarationBlock(AttributeMetaDeclarationBlock m) { return(1002049); }