예제 #1
0
        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);
        }
예제 #2
0
        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);
        }
 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);
        }