| Index: editor/tools/plugins/com.google.dart.engine/src/com/google/dart/engine/internal/context/AnalysisContextImpl.java
|
| diff --git a/editor/tools/plugins/com.google.dart.engine/src/com/google/dart/engine/internal/context/AnalysisContextImpl.java b/editor/tools/plugins/com.google.dart.engine/src/com/google/dart/engine/internal/context/AnalysisContextImpl.java
|
| index c51cc1934b11e21adcd4aba7c01646e3450085f4..9cd62c8014e1007f997533d121d48f0d3a98c0ca 100644
|
| --- a/editor/tools/plugins/com.google.dart.engine/src/com/google/dart/engine/internal/context/AnalysisContextImpl.java
|
| +++ b/editor/tools/plugins/com.google.dart.engine/src/com/google/dart/engine/internal/context/AnalysisContextImpl.java
|
| @@ -109,7 +109,6 @@ import java.io.IOException;
|
| import java.util.ArrayList;
|
| import java.util.HashMap;
|
| import java.util.HashSet;
|
| -import java.util.LinkedHashSet;
|
| import java.util.List;
|
| import java.util.Map;
|
| import java.util.Map.Entry;
|
| @@ -932,18 +931,6 @@ public class AnalysisContextImpl implements InternalAnalysisContext {
|
| private HashMap<Source, ChangeNoticeImpl> pendingNotices = new HashMap<Source, ChangeNoticeImpl>();
|
|
|
| /**
|
| - * A set containing information about the tasks that have been performed since the last change
|
| - * notification. Used to detect infinite loops in {@link #performAnalysisTask()}.
|
| - */
|
| - private LinkedHashSet<String> recentTasks = new LinkedHashSet<String>();
|
| -
|
| - /**
|
| - * A flag indicating whether we have already reported an infinite loop in
|
| - * {@link #performAnalysisTask()}.
|
| - */
|
| - private boolean reportedLoop = false;
|
| -
|
| - /**
|
| * The object used to synchronize access to all of the caches. The rules related to the use of
|
| * this lock object are
|
| * <ul>
|
| @@ -1029,8 +1016,6 @@ public class AnalysisContextImpl implements InternalAnalysisContext {
|
| return;
|
| }
|
| synchronized (cacheLock) {
|
| - recentTasks.clear();
|
| - reportedLoop = false;
|
| //
|
| // First, compute the list of sources that have been removed.
|
| //
|
| @@ -1923,18 +1908,6 @@ public class AnalysisContextImpl implements InternalAnalysisContext {
|
| return new AnalysisResult(getChangeNotices(true), getEnd - getStart, null, -1L);
|
| }
|
| String taskDescription = task.toString();
|
| -// if (!reportedLoop && !recentTasks.add(taskDescription)) {
|
| -// reportedLoop = true;
|
| -// @SuppressWarnings("resource")
|
| -// PrintStringWriter writer = new PrintStringWriter();
|
| -// writer.print("Performing repeated task: ");
|
| -// writer.println(taskDescription);
|
| -// for (String description : recentTasks) {
|
| -// writer.print(" ");
|
| -// writer.println(description);
|
| -// }
|
| -// logInformation(writer.toString());
|
| -// }
|
| notifyAboutToPerformTask(taskDescription);
|
| if (TRACE_PERFORM_TASK) {
|
| System.out.println(taskDescription);
|
| @@ -2124,8 +2097,6 @@ public class AnalysisContextImpl implements InternalAnalysisContext {
|
| public void setChangedContents(Source source, String contents, int offset, int oldLength,
|
| int newLength) {
|
| synchronized (cacheLock) {
|
| - recentTasks.clear();
|
| - reportedLoop = false;
|
| String originalContents = contentCache.setContents(source, contents);
|
| if (contents != null) {
|
| if (!contents.equals(originalContents)) {
|
| @@ -2159,8 +2130,6 @@ public class AnalysisContextImpl implements InternalAnalysisContext {
|
| @Override
|
| public void setContents(Source source, String contents) {
|
| synchronized (cacheLock) {
|
| - recentTasks.clear();
|
| - reportedLoop = false;
|
| String originalContents = contentCache.setContents(source, contents);
|
| if (contents != null) {
|
| if (!contents.equals(originalContents)) {
|
| @@ -4222,8 +4191,6 @@ public class AnalysisContextImpl implements InternalAnalysisContext {
|
| }
|
| }
|
| removeFromPartsUsingMap(oldPartMap);
|
| - recentTasks.clear();
|
| - reportedLoop = false;
|
| }
|
|
|
| /**
|
|
|