public EncapsulationIdentifiers(string field) { _targetIdentifier = field; DefaultPropertyName = field.CapitalizeFirstLetter(); DefaultNewFieldName = (field.ToLowerCaseFirstLetter()).IncrementEncapsulationIdentifier(); if (field.TryMatchHungarianNotationCriteria(out var nonHungarianName)) { if (!VBAIdentifierValidator.TryMatchInvalidIdentifierCriteria(nonHungarianName, DeclarationType.Variable, out _)) { DefaultPropertyName = nonHungarianName; DefaultNewFieldName = field; } } else if (field.StartsWith("m_")) { var propertyName = field.Substring(2).CapitalizeFirstLetter(); if (!VBAIdentifierValidator.TryMatchInvalidIdentifierCriteria(propertyName, DeclarationType.Property, out _)) { DefaultPropertyName = propertyName; DefaultNewFieldName = field; } } _fieldAndProperty = new KeyValuePair <string, string>(DefaultNewFieldName, DefaultPropertyName); }
private void SetControlsProperties() { var isValid = VBAIdentifierValidator.IsValidIdentifier(NewName, DeclarationType.Variable); OkButton.Visible = isValid; OkButton.Enabled = isValid; InvalidNameValidationIcon.Visible = !isValid; }
protected override bool IsResultDeclaration(Declaration declaration, DeclarationFinder finder, string[] whitelistedNames) { return(!string.IsNullOrEmpty(declaration.IdentifierName) && !IgnoreDeclarationTypes.Contains(declaration.DeclarationType) && !(declaration.Context is VBAParser.LineNumberLabelContext) && (declaration.ParentDeclaration == null || !IgnoreDeclarationTypes.Contains(declaration.ParentDeclaration.DeclarationType) && !finder.FindEventHandlers().Contains(declaration.ParentDeclaration)) && !whitelistedNames.Contains(declaration.IdentifierName) && !VBAIdentifierValidator.IsMeaningfulIdentifier(declaration.IdentifierName)); }
protected override IEnumerable <IInspectionResult> DoGetInspectionResults() { var settings = _settings.Read(); var whitelistedNames = settings.WhitelistedIdentifiers.Select(s => s.Identifier).ToArray(); var handlers = State.DeclarationFinder.FindEventHandlers(); var issues = UserDeclarations .Where(declaration => !string.IsNullOrEmpty(declaration.IdentifierName) && !IgnoreDeclarationTypes.Contains(declaration.DeclarationType) && !(declaration.Context is LineNumberLabelContext) && (declaration.ParentDeclaration == null || !IgnoreDeclarationTypes.Contains(declaration.ParentDeclaration.DeclarationType) && !handlers.Contains(declaration.ParentDeclaration)) && !whitelistedNames.Contains(declaration.IdentifierName) && !VBAIdentifierValidator.IsMeaningfulIdentifier(declaration.IdentifierName)); return((from issue in issues select CreateInspectionResult(this, issue)) .ToList()); }
private string GetVariableNameFeedback() { if (string.IsNullOrEmpty(NewName)) { return(string.Empty); } if (_isConflictingName(NewName)) { return(string.Format(RubberduckUI.AssignedByValDialog_NewNameAlreadyUsedFormat, NewName)); } if (VBAIdentifierValidator.TryMatchInvalidIdentifierCriteria(NewName, DeclarationType.Variable, out var invalidMessage)) { return(invalidMessage); } if (VBAIdentifierValidator.TryMatchMeaninglessIdentifierCriteria(NewName, out var meaninglessNameMessage)) { return(string.Format(RubberduckUI.AssignedByValDialog_MeaninglessNameFormat, meaninglessNameMessage)); } return(string.Empty); }
private bool IsValidVariableName(string variableName) { return(VBAIdentifierValidator.IsValidIdentifier(variableName, DeclarationType.Variable) && !IsNameCollision(variableName)); }
public bool IsValidVBAIdentifier(string identifier, out string errorMessage) => !VBAIdentifierValidator.TryMatchInvalidIdentifierCriteria(identifier, _declarationType, out errorMessage, _isArray);
public void UDTMemberIdentifierValidations(string identifier, DeclarationType declarationType, bool isArray, bool expectedResult) { var result = VBAIdentifierValidator.TryMatchInvalidIdentifierCriteria(identifier, declarationType, out var errorMessage, isArray); Assert.AreEqual(expectedResult, result, errorMessage); }
public void VBAIdentifierValidator_IsMeaningfulName(string identifier, bool expected) { Assert.AreEqual(expected, VBAIdentifierValidator.IsMeaningfulIdentifier(identifier)); }
public void VBAIdentifierValidator_IsValidName(string identifier, DeclarationType declarationType, bool expected) { Assert.AreEqual(expected, VBAIdentifierValidator.IsValidIdentifier(identifier, declarationType)); }