Example #1
0
        public static void ReplaceIdentifier([CanBeNull] this IFSharpIdentifier fsIdentifier, string name)
        {
            // todo: replace the composite identifier node with a single token where possible
            if (!(fsIdentifier?.FirstChild is FSharpIdentifierToken token))
            {
                return;
            }

            name = Lexhelp.Keywords.QuoteIdentifierIfNeeded(name);
            using (WriteLockCookie.Create(fsIdentifier.IsPhysical()))
                LowLevelModificationUtil.ReplaceChildRange(token, token, new FSharpIdentifierToken(name));
        }
Example #2
0
        public static void ReplaceIdentifier([CanBeNull] this IFSharpIdentifier fsIdentifier, string name)
        {
            var token = fsIdentifier?.IdentifierToken;

            if (token == null)
            {
                return;
            }

            name = NamingManager.GetNamingLanguageService(fsIdentifier.Language).MangleNameIfNecessary(name);
            using (WriteLockCookie.Create(fsIdentifier.IsPhysical()))
                LowLevelModificationUtil.ReplaceChildRange(token, token, new FSharpIdentifierToken(name));
        }