private void ProcessInstruction() { switch (InstructionInfo.Classify(_curILI)) { case EInstructionClass.Call: HandleCall(); break; case EInstructionClass.LocalVariableAccess: { int localIndex; ELocalVariableAccess lva = InstructionInfo.IsLocalVariableAccess(_curILI, out localIndex); switch (lva) { case ELocalVariableAccess.ReadVariable: HandleLdLoc(localIndex); break; case ELocalVariableAccess.WriteVariable: HandleStLoc(localIndex); break; case ELocalVariableAccess.AddressOfVariable: HandleLdLoca(localIndex); if (XInstructionInfo == null) { InhitbitElimination(localIndex); } break; default: throw new NotImplementedException(); } } break; default: break; } }
private ELocalVariableAccess IsLVA(int inIndex, ELocalVariableAccess inResult, out int localIndex) { localIndex = inIndex; return(inResult); }