public string[] GetNames(ILConversion conversion, ConvertedGenericParameterTypeDefinitionsMask_I definitions) { var all = definitions.All; string[] nameList = new string[all.Count]; for (int i = 0; i < all.Count; i++) { var tp = (ConvertedGenericParameterTypeDefinition)all[i]; nameList[i] = tp.Name; } return(nameList); }
public void Add(ILConversion conversion, ConvertedGenericParameterTypeDefinitionsMask_I definitions, ConvertedGenericParameterTypeDefinition typeParameter) { if (typeParameter.TypeParameterKind == TypeParameterKind.Unknown) { throw new Exception("Type parameter kind is set to unknown"); } if (typeParameter.Position < 0) { throw new Exception("Position cannot be a negative number. Make sure it is set to value greater than or equal to zero when creating the parameter."); } definitions.ByName.Add(typeParameter.Name, typeParameter); definitions.ByPosition.Add(typeParameter.Position, typeParameter); definitions.All.Add(typeParameter); }
public ConvertedGenericParameterTypeDefinition_I GetOrThrow(ILConversion conversion, ConvertedGenericParameterTypeDefinitionsMask_I definitions, string name) { var result = Get(conversion, definitions, name); if (result == null) { throw new Exception($"Could not find type parameter with name {name}"); } return(result); }
public ConvertedGenericParameterTypeDefinition_I Get(ILConversion conversion, ConvertedGenericParameterTypeDefinitionsMask_I definitions, int position) { if (definitions.ByPosition.TryGetValue(position, out SemanticGenericParameterTypeDefinitionMask_I typeParameter)) { return((ConvertedGenericParameterTypeDefinition_I)typeParameter); } return(null); }
public ConvertedGenericParameterTypeDefinition_I Get(ILConversion conversion, ConvertedGenericParameterTypeDefinitionsMask_I definitions, string name) { if (definitions.ByName.TryGetValue(name, out SemanticGenericParameterTypeDefinitionMask_I typeParameter)) { return((ConvertedGenericParameterTypeDefinition_I)typeParameter); } return(null); }
public ConvertedGenericParameterTypeDefinition_I GetOrThrow(ILConversion conversion, ConvertedGenericParameterTypeDefinitionsMask_I definitions, int position) { var result = Get(conversion, definitions, position); if (result == null) { throw new Exception($"Could not find type parameter with position {position}"); } return(result); }