Mono.Cecil.MetadataSystem.BinaryRangeSearch C# (CSharp) Method

BinaryRangeSearch() static private method

static private BinaryRangeSearch ( Mono.Cecil.TypeDefinition types, uint rid, bool field ) : Mono.Cecil.TypeDefinition
types Mono.Cecil.TypeDefinition
rid uint
field bool
return Mono.Cecil.TypeDefinition
		static TypeDefinition BinaryRangeSearch (TypeDefinition [] types, uint rid, bool field)
		{
			int min = 0;
			int max = types.Length - 1;
			while (min <= max) {
				int mid = min + ((max - min) / 2);
				var type = types [mid];
				var range = field ? type.fields_range : type.methods_range;

				if (rid < range.Start)
					max = mid - 1;
				else if (rid >= range.Start + range.Length)
					min = mid + 1;
				else
					return type;
			}

			return null;
		}
	}

Usage Example

Esempio n. 1
0
 public TypeDefinition GetMethodDeclaringType(uint method_rid)
 {
     return(MetadataSystem.BinaryRangeSearch(this.Types, method_rid, false));
 }
All Usage Examples Of Mono.Cecil.MetadataSystem::BinaryRangeSearch