Exemple #1
0
        private static bool NotifyOfReplacement(TacticReplaceStatus t)
        {
            if (_status == null)
            {
                return(false);
            }
            switch (t)
            {
            case TacticReplaceStatus.NoDocumentPersistence:
                _status.SetText("Document must be saved in order to expand tactics.");
                break;

            case TacticReplaceStatus.TranslatorFail:
                _status.SetText("Tacny was unable to expand requested tactics.");
                break;

            case TacticReplaceStatus.NotResolved:
                _status.SetText("File must first be resolvable to expand tactics.");
                break;

            case TacticReplaceStatus.NoTactic:
                _status.SetText("There is no method under the caret that has expandable tactics.");
                break;

            case TacticReplaceStatus.Success:
                _status.SetText("Tactic expanded succesfully.");
                break;

            default:
                throw new Exception("Escaped Switch with " + t);
            }
            return(true);
        }
Exemple #2
0
        public TacticReplacerActor(ITextBuffer tb, int position = -1)
        {
            Contract.Requires(tb != null);
            string currentFileName;

            LoadStatus = RefactoringUtil.LoadAndCheckDocument(tb, out currentFileName) ? TacticReplaceStatus.Success : TacticReplaceStatus.NoDocumentPersistence;
            if (LoadStatus != TacticReplaceStatus.Success)
            {
                return;
            }
            var program = RefactoringUtil.GetReparsedProgram(tb, currentFileName, true);

            _tld        = RefactoringUtil.GetTld(program);
            _tldMembers = _tld?.Members.GetEnumerator();
            LoadStatus  = _tld != null ? TacticReplaceStatus.Success : TacticReplaceStatus.NotResolved;
            if (LoadStatus != TacticReplaceStatus.Success)
            {
                return;
            }
            if (position == -1)
            {
                return;
            }
            SetMember(position);
            SetTacticCall(position);
        }
Exemple #3
0
 public TacticReplacerActor(ITextBuffer tb, int position = -1)
 {
   Contract.Requires(tb != null);
   string currentFileName;
   LoadStatus = RefactoringUtil.LoadAndCheckDocument(tb, out currentFileName) ? TacticReplaceStatus.Success : TacticReplaceStatus.NoDocumentPersistence;
   if(LoadStatus!=TacticReplaceStatus.Success) return;
   var program = RefactoringUtil.GetReparsedProgram(tb, currentFileName, true);
   _tld = RefactoringUtil.GetTld(program);
   _tldMembers = _tld?.Members.GetEnumerator();
   LoadStatus = _tld != null ? TacticReplaceStatus.Success : TacticReplaceStatus.NotResolved;
   if (LoadStatus != TacticReplaceStatus.Success) return;
   if (position == -1) return;
   SetMember(position);
   SetTacticCall(position);
 }
Exemple #4
0
 private static bool NotifyOfReplacement(TacticReplaceStatus t)
 {
   if (_status == null) return false;
   switch (t)
   {
     case TacticReplaceStatus.NoDocumentPersistence:
       _status.SetText("Document must be saved in order to expand tactics.");
       break;
     case TacticReplaceStatus.TranslatorFail:
       _status.SetText("Tacny was unable to expand requested tactics.");
       break;
     case TacticReplaceStatus.NotResolved:
       _status.SetText("File must first be resolvable to expand tactics.");
       break;
     case TacticReplaceStatus.NoTactic:
       _status.SetText("There is no method under the caret that has expandable tactics.");
       break;
     case TacticReplaceStatus.Success:
       _status.SetText("Tactic expanded succesfully.");
       break;
     default:
       throw new Exception("Escaped Switch with " + t);
   }
   return true;
 }
Exemple #5
0
 public TacticReplacerActor(ITextBuffer tb, int position = -1)
 {
   Contract.Requires(tb != null);
   string currentFileName;
   LoadStatus = Util.LoadAndCheckDocument(tb, out currentFileName) ? TacticReplaceStatus.Success : TacticReplaceStatus.NoDocumentPersistence;
   if(LoadStatus!=TacticReplaceStatus.Success) return;
   _program = Util.GetProgram(tb, currentFileName, true);
   _unresolvedProgram = Util.GetProgram(tb, currentFileName, false);
   _tld = (DefaultClassDecl)_program?.DefaultModuleDef.TopLevelDecls.FirstOrDefault();
   _tldMembers = _tld?.Members.GetEnumerator();
   LoadStatus = _tld != null ? TacticReplaceStatus.Success : TacticReplaceStatus.NotResolved;
   if (LoadStatus != TacticReplaceStatus.Success) return;
   if (position == -1) return;
   SetMember(position);
   SetTacticCall(position);
 }