/// <summary> /// Swap to built in type alias. /// </summary> /// <param name="node"> /// The node to process. /// </param> public static void SwapToBuiltInTypeAlias(ITreeNode node) { for (ITreeNode currentNode = node; currentNode != null; currentNode = currentNode.NextSibling) { ITypeArgumentListNode typeArgumentListNode = currentNode as ITypeArgumentListNode; if (typeArgumentListNode != null) { SwapGenericDeclarationToBuiltInType(typeArgumentListNode); } else { IMethodDeclarationNode methodDeclarationNode = currentNode as IMethodDeclarationNode; if (methodDeclarationNode != null) { SwapReturnTypeToBuiltInType(methodDeclarationNode); } else { IVariableDeclarationNode variableDeclaration = currentNode as IVariableDeclarationNode; if (variableDeclaration != null) { SwapVariableDeclarationToBuiltInType(variableDeclaration); } else { IObjectCreationExpressionNode creationExpressionNode = currentNode as IObjectCreationExpressionNode; if (creationExpressionNode != null) { SwapObjectCreationToBuiltInType(creationExpressionNode); } else { IArrayCreationExpressionNode arrayCreationNode = currentNode as IArrayCreationExpressionNode; if (arrayCreationNode != null) { SwapArrayCreationToBuiltInType(arrayCreationNode); } else { IReferenceExpressionNode referenceExpressionNode = currentNode as IReferenceExpressionNode; if (referenceExpressionNode != null) { SwapReferenceExpressionToBuiltInType(referenceExpressionNode); } } } } } } if (currentNode != null && currentNode.FirstChild != null) { SwapToBuiltInTypeAlias(currentNode.FirstChild); } } }
/// <summary> /// Get return type. /// </summary> /// <param name="declaration"> /// The declaration. /// </param> /// <returns> /// An IType for the return type. /// </returns> public static IType GetReturnType(this IMethodDeclaration declaration) { IMethodDeclarationNode methodDeclarationNode = declaration as IMethodDeclarationNode; if (methodDeclarationNode == null) { return(null); } ITypeUsageNode typeUsage = methodDeclarationNode.TypeUsage; if (typeUsage == null) { return(null); } return(CSharpTypeFactory.CreateType(typeUsage)); }