Advertisement
T-D-K

Untitled

Jan 1st, 2019
310
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 3.18 KB | None | 0 0
  1.     [CompilationArgumentCounts(new int[] {1, 1})]
  2.     internal static a processLoopEnd<a>(
  3.       Builder.BuilderContext context,
  4.       FSharpFunc<Builder.BuilderContext, a> processNextTokensFn)
  5.     {
  6.       Builder.LoopInfo head = context.LoopInfos\u0040.Head;
  7.       context.IlGenerator\u0040.MarkLabel(head.ConditionLabel\u0040);
  8.       Builder.processGetMemory(context);
  9.       Builder.prorcessGetPtr(context);
  10.       context.IlGenerator\u0040.Emit(OpCodes.Ldelem_U1);
  11.       context.IlGenerator\u0040.Emit(OpCodes.Brtrue, head.BodyLabel\u0040);
  12.       FSharpFunc<Builder.BuilderContext, a> fsharpFunc = processNextTokensFn;
  13.       Builder.BuilderContext builderContext = context;
  14.       Builder.BuilderContext func = new Builder.BuilderContext(builderContext.IlGenerator\u0040, builderContext.MemoryFI\u0040, builderContext.PtrFI\u0040, context.LoopInfos\u0040.Tail);
  15.       return fsharpFunc.Invoke(func);
  16.     }
  17.  
  18.     [CompilationArgumentCounts(new int[] {1, 1, 1})]
  19.     internal static void processToken(
  20.       Token token,
  21.       Builder.BuilderContext context,
  22.       FSharpList<Token> nextTokens)
  23.     {
  24.       switch (token.get_Tag())
  25.       {
  26.         case 1:
  27.           Builder.processDecrementPtr<Unit>(context).Invoke((FSharpFunc<Builder.BuilderContext, Unit>) new Builder.processToken\u004092\u002D1(nextTokens));
  28.           break;
  29.         case 2:
  30.           Builder.processIncrementData<Unit>(context).Invoke((FSharpFunc<Builder.BuilderContext, Unit>) new Builder.processToken\u004093\u002D2(nextTokens));
  31.           break;
  32.         case 3:
  33.           Builder.processDecrementData<Unit>(context).Invoke((FSharpFunc<Builder.BuilderContext, Unit>) new Builder.processToken\u004094\u002D3(nextTokens));
  34.           break;
  35.         case 4:
  36.           Builder.processOutputData<Unit>(context, (FSharpFunc<Builder.BuilderContext, Unit>) new Builder.processToken\u004096\u002D5(nextTokens));
  37.           break;
  38.         case 5:
  39.           Builder.processInputData<Unit>(context, (FSharpFunc<Builder.BuilderContext, Unit>) new Builder.processToken\u004095\u002D4(nextTokens));
  40.           break;
  41.         case 6:
  42.           Builder.processLoopStart<Unit>(context, (FSharpFunc<Builder.BuilderContext, Unit>) new Builder.processToken\u004097\u002D6(nextTokens));
  43.           break;
  44.         case 7:
  45.           Builder.processLoopEnd<Unit>(context, (FSharpFunc<Builder.BuilderContext, Unit>) new Builder.processToken\u004098\u002D7(nextTokens));
  46.           break;
  47.         case 8:
  48.           Builder.processNextToken(nextTokens, context);
  49.           break;
  50.         default:
  51.           Builder.processIncrementPtr<Unit>(context).Invoke((FSharpFunc<Builder.BuilderContext, Unit>) new Builder.processToken\u004091(nextTokens));
  52.           break;
  53.       }
  54.     }
  55.  
  56.     [CompilationArgumentCounts(new int[] {1, 1})]
  57.     internal static void processNextToken(FSharpList<Token> tokens, Builder.BuilderContext context)
  58.     {
  59.       FSharpList<Token> fsharpList1 = tokens;
  60.       if (fsharpList1.get_TailOrNull() == null)
  61.         return;
  62.       FSharpList<Token> fsharpList2 = fsharpList1;
  63.       FSharpList<Token> tailOrNull = fsharpList2.get_TailOrNull();
  64.       Builder.processToken(fsharpList2.get_HeadOrDefault(), context, tailOrNull);
  65.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement