private static MethodArgumentDescriptor[] GetArgumentDescriptors(List <ParameterSyntax> argumentList, SemanticModel semanticModel, MockFramework mockFramework) { MethodArgumentDescriptor[] argumentDescriptors = new MethodArgumentDescriptor[argumentList.Count()]; for (int i = 0; i < argumentDescriptors.Count(); i++) { string argumentName = argumentList[i].Identifier.Text; ParameterModifier modifier = GetArgumentModifier(argumentList[i]); var namedTypeSymbol = InjectableType.TryCreateInjectableTypeFromParameterNode(argumentList[i], semanticModel, mockFramework); if (namedTypeSymbol != null) { argumentDescriptors[i] = new MethodArgumentDescriptor(namedTypeSymbol, argumentName, modifier); continue; } var argumentType = argumentList[i].Type; string typeName = argumentType.ToString(); argumentDescriptors[i] = new MethodArgumentDescriptor(new TypeDescriptor(typeName, null), argumentName, modifier); } return(argumentDescriptors); }
private static MethodArgumentDescriptor[] GetArgumentDescriptors(List <ParameterSyntax> argumentList, SemanticModel semanticModel, MockFramework mockFramework) { MethodArgumentDescriptor[] argumentDescriptors = new MethodArgumentDescriptor[argumentList.Count()]; for (int i = 0; i < argumentDescriptors.Count(); i++) { string argumentName = argumentList[i].Identifier.Text; ParameterModifier modifier = GetArgumentModifier(argumentList[i]); SyntaxNode node = GetMainNodeFromParameterEntry(argumentList[i]); SymbolInfo symbolInfo = semanticModel.GetSymbolInfo(node); TypeDescriptor typeDescriptor; typeDescriptor = new TypeDescriptor(symbolInfo, argumentList[i].Type, node.Kind()); argumentDescriptors[i] = new MethodArgumentDescriptor(typeDescriptor, argumentName, modifier); } return(argumentDescriptors); }