Mono.CSharp.Block.CreateSwitchBlock C# (CSharp) Method

CreateSwitchBlock() public method

public CreateSwitchBlock ( Mono.CSharp.Location start ) : Block
start Mono.CSharp.Location
return Block
		public Block CreateSwitchBlock (Location start)
		{
			// FIXME: Only explicit block should be created
			var new_block = new Block (this, start, start);
			new_block.IsCompilerGenerated = true;
			return new_block;
		}

Usage Example

Example #1
0
  /** the generated parser.
      Maintains a state and a value stack, currently with fixed maximum size.
      @param yyLex scanner.
      @return result of the last reduction, if any.
      @throws yyException on irrecoverable parse error.
    */
  internal Object yyparse (yyParser.yyInput yyLex)
  {
    if (yyMax <= 0) yyMax = 256;		// initial size
    int yyState = 0;                   // state stack ptr
    int [] yyStates;               	// state stack 
    yyVal = null;
    yyToken = -1;
    int yyErrorFlag = 0;				// #tks to shift
	if (use_global_stacks && global_yyStates != null) {
		yyVals = global_yyVals;
		yyStates = global_yyStates;
   } else {
		yyVals = new object [yyMax];
		yyStates = new int [yyMax];
		if (use_global_stacks) {
			global_yyVals = yyVals;
			global_yyStates = yyStates;
		}
	}

    /*yyLoop:*/ for (yyTop = 0;; ++ yyTop) {
      if (yyTop >= yyStates.Length) {			// dynamically increase
        global::System.Array.Resize (ref yyStates, yyStates.Length+yyMax);
        global::System.Array.Resize (ref yyVals, yyVals.Length+yyMax);
      }
      yyStates[yyTop] = yyState;
      yyVals[yyTop] = yyVal;
//t      if (debug != null) debug.push(yyState, yyVal);

      /*yyDiscarded:*/ while (true) {	// discarding a token does not change stack
        int yyN;
        if ((yyN = yyDefRed[yyState]) == 0) {	// else [default] reduce (yyN)
          if (yyToken < 0) {
            yyToken = yyLex.advance() ? yyLex.token() : 0;
//t            if (debug != null)
//t              debug.lex(yyState, yyToken, yyname(yyToken), yyLex.value());
          }
          if ((yyN = yySindex[yyState]) != 0 && ((yyN += yyToken) >= 0)
              && (yyN < yyTable.Length) && (yyCheck[yyN] == yyToken)) {
//t            if (debug != null)
//t              debug.shift(yyState, yyTable[yyN], yyErrorFlag-1);
            yyState = yyTable[yyN];		// shift to yyN
            yyVal = yyLex.value();
            yyToken = -1;
            if (yyErrorFlag > 0) -- yyErrorFlag;
            goto continue_yyLoop;
          }
          if ((yyN = yyRindex[yyState]) != 0 && (yyN += yyToken) >= 0
              && yyN < yyTable.Length && yyCheck[yyN] == yyToken)
            yyN = yyTable[yyN];			// reduce (yyN)
          else
            switch (yyErrorFlag) {
  
            case 0:
              yyExpectingState = yyState;
              // yyerror(String.Format ("syntax error, got token `{0}'", yyname (yyToken)), yyExpecting(yyState));
//t              if (debug != null) debug.error("syntax error");
              if (yyToken == 0 /*eof*/ || yyToken == eof_token) throw new yyParser.yyUnexpectedEof ();
              goto case 1;
            case 1: case 2:
              yyErrorFlag = 3;
              do {
                if ((yyN = yySindex[yyStates[yyTop]]) != 0
                    && (yyN += Token.yyErrorCode) >= 0 && yyN < yyTable.Length
                    && yyCheck[yyN] == Token.yyErrorCode) {
//t                  if (debug != null)
//t                    debug.shift(yyStates[yyTop], yyTable[yyN], 3);
                  yyState = yyTable[yyN];
                  yyVal = yyLex.value();
                  goto continue_yyLoop;
                }
//t                if (debug != null) debug.pop(yyStates[yyTop]);
              } while (-- yyTop >= 0);
//t              if (debug != null) debug.reject();
              throw new yyParser.yyException("irrecoverable syntax error");
  
            case 3:
              if (yyToken == 0) {
//t                if (debug != null) debug.reject();
                throw new yyParser.yyException("irrecoverable syntax error at end-of-file");
              }
//t              if (debug != null)
//t                debug.discard(yyState, yyToken, yyname(yyToken),
//t  							yyLex.value());
              yyToken = -1;
              goto continue_yyDiscarded;		// leave stack alone
            }
        }
        int yyV = yyTop + 1-yyLen[yyN];
//t        if (debug != null)
//t          debug.reduce(yyState, yyStates[yyV-1], yyN, YYRules.getRule (yyN), yyLen[yyN]);
        yyVal = yyV > yyTop ? null : yyVals[yyV]; // yyVal = yyDefault(yyV > yyTop ? null : yyVals[yyV]);
        switch (yyN) {
case 5:
#line 374 "cs-parser.jay"
  { Lexer.CompleteOnEOF = false; }
  break;
case 7:
#line 381 "cs-parser.jay"
  {
		Lexer.check_incorrect_doc_comment ();
	  }
  break;
case 8:
#line 385 "cs-parser.jay"
  {
		Lexer.check_incorrect_doc_comment ();
	  }
  break;
case 16:
  case_16();
  break;
case 17:
#line 421 "cs-parser.jay"
  {
	  	syntax_error (GetLocation (yyVals[-1+yyTop]), "`alias' expected");   /* TODO: better*/
	  }
  break;
case 20:
  case_20();
  break;
case 21:
  case_21();
  break;
case 22:
  case_22();
  break;
case 23:
  case_23();
  break;
case 24:
  case_24();
  break;
case 25:
  case_25();
  break;
case 26:
  case_26();
  break;
case 27:
  case_27();
  break;
case 28:
  case_28();
  break;
case 29:
  case_29();
  break;
case 34:
  case_34();
  break;
case 35:
  case_35();
  break;
case 36:
#line 546 "cs-parser.jay"
  {
		ubag.CloseNamespace (GetLocation (yyVals[-2+yyTop]));
	  }
  break;
case 45:
  case_45();
  break;
case 46:
#line 583 "cs-parser.jay"
  {
		current_namespace.DeclarationFound = true;
	  }
  break;
case 47:
#line 587 "cs-parser.jay"
  {
		Report.Error (116, ((MemberCore) yyVals[0+yyTop]).Location, "A namespace can only contain types and namespace declarations");
	  }
  break;
case 48:
#line 590 "cs-parser.jay"
  {
		Report.Error (116, ((MemberCore) yyVals[0+yyTop]).Location, "A namespace can only contain types and namespace declarations");
	  }
  break;
case 49:
#line 594 "cs-parser.jay"
  {
		Error_SyntaxError (yyToken);
	 }
  break;
case 55:
  case_55();
  break;
case 56:
  case_56();
  break;
case 57:
  case_57();
  break;
case 58:
  case_58();
  break;
case 59:
  case_59();
  break;
case 60:
#line 715 "cs-parser.jay"
  {
		yyVal = yyVals[-2+yyTop];
 	  }
  break;
case 61:
#line 719 "cs-parser.jay"
  {
		yyVal = yyVals[-2+yyTop];
	  }
  break;
case 62:
  case_62();
  break;
case 63:
  case_63();
  break;
case 64:
#line 736 "cs-parser.jay"
  { yyVal = "event"; }
  break;
case 65:
#line 737 "cs-parser.jay"
  { yyVal = "return"; }
  break;
case 66:
  case_66();
  break;
case 67:
#line 749 "cs-parser.jay"
  {
		yyVal = new List<Attribute> (4) { (Attribute) yyVals[0+yyTop] };
	  }
  break;
case 68:
  case_68();
  break;
case 69:
#line 763 "cs-parser.jay"
  {
		++lexer.parsing_block;
	  }
  break;
case 70:
  case_70();
  break;
case 71:
#line 788 "cs-parser.jay"
  { /* reserved attribute name or identifier: 17.4 */ }
  break;
case 72:
#line 792 "cs-parser.jay"
  { yyVal = null; }
  break;
case 73:
#line 796 "cs-parser.jay"
  {
		yyVal = yyVals[-1+yyTop];
	  }
  break;
case 74:
#line 801 "cs-parser.jay"
  { yyVal = null; }
  break;
case 75:
  case_75();
  break;
case 76:
  case_76();
  break;
case 77:
  case_77();
  break;
case 78:
  case_78();
  break;
case 79:
#line 845 "cs-parser.jay"
  {
	  	yyVal = new Argument ((Expression) yyVals[0+yyTop]);
	  }
  break;
case 81:
#line 853 "cs-parser.jay"
  {
		++lexer.parsing_block;
	  }
  break;
case 82:
  case_82();
  break;
case 83:
  case_83();
  break;
case 84:
#line 877 "cs-parser.jay"
  { yyVal = null; }
  break;
case 85:
#line 881 "cs-parser.jay"
  { 
		yyVal = Argument.AType.Ref;
	  }
  break;
case 86:
#line 885 "cs-parser.jay"
  { 
		yyVal = Argument.AType.Out;
	  }
  break;
case 101:
  case_101();
  break;
case 102:
#line 926 "cs-parser.jay"
  {
		lexer.ConstraintsParsing = true;
	  }
  break;
case 103:
  case_103();
  break;
case 104:
  case_104();
  break;
case 105:
  case_105();
  break;
case 106:
  case_106();
  break;
case 107:
#line 958 "cs-parser.jay"
  {
		Error_SyntaxError (yyToken);
	  }
  break;
case 108:
  case_108();
  break;
case 109:
#line 970 "cs-parser.jay"
  {
		lbag.AppendToMember (current_class, GetLocation (yyVals[-3+yyTop]), GetLocation (yyVals[0+yyTop]));
	  }
  break;
case 124:
  case_124();
  break;
case 125:
  case_125();
  break;
case 128:
#line 1039 "cs-parser.jay"
  {
		current_field.AddDeclarator ((FieldDeclarator) yyVals[0+yyTop]);
	  }
  break;
case 129:
#line 1043 "cs-parser.jay"
  {
		current_field.AddDeclarator ((FieldDeclarator) yyVals[0+yyTop]);
	  }
  break;
case 130:
  case_130();
  break;
case 131:
#line 1059 "cs-parser.jay"
  {
		++lexer.parsing_block;
	  }
  break;
case 132:
  case_132();
  break;
case 133:
  case_133();
  break;
case 136:
  case_136();
  break;
case 137:
  case_137();
  break;
case 138:
  case_138();
  break;
case 139:
  case_139();
  break;
case 140:
#line 1137 "cs-parser.jay"
  {
		Report.Error (1641, GetLocation (yyVals[-1+yyTop]), "A fixed size buffer field must have the array size specifier after the field name");
	  }
  break;
case 142:
  case_142();
  break;
case 143:
  case_143();
  break;
case 146:
#line 1167 "cs-parser.jay"
  {
		current_field.AddDeclarator ((FieldDeclarator) yyVals[0+yyTop]);
	  }
  break;
case 147:
#line 1171 "cs-parser.jay"
  {
		current_field.AddDeclarator ((FieldDeclarator) yyVals[0+yyTop]);
	  }
  break;
case 148:
  case_148();
  break;
case 149:
#line 1184 "cs-parser.jay"
  {
		++lexer.parsing_block;
	  }
  break;
case 150:
  case_150();
  break;
case 153:
#line 1203 "cs-parser.jay"
  {
		current_field.AddDeclarator ((FieldDeclarator) yyVals[0+yyTop]);
	  }
  break;
case 154:
#line 1207 "cs-parser.jay"
  {
		current_field.AddDeclarator ((FieldDeclarator) yyVals[0+yyTop]);
	  }
  break;
case 155:
  case_155();
  break;
case 156:
#line 1223 "cs-parser.jay"
  {
		++lexer.parsing_block;
	  }
  break;
case 157:
  case_157();
  break;
case 158:
  case_158();
  break;
case 161:
  case_161();
  break;
case 162:
  case_162();
  break;
case 163:
  case_163();
  break;
case 164:
#line 1277 "cs-parser.jay"
  {
		valid_param_mod = ParameterModifierType.All;
	  }
  break;
case 165:
#line 1281 "cs-parser.jay"
  {
		lexer.ConstraintsParsing = true;
	  }
  break;
case 166:
  case_166();
  break;
case 167:
#line 1322 "cs-parser.jay"
  {
	  	valid_param_mod = ParameterModifierType.All;
	  }
  break;
case 168:
#line 1326 "cs-parser.jay"
  {
		lexer.ConstraintsParsing = true;
	  }
  break;
case 169:
  case_169();
  break;
case 170:
  case_170();
  break;
case 172:
#line 1402 "cs-parser.jay"
  { yyVal = null; }
  break;
case 173:
#line 1406 "cs-parser.jay"
  { yyVal = ParametersCompiled.EmptyReadOnlyParameters; }
  break;
case 175:
  case_175();
  break;
case 176:
  case_176();
  break;
case 177:
  case_177();
  break;
case 178:
  case_178();
  break;
case 179:
  case_179();
  break;
case 180:
  case_180();
  break;
case 181:
  case_181();
  break;
case 182:
#line 1465 "cs-parser.jay"
  {
		yyVal = new ParametersCompiled (new Parameter[] { (Parameter) yyVals[0+yyTop] } );
	  }
  break;
case 183:
#line 1469 "cs-parser.jay"
  {
		yyVal = new ParametersCompiled (new Parameter [] { new ArglistParameter (GetLocation (yyVals[0+yyTop])) }, true);
	  }
  break;
case 184:
  case_184();
  break;
case 185:
  case_185();
  break;
case 186:
  case_186();
  break;
case 187:
  case_187();
  break;
case 188:
  case_188();
  break;
case 189:
  case_189();
  break;
case 190:
#line 1544 "cs-parser.jay"
  {
	  	++lexer.parsing_block;
	  }
  break;
case 191:
  case_191();
  break;
case 192:
#line 1585 "cs-parser.jay"
  { yyVal = Parameter.Modifier.NONE; }
  break;
case 194:
  case_194();
  break;
case 195:
  case_195();
  break;
case 196:
  case_196();
  break;
case 197:
  case_197();
  break;
case 198:
  case_198();
  break;
case 199:
  case_199();
  break;
case 200:
  case_200();
  break;
case 201:
  case_201();
  break;
case 202:
  case_202();
  break;
case 203:
  case_203();
  break;
case 204:
#line 1683 "cs-parser.jay"
  {
		Error_DuplicateParameterModifier (GetLocation (yyVals[-1+yyTop]), Parameter.Modifier.PARAMS);
	  }
  break;
case 205:
  case_205();
  break;
case 206:
  case_206();
  break;
case 207:
  case_207();
  break;
case 208:
  case_208();
  break;
case 209:
  case_209();
  break;
case 210:
#line 1736 "cs-parser.jay"
  {
	  	valid_param_mod = ParameterModifierType.Params | ParameterModifierType.DefaultValue;
	  }
  break;
case 211:
  case_211();
  break;
case 212:
#line 1766 "cs-parser.jay"
  {
		  lexer.PropertyParsing = false;
	  }
  break;
case 213:
  case_213();
  break;
case 218:
  case_218();
  break;
case 219:
  case_219();
  break;
case 220:
  case_220();
  break;
case 221:
  case_221();
  break;
case 222:
  case_222();
  break;
case 224:
  case_224();
  break;
case 225:
  case_225();
  break;
case 226:
#line 1908 "cs-parser.jay"
  {
		lexer.ConstraintsParsing = true;
	  }
  break;
case 227:
  case_227();
  break;
case 228:
  case_228();
  break;
case 229:
  case_229();
  break;
case 230:
  case_230();
  break;
case 231:
#line 1941 "cs-parser.jay"
  {
		Error_SyntaxError (yyToken);	  
	  }
  break;
case 236:
#line 1958 "cs-parser.jay"
  {
		Report.Error (525, GetLocation (yyVals[0+yyTop]), "Interfaces cannot contain fields or constants");
	  }
  break;
case 237:
#line 1962 "cs-parser.jay"
  {
		Report.Error (525, GetLocation (yyVals[0+yyTop]), "Interfaces cannot contain fields or constants");
	  }
  break;
case 242:
#line 1970 "cs-parser.jay"
  {
	  	Report.Error (567, GetLocation (yyVals[0+yyTop]), "Interfaces cannot contain operators");
	  }
  break;
case 243:
#line 1974 "cs-parser.jay"
  {
	  	Report.Error (526, GetLocation (yyVals[0+yyTop]), "Interfaces cannot contain contructors");
	  }
  break;
case 244:
#line 1978 "cs-parser.jay"
  {
	  	Report.Error (524, GetLocation (yyVals[0+yyTop]), "Interfaces cannot declare classes, structs, interfaces, delegates, or enumerations");
	  }
  break;
case 245:
#line 1984 "cs-parser.jay"
  {
	  }
  break;
case 246:
  case_246();
  break;
case 248:
#line 2011 "cs-parser.jay"
  { yyVal = null; }
  break;
case 250:
  case_250();
  break;
case 251:
#line 2027 "cs-parser.jay"
  {
		valid_param_mod = ParameterModifierType.DefaultValue;
	  }
  break;
case 252:
  case_252();
  break;
case 254:
#line 2073 "cs-parser.jay"
  { yyVal = Operator.OpType.LogicalNot; }
  break;
case 255:
#line 2074 "cs-parser.jay"
  { yyVal = Operator.OpType.OnesComplement; }
  break;
case 256:
#line 2075 "cs-parser.jay"
  { yyVal = Operator.OpType.Increment; }
  break;
case 257:
#line 2076 "cs-parser.jay"
  { yyVal = Operator.OpType.Decrement; }
  break;
case 258:
#line 2077 "cs-parser.jay"
  { yyVal = Operator.OpType.True; }
  break;
case 259:
#line 2078 "cs-parser.jay"
  { yyVal = Operator.OpType.False; }
  break;
case 260:
#line 2080 "cs-parser.jay"
  { yyVal = Operator.OpType.Addition; }
  break;
case 261:
#line 2081 "cs-parser.jay"
  { yyVal = Operator.OpType.Subtraction; }
  break;
case 262:
#line 2083 "cs-parser.jay"
  { yyVal = Operator.OpType.Multiply; }
  break;
case 263:
#line 2084 "cs-parser.jay"
  {  yyVal = Operator.OpType.Division; }
  break;
case 264:
#line 2085 "cs-parser.jay"
  { yyVal = Operator.OpType.Modulus; }
  break;
case 265:
#line 2086 "cs-parser.jay"
  { yyVal = Operator.OpType.BitwiseAnd; }
  break;
case 266:
#line 2087 "cs-parser.jay"
  { yyVal = Operator.OpType.BitwiseOr; }
  break;
case 267:
#line 2088 "cs-parser.jay"
  { yyVal = Operator.OpType.ExclusiveOr; }
  break;
case 268:
#line 2089 "cs-parser.jay"
  { yyVal = Operator.OpType.LeftShift; }
  break;
case 269:
#line 2090 "cs-parser.jay"
  { yyVal = Operator.OpType.RightShift; }
  break;
case 270:
#line 2091 "cs-parser.jay"
  { yyVal = Operator.OpType.Equality; }
  break;
case 271:
#line 2092 "cs-parser.jay"
  { yyVal = Operator.OpType.Inequality; }
  break;
case 272:
#line 2093 "cs-parser.jay"
  { yyVal = Operator.OpType.GreaterThan; }
  break;
case 273:
#line 2094 "cs-parser.jay"
  { yyVal = Operator.OpType.LessThan; }
  break;
case 274:
#line 2095 "cs-parser.jay"
  { yyVal = Operator.OpType.GreaterThanOrEqual; }
  break;
case 275:
#line 2096 "cs-parser.jay"
  { yyVal = Operator.OpType.LessThanOrEqual; }
  break;
case 276:
#line 2103 "cs-parser.jay"
  {
		valid_param_mod = ParameterModifierType.DefaultValue;
	  }
  break;
case 277:
  case_277();
  break;
case 278:
#line 2122 "cs-parser.jay"
  {
		valid_param_mod = ParameterModifierType.DefaultValue;
	  }
  break;
case 279:
  case_279();
  break;
case 280:
  case_280();
  break;
case 281:
  case_281();
  break;
case 282:
  case_282();
  break;
case 283:
  case_283();
  break;
case 284:
  case_284();
  break;
case 285:
  case_285();
  break;
case 287:
#line 2225 "cs-parser.jay"
  { current_block = null; yyVal = null; }
  break;
case 290:
#line 2237 "cs-parser.jay"
  {
		++lexer.parsing_block;
	  }
  break;
case 291:
  case_291();
  break;
case 292:
#line 2247 "cs-parser.jay"
  {
		++lexer.parsing_block;
	  }
  break;
case 293:
  case_293();
  break;
case 294:
  case_294();
  break;
case 295:
  case_295();
  break;
case 296:
  case_296();
  break;
case 297:
  case_297();
  break;
case 298:
  case_298();
  break;
case 299:
  case_299();
  break;
case 300:
  case_300();
  break;
case 301:
  case_301();
  break;
case 303:
#line 2356 "cs-parser.jay"
  {
	  	++lexer.parsing_block;
	  }
  break;
case 304:
  case_304();
  break;
case 307:
#line 2373 "cs-parser.jay"
  {
		current_event_field.AddDeclarator ((FieldDeclarator) yyVals[0+yyTop]);
	  }
  break;
case 308:
#line 2377 "cs-parser.jay"
  {
		current_event_field.AddDeclarator ((FieldDeclarator) yyVals[0+yyTop]);
	  }
  break;
case 309:
  case_309();
  break;
case 310:
#line 2390 "cs-parser.jay"
  {
		++lexer.parsing_block;
	  }
  break;
case 311:
  case_311();
  break;
case 312:
  case_312();
  break;
case 313:
#line 2415 "cs-parser.jay"
  {
		yyVal = yyVals[0+yyTop];
	  }
  break;
case 316:
  case_316();
  break;
case 317:
  case_317();
  break;
case 318:
  case_318();
  break;
case 319:
  case_319();
  break;
case 320:
  case_320();
  break;
case 321:
  case_321();
  break;
case 322:
  case_322();
  break;
case 323:
  case_323();
  break;
case 325:
  case_325();
  break;
case 326:
  case_326();
  break;
case 327:
  case_327();
  break;
case 328:
  case_328();
  break;
case 330:
  case_330();
  break;
case 331:
  case_331();
  break;
case 334:
#line 2574 "cs-parser.jay"
  {
	  	lbag.AddLocation (yyVals[-1+yyTop], GetLocation (yyVals[0+yyTop]));
	  }
  break;
case 336:
  case_336();
  break;
case 337:
  case_337();
  break;
case 338:
  case_338();
  break;
case 339:
  case_339();
  break;
case 340:
#line 2632 "cs-parser.jay"
  {
		valid_param_mod = ParameterModifierType.Ref | ParameterModifierType.Out | ParameterModifierType.Params | ParameterModifierType.DefaultValue;
	  }
  break;
case 341:
  case_341();
  break;
case 342:
#line 2655 "cs-parser.jay"
  {
		lexer.ConstraintsParsing = false;
	  }
  break;
case 343:
  case_343();
  break;
case 345:
  case_345();
  break;
case 347:
  case_347();
  break;
case 349:
  case_349();
  break;
case 350:
  case_350();
  break;
case 352:
  case_352();
  break;
case 353:
  case_353();
  break;
case 354:
  case_354();
  break;
case 355:
  case_355();
  break;
case 356:
#line 2752 "cs-parser.jay"
  {
		lexer.parsing_generic_declaration = true;
	  }
  break;
case 357:
  case_357();
  break;
case 358:
  case_358();
  break;
case 360:
  case_360();
  break;
case 361:
  case_361();
  break;
case 362:
  case_362();
  break;
case 363:
  case_363();
  break;
case 364:
  case_364();
  break;
case 365:
  case_365();
  break;
case 367:
  case_367();
  break;
case 368:
  case_368();
  break;
case 369:
  case_369();
  break;
case 370:
  case_370();
  break;
case 371:
  case_371();
  break;
case 373:
#line 2872 "cs-parser.jay"
  {
		yyVal = new TypeExpression (TypeManager.void_type, GetLocation (yyVals[0+yyTop]));
	  }
  break;
case 374:
#line 2879 "cs-parser.jay"
  {
		lexer.parsing_generic_declaration = true;
	  }
  break;
case 376:
  case_376();
  break;
case 378:
  case_378();
  break;
case 380:
  case_380();
  break;
case 382:
#line 2917 "cs-parser.jay"
  {
		yyVal = new ComposedCast ((FullNamedExpression) yyVals[-1+yyTop], (ComposedTypeSpecifier) yyVals[0+yyTop]);
	  }
  break;
case 383:
  case_383();
  break;
case 384:
#line 2937 "cs-parser.jay"
  {
		yyVal = new ComposedCast (((MemberName) yyVals[-1+yyTop]).GetTypeExpression (), (ComposedTypeSpecifier) yyVals[0+yyTop]);
	  }
  break;
case 385:
  case_385();
  break;
case 386:
#line 2946 "cs-parser.jay"
  {
		yyVal = new ComposedCast ((FullNamedExpression) yyVals[-1+yyTop], (ComposedTypeSpecifier) yyVals[0+yyTop]);
	  }
  break;
case 387:
#line 2950 "cs-parser.jay"
  {
		yyVal = new ComposedCast (new TypeExpression (TypeManager.void_type, GetLocation (yyVals[-1+yyTop])), (ComposedTypeSpecifier) yyVals[0+yyTop]);
	  }
  break;
case 388:
  case_388();
  break;
case 389:
  case_389();
  break;
case 390:
  case_390();
  break;
case 391:
  case_391();
  break;
case 392:
#line 2988 "cs-parser.jay"
  { yyVal = new TypeExpression (TypeManager.object_type, GetLocation (yyVals[0+yyTop])); }
  break;
case 393:
#line 2989 "cs-parser.jay"
  { yyVal = new TypeExpression (TypeManager.string_type, GetLocation (yyVals[0+yyTop])); }
  break;
case 394:
#line 2990 "cs-parser.jay"
  { yyVal = new TypeExpression (TypeManager.bool_type, GetLocation (yyVals[0+yyTop])); }
  break;
case 395:
#line 2991 "cs-parser.jay"
  { yyVal = new TypeExpression (TypeManager.decimal_type, GetLocation (yyVals[0+yyTop])); }
  break;
case 396:
#line 2992 "cs-parser.jay"
  { yyVal = new TypeExpression (TypeManager.float_type, GetLocation (yyVals[0+yyTop])); }
  break;
case 397:
#line 2993 "cs-parser.jay"
  { yyVal = new TypeExpression (TypeManager.double_type, GetLocation (yyVals[0+yyTop])); }
  break;
case 399:
#line 2998 "cs-parser.jay"
  { yyVal = new TypeExpression (TypeManager.sbyte_type, GetLocation (yyVals[0+yyTop])); }
  break;
case 400:
#line 2999 "cs-parser.jay"
  { yyVal = new TypeExpression (TypeManager.byte_type, GetLocation (yyVals[0+yyTop])); }
  break;
case 401:
#line 3000 "cs-parser.jay"
  { yyVal = new TypeExpression (TypeManager.short_type, GetLocation (yyVals[0+yyTop])); }
  break;
case 402:
#line 3001 "cs-parser.jay"
  { yyVal = new TypeExpression (TypeManager.ushort_type, GetLocation (yyVals[0+yyTop])); }
  break;
case 403:
#line 3002 "cs-parser.jay"
  { yyVal = new TypeExpression (TypeManager.int32_type, GetLocation (yyVals[0+yyTop])); }
  break;
case 404:
#line 3003 "cs-parser.jay"
  { yyVal = new TypeExpression (TypeManager.uint32_type, GetLocation (yyVals[0+yyTop])); }
  break;
case 405:
#line 3004 "cs-parser.jay"
  { yyVal = new TypeExpression (TypeManager.int64_type, GetLocation (yyVals[0+yyTop])); }
  break;
case 406:
#line 3005 "cs-parser.jay"
  { yyVal = new TypeExpression (TypeManager.uint64_type, GetLocation (yyVals[0+yyTop])); }
  break;
case 407:
#line 3006 "cs-parser.jay"
  { yyVal = new TypeExpression (TypeManager.char_type, GetLocation (yyVals[0+yyTop])); }
  break;
case 427:
  case_427();
  break;
case 428:
  case_428();
  break;
case 432:
#line 3052 "cs-parser.jay"
  { yyVal = new NullLiteral (GetLocation (yyVals[0+yyTop])); }
  break;
case 433:
#line 3056 "cs-parser.jay"
  { yyVal = new BoolLiteral (true, GetLocation (yyVals[0+yyTop])); }
  break;
case 434:
#line 3057 "cs-parser.jay"
  { yyVal = new BoolLiteral (false, GetLocation (yyVals[0+yyTop])); }
  break;
case 439:
  case_439();
  break;
case 440:
#line 3090 "cs-parser.jay"
  {
		yyVal = new ParenthesizedExpression ((Expression) yyVals[-1+yyTop]);
	  }
  break;
case 441:
  case_441();
  break;
case 442:
  case_442();
  break;
case 443:
  case_443();
  break;
case 444:
  case_444();
  break;
case 445:
#line 3121 "cs-parser.jay"
  {
		yyVal = new CompletionMemberAccess ((Expression) yyVals[-2+yyTop], null,GetLocation (yyVals[0+yyTop]));
	  }
  break;
case 446:
  case_446();
  break;
case 447:
#line 3129 "cs-parser.jay"
  {
		yyVal = new CompletionMemberAccess ((Expression) yyVals[-2+yyTop], null, lexer.Location);
	  }
  break;
case 448:
  case_448();
  break;
case 449:
  case_449();
  break;
case 450:
#line 3145 "cs-parser.jay"
  { yyVal = null; }
  break;
case 452:
  case_452();
  break;
case 453:
  case_453();
  break;
case 454:
#line 3168 "cs-parser.jay"
  { yyVal = null; }
  break;
case 455:
#line 3172 "cs-parser.jay"
  {
		yyVal = yyVals[0+yyTop];
	}
  break;
case 456:
  case_456();
  break;
case 457:
  case_457();
  break;
case 458:
  case_458();
  break;
case 459:
  case_459();
  break;
case 460:
#line 3204 "cs-parser.jay"
  {
		yyVal = new CompletionElementInitializer (null, GetLocation (yyVals[0+yyTop]));
	  }
  break;
case 461:
  case_461();
  break;
case 462:
  case_462();
  break;
case 463:
  case_463();
  break;
case 466:
#line 3232 "cs-parser.jay"
  { yyVal = null; }
  break;
case 468:
  case_468();
  break;
case 469:
  case_469();
  break;
case 470:
  case_470();
  break;
case 471:
  case_471();
  break;
case 472:
  case_472();
  break;
case 473:
#line 3284 "cs-parser.jay"
  {
		yyVal = new Argument ((Expression) yyVals[0+yyTop]);
	  }
  break;
case 477:
  case_477();
  break;
case 478:
  case_478();
  break;
case 479:
  case_479();
  break;
case 480:
  case_480();
  break;
case 482:
  case_482();
  break;
case 483:
  case_483();
  break;
case 484:
  case_484();
  break;
case 485:
  case_485();
  break;
case 486:
  case_486();
  break;
case 487:
  case_487();
  break;
case 488:
#line 3371 "cs-parser.jay"
  {
	  	yyVal = new Argument ((Expression) yyVals[0+yyTop]);
	  }
  break;
case 490:
#line 3379 "cs-parser.jay"
  {
		yyVal = new This (GetLocation (yyVals[0+yyTop]));
	  }
  break;
case 491:
  case_491();
  break;
case 492:
  case_492();
  break;
case 493:
#line 3399 "cs-parser.jay"
  {
		yyVal = new UnaryMutator (UnaryMutator.Mode.PostIncrement, (Expression) yyVals[-1+yyTop], GetLocation (yyVals[0+yyTop]));
	  }
  break;
case 494:
#line 3406 "cs-parser.jay"
  {
		yyVal = new UnaryMutator (UnaryMutator.Mode.PostDecrement, (Expression) yyVals[-1+yyTop], GetLocation (yyVals[0+yyTop]));
	  }
  break;
case 495:
  case_495();
  break;
case 496:
  case_496();
  break;
case 497:
  case_497();
  break;
case 498:
  case_498();
  break;
case 499:
  case_499();
  break;
case 500:
  case_500();
  break;
case 501:
  case_501();
  break;
case 502:
#line 3472 "cs-parser.jay"
  {
		++lexer.parsing_type;
	  }
  break;
case 503:
  case_503();
  break;
case 504:
  case_504();
  break;
case 507:
#line 3501 "cs-parser.jay"
  { yyVal = null; }
  break;
case 509:
  case_509();
  break;
case 510:
  case_510();
  break;
case 511:
  case_511();
  break;
case 512:
  case_512();
  break;
case 513:
  case_513();
  break;
case 514:
  case_514();
  break;
case 518:
  case_518();
  break;
case 519:
  case_519();
  break;
case 520:
  case_520();
  break;
case 521:
#line 3577 "cs-parser.jay"
  {
		yyVal = 2;
	  }
  break;
case 522:
#line 3581 "cs-parser.jay"
  {
		yyVal = ((int) yyVals[-1+yyTop]) + 1;
	  }
  break;
case 523:
#line 3588 "cs-parser.jay"
  {
		yyVal = null;
	  }
  break;
case 524:
#line 3592 "cs-parser.jay"
  {
		yyVal = yyVals[0+yyTop];
	  }
  break;
case 525:
  case_525();
  break;
case 526:
  case_526();
  break;
case 527:
  case_527();
  break;
case 528:
  case_528();
  break;
case 529:
#line 3636 "cs-parser.jay"
  {
	  	lexer.TypeOfParsing = true;
	  }
  break;
case 530:
  case_530();
  break;
case 533:
  case_533();
  break;
case 534:
  case_534();
  break;
case 535:
  case_535();
  break;
case 536:
  case_536();
  break;
case 537:
  case_537();
  break;
case 538:
  case_538();
  break;
case 539:
  case_539();
  break;
case 540:
  case_540();
  break;
case 541:
  case_541();
  break;
case 542:
  case_542();
  break;
case 543:
  case_543();
  break;
case 544:
  case_544();
  break;
case 545:
#line 3751 "cs-parser.jay"
  {
		start_anonymous (false, (ParametersCompiled) yyVals[0+yyTop], GetLocation (yyVals[-1+yyTop]));
	  }
  break;
case 546:
#line 3755 "cs-parser.jay"
  {
		yyVal = end_anonymous ((ParametersBlock) yyVals[0+yyTop]);
	  }
  break;
case 547:
#line 3762 "cs-parser.jay"
  {
		yyVal = ParametersCompiled.Undefined;
	  }
  break;
case 549:
#line 3770 "cs-parser.jay"
  {
	  	valid_param_mod = ParameterModifierType.Ref | ParameterModifierType.Out;
	  }
  break;
case 550:
  case_550();
  break;
case 551:
  case_551();
  break;
case 553:
#line 3794 "cs-parser.jay"
  {
		yyVal = new Unary (Unary.Operator.LogicalNot, (Expression) yyVals[0+yyTop], GetLocation (yyVals[-1+yyTop]));
	  }
  break;
case 554:
#line 3798 "cs-parser.jay"
  {
		yyVal = new Unary (Unary.Operator.OnesComplement, (Expression) yyVals[0+yyTop], GetLocation (yyVals[-1+yyTop]));
	  }
  break;
case 556:
  case_556();
  break;
case 558:
#line 3819 "cs-parser.jay"
  { 
	  	yyVal = new Unary (Unary.Operator.UnaryPlus, (Expression) yyVals[0+yyTop], GetLocation (yyVals[-1+yyTop]));
	  }
  break;
case 559:
#line 3823 "cs-parser.jay"
  { 
		yyVal = new Unary (Unary.Operator.UnaryNegation, (Expression) yyVals[0+yyTop], GetLocation (yyVals[-1+yyTop]));
	  }
  break;
case 560:
#line 3827 "cs-parser.jay"
  {
		yyVal = new UnaryMutator (UnaryMutator.Mode.PreIncrement, (Expression) yyVals[0+yyTop], GetLocation (yyVals[-1+yyTop]));
	  }
  break;
case 561:
#line 3831 "cs-parser.jay"
  {
		yyVal = new UnaryMutator (UnaryMutator.Mode.PreDecrement, (Expression) yyVals[0+yyTop], GetLocation (yyVals[-1+yyTop]));
	  }
  break;
case 562:
#line 3835 "cs-parser.jay"
  {
		yyVal = new Indirection ((Expression) yyVals[0+yyTop], GetLocation (yyVals[-1+yyTop]));
	  }
  break;
case 563:
#line 3839 "cs-parser.jay"
  {
		yyVal = new Unary (Unary.Operator.AddressOf, (Expression) yyVals[0+yyTop], GetLocation (yyVals[-1+yyTop]));
	  }
  break;
case 565:
  case_565();
  break;
case 566:
  case_566();
  break;
case 567:
  case_567();
  break;
case 569:
  case_569();
  break;
case 570:
#line 3871 "cs-parser.jay"
  {
		yyVal = new Binary (Binary.Operator.Subtraction, (Expression) yyVals[-2+yyTop], (Expression) yyVals[0+yyTop], GetLocation (yyVals[-1+yyTop]));
	  }
  break;
case 571:
  case_571();
  break;
case 572:
#line 3880 "cs-parser.jay"
  {
		yyVal = new As ((Expression) yyVals[-2+yyTop], (Expression) yyVals[0+yyTop], GetLocation (yyVals[-1+yyTop]));
	  }
  break;
case 573:
#line 3884 "cs-parser.jay"
  {
		yyVal = new Is ((Expression) yyVals[-2+yyTop], (Expression) yyVals[0+yyTop], GetLocation (yyVals[-1+yyTop]));
	  }
  break;
case 575:
  case_575();
  break;
case 576:
  case_576();
  break;
case 578:
  case_578();
  break;
case 579:
  case_579();
  break;
case 580:
  case_580();
  break;
case 581:
  case_581();
  break;
case 583:
  case_583();
  break;
case 584:
  case_584();
  break;
case 586:
  case_586();
  break;
case 588:
  case_588();
  break;
case 590:
  case_590();
  break;
case 592:
  case_592();
  break;
case 594:
  case_594();
  break;
case 596:
  case_596();
  break;
case 598:
  case_598();
  break;
case 599:
#line 4008 "cs-parser.jay"
  {
		yyVal = new SimpleAssign ((Expression) yyVals[-2+yyTop], (Expression) yyVals[0+yyTop], GetLocation (yyVals[-1+yyTop]));
	  }
  break;
case 600:
  case_600();
  break;
case 601:
  case_601();
  break;
case 602:
  case_602();
  break;
case 603:
  case_603();
  break;
case 604:
  case_604();
  break;
case 605:
  case_605();
  break;
case 606:
  case_606();
  break;
case 607:
  case_607();
  break;
case 608:
  case_608();
  break;
case 609:
  case_609();
  break;
case 610:
  case_610();
  break;
case 611:
  case_611();
  break;
case 612:
  case_612();
  break;
case 613:
  case_613();
  break;
case 614:
  case_614();
  break;
case 615:
#line 4103 "cs-parser.jay"
  { yyVal = ParametersCompiled.EmptyReadOnlyParameters; }
  break;
case 616:
  case_616();
  break;
case 619:
#line 4118 "cs-parser.jay"
  {
		start_block (lexer.Location);
	  }
  break;
case 620:
  case_620();
  break;
case 622:
  case_622();
  break;
case 623:
  case_623();
  break;
case 624:
  case_624();
  break;
case 625:
  case_625();
  break;
case 626:
  case_626();
  break;
case 627:
  case_627();
  break;
case 633:
#line 4179 "cs-parser.jay"
  {
		yyVal = new ArglistAccess (GetLocation (yyVals[0+yyTop]));
	  }
  break;
case 635:
#line 4190 "cs-parser.jay"
  {
		yyVal = new BooleanExpression ((Expression) yyVals[0+yyTop]);
	  }
  break;
case 636:
#line 4203 "cs-parser.jay"
  {
		lexer.ConstraintsParsing = true;
	  }
  break;
case 637:
  case_637();
  break;
case 638:
  case_638();
  break;
case 639:
  case_639();
  break;
case 640:
  case_640();
  break;
case 641:
#line 4237 "cs-parser.jay"
  { yyVal = null; }
  break;
case 642:
#line 4239 "cs-parser.jay"
  { yyVal = yyVals[0+yyTop]; }
  break;
case 643:
  case_643();
  break;
case 646:
  case_646();
  break;
case 647:
  case_647();
  break;
case 648:
  case_648();
  break;
case 649:
  case_649();
  break;
case 650:
  case_650();
  break;
case 651:
  case_651();
  break;
case 652:
  case_652();
  break;
case 653:
  case_653();
  break;
case 654:
  case_654();
  break;
case 655:
  case_655();
  break;
case 656:
  case_656();
  break;
case 657:
  case_657();
  break;
case 658:
  case_658();
  break;
case 659:
  case_659();
  break;
case 660:
  case_660();
  break;
case 662:
#line 4354 "cs-parser.jay"
  {
		current_container.AddBasesForPart (current_class, (List<FullNamedExpression>) yyVals[0+yyTop]);
	 }
  break;
case 664:
#line 4362 "cs-parser.jay"
  {
		yyVal = yyVals[0+yyTop];
	  }
  break;
case 665:
  case_665();
  break;
case 666:
  case_666();
  break;
case 667:
  case_667();
  break;
case 668:
  case_668();
  break;
case 669:
  case_669();
  break;
case 670:
  case_670();
  break;
case 671:
  case_671();
  break;
case 672:
#line 4446 "cs-parser.jay"
  {
		yyVal = new SpecialContraintExpr (SpecialConstraint.Class, GetLocation (yyVals[0+yyTop]));
	  }
  break;
case 673:
#line 4450 "cs-parser.jay"
  {
		yyVal = new SpecialContraintExpr (SpecialConstraint.Struct, GetLocation (yyVals[0+yyTop]));
	  }
  break;
case 674:
#line 4457 "cs-parser.jay"
  {
		yyVal = Variance.None;
	  }
  break;
case 675:
  case_675();
  break;
case 676:
#line 4473 "cs-parser.jay"
  {
		yyVal = Variance.Covariant;
	  }
  break;
case 677:
#line 4477 "cs-parser.jay"
  {
		yyVal = Variance.Contravariant;
	  }
  break;
case 678:
  case_678();
  break;
case 679:
#line 4502 "cs-parser.jay"
  {
		yyVal = yyVals[0+yyTop];
	  }
  break;
case 680:
  case_680();
  break;
case 681:
  case_681();
  break;
case 682:
  case_682();
  break;
case 683:
  case_683();
  break;
case 688:
#line 4546 "cs-parser.jay"
  {
		current_block.AddStatement ((Statement) yyVals[0+yyTop]);
	  }
  break;
case 689:
#line 4550 "cs-parser.jay"
  {
		current_block.AddStatement ((Statement) yyVals[0+yyTop]);
	  }
  break;
case 691:
  case_691();
  break;
case 694:
#line 4574 "cs-parser.jay"
  {
		current_block.AddStatement ((Statement) yyVals[0+yyTop]);
	  }
  break;
case 695:
#line 4578 "cs-parser.jay"
  {
		current_block.AddStatement ((Statement) yyVals[0+yyTop]);
	  }
  break;
case 724:
  case_724();
  break;
case 725:
  case_725();
  break;
case 726:
  case_726();
  break;
case 727:
  case_727();
  break;
case 728:
  case_728();
  break;
case 731:
  case_731();
  break;
case 732:
  case_732();
  break;
case 733:
  case_733();
  break;
case 734:
  case_734();
  break;
case 735:
#line 4722 "cs-parser.jay"
  {
		yyVal = new ComposedCast ((FullNamedExpression) yyVals[-1+yyTop], (ComposedTypeSpecifier) yyVals[0+yyTop]);
	  }
  break;
case 736:
#line 4726 "cs-parser.jay"
  {
		yyVal = new ComposedCast (new TypeExpression (TypeManager.void_type, GetLocation (yyVals[-1+yyTop])), (ComposedTypeSpecifier) yyVals[0+yyTop]);
	  }
  break;
case 737:
  case_737();
  break;
case 739:
  case_739();
  break;
case 740:
#line 4747 "cs-parser.jay"
  {
		yyVal = ComposedTypeSpecifier.CreatePointer (GetLocation (yyVals[0+yyTop]));
	  }
  break;
case 741:
  case_741();
  break;
case 742:
  case_742();
  break;
case 743:
  case_743();
  break;
case 744:
  case_744();
  break;
case 746:
  case_746();
  break;
case 747:
  case_747();
  break;
case 752:
  case_752();
  break;
case 753:
  case_753();
  break;
case 754:
#line 4832 "cs-parser.jay"
  {
		Report.Error (145, lexer.Location, "A const field requires a value to be provided");
	  }
  break;
case 755:
#line 4836 "cs-parser.jay"
  {
		current_variable.Initializer = (Expression) yyVals[0+yyTop];
	  }
  break;
case 760:
  case_760();
  break;
case 762:
  case_762();
  break;
case 763:
  case_763();
  break;
case 764:
  case_764();
  break;
case 765:
#line 4881 "cs-parser.jay"
  { yyVal = yyVals[-1+yyTop]; }
  break;
case 766:
#line 4885 "cs-parser.jay"
  { yyVal = yyVals[-1+yyTop]; }
  break;
case 767:
#line 4886 "cs-parser.jay"
  { yyVal = yyVals[-1+yyTop]; }
  break;
case 768:
  case_768();
  break;
case 769:
  case_769();
  break;
case 770:
  case_770();
  break;
case 773:
  case_773();
  break;
case 774:
  case_774();
  break;
case 775:
#line 4954 "cs-parser.jay"
  {
		start_block (GetLocation (yyVals[0+yyTop]));
	  }
  break;
case 776:
  case_776();
  break;
case 777:
  case_777();
  break;
case 779:
  case_779();
  break;
case 780:
  case_780();
  break;
case 781:
  case_781();
  break;
case 782:
#line 4998 "cs-parser.jay"
  {
		current_block = current_block.CreateSwitchBlock (lexer.Location);
	  }
  break;
case 783:
#line 5002 "cs-parser.jay"
  {
		yyVal = new SwitchSection ((List<SwitchLabel>) yyVals[-2+yyTop], current_block);
	  }
  break;
case 784:
  case_784();
  break;
case 785:
  case_785();
  break;
case 786:
  case_786();
  break;
case 787:
#line 5031 "cs-parser.jay"
  {
		yyVal = new SwitchLabel (null, GetLocation (yyVals[0+yyTop]));
	  }
  break;
case 792:
  case_792();
  break;
case 793:
  case_793();
  break;
case 794:
  case_794();
  break;
case 795:
  case_795();
  break;
case 796:
#line 5085 "cs-parser.jay"
  { yyVal = new EmptyStatement (lexer.Location); }
  break;
case 798:
  case_798();
  break;
case 799:
  case_799();
  break;
case 801:
#line 5106 "cs-parser.jay"
  { yyVal = null; }
  break;
case 803:
#line 5111 "cs-parser.jay"
  { yyVal = new EmptyStatement (lexer.Location); }
  break;
case 807:
  case_807();
  break;
case 808:
  case_808();
  break;
case 809:
  case_809();
  break;
case 810:
  case_810();
  break;
case 817:
  case_817();
  break;
case 818:
  case_818();
  break;
case 819:
  case_819();
  break;
case 820:
  case_820();
  break;
case 821:
  case_821();
  break;
case 822:
  case_822();
  break;
case 823:
  case_823();
  break;
case 824:
  case_824();
  break;
case 825:
  case_825();
  break;
case 828:
#line 5266 "cs-parser.jay"
  {
		yyVal = new TryCatch ((Block) yyVals[-1+yyTop], (List<Catch>) yyVals[0+yyTop], GetLocation (yyVals[-2+yyTop]), false);
	  }
  break;
case 829:
  case_829();
  break;
case 830:
  case_830();
  break;
case 831:
  case_831();
  break;
case 832:
  case_832();
  break;
case 833:
  case_833();
  break;
case 836:
#line 5319 "cs-parser.jay"
  {
		yyVal = new Catch ((Block) yyVals[0+yyTop], GetLocation (yyVals[-1+yyTop]));
	  }
  break;
case 837:
  case_837();
  break;
case 838:
#line 5338 "cs-parser.jay"
  {
		yyVal = yyVals[-1+yyTop];
	  }
  break;
case 839:
  case_839();
  break;
case 840:
#line 5356 "cs-parser.jay"
  {
		yyVal = new Checked ((Block) yyVals[0+yyTop], GetLocation (yyVals[-1+yyTop]));
	  }
  break;
case 841:
#line 5363 "cs-parser.jay"
  {
		yyVal = new Unchecked ((Block) yyVals[0+yyTop], GetLocation (yyVals[-1+yyTop]));
	  }
  break;
case 842:
  case_842();
  break;
case 843:
#line 5373 "cs-parser.jay"
  {
		yyVal = new Unsafe ((Block) yyVals[0+yyTop], GetLocation (yyVals[-2+yyTop]));
	  }
  break;
case 844:
  case_844();
  break;
case 845:
  case_845();
  break;
case 846:
  case_846();
  break;
case 847:
  case_847();
  break;
case 848:
  case_848();
  break;
case 849:
  case_849();
  break;
case 850:
  case_850();
  break;
case 851:
  case_851();
  break;
case 852:
#line 5455 "cs-parser.jay"
  {
		Report.Error (210, lexer.Location, "You must provide an initializer in a fixed or using statement declaration");
	  }
  break;
case 853:
  case_853();
  break;
case 854:
  case_854();
  break;
case 855:
  case_855();
  break;
case 856:
  case_856();
  break;
case 857:
  case_857();
  break;
case 858:
  case_858();
  break;
case 859:
  case_859();
  break;
case 860:
  case_860();
  break;
case 861:
  case_861();
  break;
case 862:
#line 5555 "cs-parser.jay"
  {
		current_block = new Linq.QueryBlock (compiler, current_block, lexer.Location);
	  }
  break;
case 863:
  case_863();
  break;
case 864:
#line 5570 "cs-parser.jay"
  {
		current_block = new Linq.QueryBlock (compiler, current_block, lexer.Location);
	  }
  break;
case 865:
  case_865();
  break;
case 866:
  case_866();
  break;
case 868:
#line 5610 "cs-parser.jay"
  {
	  	current_block = new Linq.QueryBlock (compiler, current_block, lexer.Location);
	  }
  break;
case 869:
  case_869();
  break;
case 870:
  case_870();
  break;
case 871:
  case_871();
  break;
case 872:
  case_872();
  break;
case 876:
  case_876();
  break;
case 882:
#line 5668 "cs-parser.jay"
  {
	  	current_block = new Linq.QueryBlock (compiler, current_block, lexer.Location);
	  }
  break;
case 883:
  case_883();
  break;
case 884:
#line 5686 "cs-parser.jay"
  {
	  	current_block = new Linq.QueryBlock (compiler, current_block, lexer.Location);
	  }
  break;
case 885:
  case_885();
  break;
case 886:
  case_886();
  break;
case 887:
  case_887();
  break;
case 888:
  case_888();
  break;
case 889:
  case_889();
  break;
case 890:
  case_890();
  break;
case 891:
  case_891();
  break;
case 892:
  case_892();
  break;
case 893:
  case_893();
  break;
case 895:
#line 5828 "cs-parser.jay"
  {
		yyVal = yyVals[0+yyTop];
	  }
  break;
case 896:
#line 5835 "cs-parser.jay"
  {
		current_block = new Linq.QueryBlock (compiler, current_block, lexer.Location);
	  }
  break;
case 897:
  case_897();
  break;
case 899:
  case_899();
  break;
case 900:
  case_900();
  break;
case 902:
  case_902();
  break;
case 903:
  case_903();
  break;
case 904:
#line 5881 "cs-parser.jay"
  {
		yyVal = new Linq.OrderByAscending ((Linq.QueryBlock) current_block, (Expression)yyVals[0+yyTop]);	
	  }
  break;
case 905:
#line 5885 "cs-parser.jay"
  {
		yyVal = new Linq.OrderByAscending ((Linq.QueryBlock) current_block, (Expression)yyVals[-1+yyTop]);	
	  }
  break;
case 906:
#line 5889 "cs-parser.jay"
  {
		yyVal = new Linq.OrderByDescending ((Linq.QueryBlock) current_block, (Expression)yyVals[-1+yyTop]);	
	  }
  break;
case 907:
#line 5896 "cs-parser.jay"
  {
		yyVal = new Linq.ThenByAscending ((Linq.QueryBlock) current_block, (Expression)yyVals[0+yyTop]);	
	  }
  break;
case 908:
#line 5900 "cs-parser.jay"
  {
		yyVal = new Linq.ThenByAscending ((Linq.QueryBlock) current_block, (Expression)yyVals[-1+yyTop]);	
	  }
  break;
case 909:
#line 5904 "cs-parser.jay"
  {
		yyVal = new Linq.ThenByDescending ((Linq.QueryBlock) current_block, (Expression)yyVals[-1+yyTop]);	
	  }
  break;
case 911:
  case_911();
  break;
case 912:
  case_912();
  break;
case 915:
  case_915();
  break;
case 916:
  case_916();
  break;
case 917:
#line 5996 "cs-parser.jay"
  {
	        Evaluator.LoadAliases (current_namespace);
	  }
  break;
#line default
        }
        yyTop -= yyLen[yyN];
        yyState = yyStates[yyTop];
        int yyM = yyLhs[yyN];
        if (yyState == 0 && yyM == 0) {
//t          if (debug != null) debug.shift(0, yyFinal);
          yyState = yyFinal;
          if (yyToken < 0) {
            yyToken = yyLex.advance() ? yyLex.token() : 0;
//t            if (debug != null)
//t               debug.lex(yyState, yyToken,yyname(yyToken), yyLex.value());
          }
          if (yyToken == 0) {
//t            if (debug != null) debug.accept(yyVal);
            return yyVal;
          }
          goto continue_yyLoop;
        }
        if (((yyN = yyGindex[yyM]) != 0) && ((yyN += yyState) >= 0)
            && (yyN < yyTable.Length) && (yyCheck[yyN] == yyState))
          yyState = yyTable[yyN];
        else
          yyState = yyDgoto[yyM];
//t        if (debug != null) debug.shift(yyStates[yyTop], yyState);
	 goto continue_yyLoop;
      continue_yyDiscarded: ;	// implements the named-loop continue: 'continue yyDiscarded'
      }
    continue_yyLoop: ;		// implements the named-loop continue: 'continue yyLoop'
    }
  }
All Usage Examples Of Mono.CSharp.Block::CreateSwitchBlock