Microsoft.Cci.InternFactory.GetParameterTypeInternId C# (CSharp) Method

GetParameterTypeInternId() private method

private GetParameterTypeInternId ( IParameterTypeInformation parameterTypeInformation ) : uint
parameterTypeInformation IParameterTypeInformation
return uint
    uint GetParameterTypeInternId(IParameterTypeInformation parameterTypeInformation) {
      Contract.Requires(parameterTypeInformation != null);

      uint typeReferenceInternId = this.GetTypeReferenceInternId(parameterTypeInformation.Type);
      uint customModifiersInternId = 0;
      if (parameterTypeInformation.IsModified)
        customModifiersInternId = this.GetCustomModifierListInternId(parameterTypeInformation.CustomModifiers.GetEnumerator());
      foreach (ParameterTypeStore parameterTypeStore in this.ParameterTypeHashtable.GetValuesFor(typeReferenceInternId)) {
        if (
          parameterTypeStore.IsByReference == parameterTypeInformation.IsByReference
          && parameterTypeStore.CustomModifiersInternId == customModifiersInternId
        ) {
          return parameterTypeStore.InternedId;
        }
      }
      ParameterTypeStore parameterTypeStore1 = new ParameterTypeStore(parameterTypeInformation.IsByReference, customModifiersInternId, this.CurrentParameterTypeInternValue++);
      this.ParameterTypeHashtable.Add(typeReferenceInternId, parameterTypeStore1);
      return parameterTypeStore1.InternedId;
    }