コード例 #1
0
        protected virtual bool VisitClassBodyDeclaration(ClassBodyDeclarationContext ctx)
        {
            var privateModifier  = ctx.modifier().FirstOrDefault(x => x.GetText() == "private");
            var publicModifier   = ctx.modifier().FirstOrDefault(x => x.GetText() == "public");
            var staticModifier   = ctx.modifier().FirstOrDefault(x => x.GetText() == "static");
            var overrideModifier = ctx.modifier().FirstOrDefault(x => x.classOrInterfaceModifier()?.annotation()?.annotationName()?.qualifiedName()?.Identifier().FirstOrDefault()?.GetText() == "Override");

            if (publicModifier == null)
            {
                if (privateModifier == null)
                {
                    _rewriter.InsertBefore(ctx.Start, "internal ");
                }
                else if (staticModifier != null)
                {
                    _rewriter.Replace(privateModifier.Start, privateModifier.Stop, "internal");
                }
            }

            if (overrideModifier != null)
            {
                _rewriter.Delete(overrideModifier.Start, overrideModifier.Stop);
                _rewriter.InsertBefore(ctx.memberDeclaration().Start, "override ");
            }

            return(true);
        }
コード例 #2
0
 public void InsertBefore(int tokenIndex, string content)
 {
     _rewriter.InsertBefore(tokenIndex, content);
 }
コード例 #3
0
 void AddLogBefore(IToken stop, string title)
 {
     rewriter.InsertBefore(stop, GetLog(stop.Column, title));
 }