public DocumentRange CalculateRange() { var nameRange = MethodDeclaration.GetNameDocumentRange(); if (!nameRange.IsValid()) { return(DocumentRange.InvalidRange); } if (MethodDeclaration.IsStatic) { var modifiersList = MethodDeclaration.ModifiersList; foreach (var modifier in modifiersList.Modifiers) { if (modifier.NodeType == CSharpTokenType.STATIC_KEYWORD) { return(modifier.GetDocumentRange()); } } var modifiersListRange = modifiersList.GetDocumentRange(); if (modifiersListRange.IsValid() && !modifiersListRange.IsEmpty) { return(modifiersListRange); } } return(nameRange); }
public DocumentRange CalculateRange() { var nameRange = MethodDeclaration.GetNameDocumentRange(); if (!nameRange.IsValid()) { return(DocumentRange.InvalidRange); } var returnType = MethodDeclaration.TypeUsage; if (returnType == null) { return(nameRange); } var documentRange = returnType.GetDocumentRange(); return(!documentRange.IsValid() ? nameRange : documentRange); }
public DocumentRange CalculateRange() { var nameRange = MethodDeclaration.GetNameDocumentRange(); if (!nameRange.IsValid()) { return(DocumentRange.InvalidRange); } var typeParameterList = MethodDeclaration.TypeParameterList; if (typeParameterList == null) { return(nameRange); } var documentRange = typeParameterList.GetDocumentRange(); return(!documentRange.IsValid() ? nameRange : documentRange); }
public DocumentRange CalculateRange() { var nameRange = MethodDeclaration.GetNameDocumentRange(); if (!nameRange.IsValid()) { return(DocumentRange.InvalidRange); } var @params = MethodDeclaration.Params; if (@params == null) { return(nameRange); } var paramsRange = @params.GetDocumentRange(); if (!paramsRange.IsValid()) { return(nameRange); } if (!paramsRange.IsEmpty) { return(paramsRange); } var lparRange = MethodDeclaration.LPar?.GetDocumentRange(); var rparRange = MethodDeclaration.RPar?.GetDocumentRange(); var startOffset = lparRange != null && lparRange.Value.IsValid() ? lparRange.Value : paramsRange; var endOffset = rparRange != null && rparRange.Value.IsValid() ? rparRange.Value : paramsRange; return(new DocumentRange(startOffset.StartOffset, endOffset.EndOffset)); }