public override bool Begin(BlockBase b) { var bp = b.ParentBlock; if (bp != null && bp.BlockType == BlockType.MetaBlock) { if (b.BlockType != BlockType.MetaBlock || ((MetaBlock)bp).MetaBlockType != MetaBlockType.Scope) { Log.Error(b.Source, ErrorCode.E0000, "Block " + b.Quote() + " is not allowed in meta block"); } } return(!Environment.IsGeneratingCode); }