예제 #1
0
        private void AddAnalyzedAssembly(IJInterpreter2 interp)
        {
            if (interp != null) {
                var asmName = AssemblyName;
                if (asmName != null) {
                    _failedToAnalyze = false;
                    _asmName = new AssemblyName(asmName);
                    _curReference = new ProjectAssemblyReference(_asmName, ReferencedProjectOutputPath);
                    var task = interp.AddReferenceAsync(_curReference);

                    task.ContinueWith(new TaskFailureHandler(TaskScheduler.FromCurrentSynchronizationContext(), this).HandleAddRefFailure);
                } else {
                    _failedToAnalyze = true;
                }
            }
        }
예제 #2
0
 private void RemoveAnalyzedAssembly(IJInterpreter2 interp)
 {
     if (interp != null) {
         if (_curReference != null) {
             interp.RemoveReference(_curReference);
             _curReference = null;
         }
     }
 }
예제 #3
0
        private void AnalyzeReference(IJInterpreter2 interp)
        {
            _failedToAnalyze = false;
            var task = interp.AddReferenceAsync(new ProjectReference(_filename, ProjectReferenceKind.ExtensionModule));

            // check if we get an exception, and if so mark ourselves as a dangling reference.
            task.ContinueWith(new TaskFailureHandler(TaskScheduler.FromCurrentSynchronizationContext(), this).HandleAddRefFailure);
        }