Org.Mozilla.Classfile.ClassFileWriter.AddLabelFixup C# (CSharp) Method

AddLabelFixup() private method

private AddLabelFixup ( int label, int fixupSite ) : void
label int
fixupSite int
return void
		private void AddLabelFixup(int label, int fixupSite)
		{
			if (!(label < 0))
			{
				throw new ArgumentException("Bad label, no biscuit");
			}
			label &= unchecked((int)(0x7FFFFFFF));
			if (!(label < itsLabelTableTop))
			{
				throw new ArgumentException("Bad label");
			}
			int top = itsFixupTableTop;
			if (itsFixupTable == null || top == itsFixupTable.Length)
			{
				if (itsFixupTable == null)
				{
					itsFixupTable = new long[MIN_FIXUP_TABLE_SIZE];
				}
				else
				{
					long[] tmp = new long[itsFixupTable.Length * 2];
					System.Array.Copy(itsFixupTable, 0, tmp, 0, top);
					itsFixupTable = tmp;
				}
			}
			itsFixupTableTop = top + 1;
			itsFixupTable[top] = ((long)label << 32) | fixupSite;
		}