SetTermNop() приватный Метод

private SetTermNop ( ushort pc ) : void
pc ushort
Результат void
		private bool InlineJsrs()
		{
			bool hasJsrs = false;
			List<SubroutineCall> subs = new List<SubroutineCall>();
			int len = codeLength;
			for (int i = 0; i < len; i++)
			{
				// note that we're also (needlessly) processing the subroutines here, but that shouldn't be a problem (just a minor waste of cpu)
				// because the code is unreachable anyway
				if ((flags[i] & InstructionFlags.Reachable) != 0 && m.Instructions[i].NormalizedOpCode == NormalizedByteCode.__jsr)
				{
					int subroutineId = m.Instructions[i].TargetIndex;
					codeCopy[i].PatchOpCode(NormalizedByteCode.__goto, codeLength);
					SubroutineCall sub = new SubroutineCall(this, subroutineId, i + 1);
					hasJsrs |= sub.InlineSubroutine();
					subs.Add(sub);
				}
			}
			List<ClassFile.Method.ExceptionTableEntry> exceptions = new List<ClassFile.Method.ExceptionTableEntry>(m.ExceptionTable);
			foreach (SubroutineCall sub in subs)
			{
				sub.DoExceptions(m.ExceptionTable, exceptions);
			}
			m.ExceptionTable = exceptions.ToArray();
			ClassFile.Method.Instruction instr = new ClassFile.Method.Instruction();
			instr.SetTermNop(0xFFFF);
			Add(instr);
			Array.Resize(ref codeCopy, codeLength);

			m.Instructions = codeCopy;
			return hasJsrs;
		}