Skip to content

Commit

Permalink
Bug fixes for the new task model
Browse files Browse the repository at this point in the history
R=scheglov@google.com

Review URL: https://codereview.chromium.org//1144393006
  • Loading branch information
bwilkerson committed Jun 1, 2015
1 parent 34ce430 commit 40e9250
Show file tree
Hide file tree
Showing 3 changed files with 33 additions and 5 deletions.
21 changes: 18 additions & 3 deletions pkg/analysis_server/lib/src/analysis_server.dart
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,8 @@ import 'package:analysis_server/src/services/search/search_engine.dart';
import 'package:analysis_server/src/source/optimizing_pub_package_map_provider.dart';
import 'package:analyzer/file_system/file_system.dart';
import 'package:analyzer/instrumentation/instrumentation.dart';
import 'package:analyzer/src/context/cache.dart';
import 'package:analyzer/src/context/context.dart' as newContext;
import 'package:analyzer/src/generated/ast.dart';
import 'package:analyzer/src/generated/element.dart';
import 'package:analyzer/src/generated/engine.dart';
Expand All @@ -31,6 +33,8 @@ import 'package:analyzer/src/generated/sdk.dart';
import 'package:analyzer/src/generated/source.dart';
import 'package:analyzer/src/generated/source_io.dart';
import 'package:analyzer/src/generated/utilities_general.dart';
import 'package:analyzer/src/task/dart.dart';
import 'package:analyzer/task/dart.dart';
import 'package:plugin/plugin.dart';

typedef void OptionUpdater(AnalysisOptionsImpl options);
Expand Down Expand Up @@ -1025,10 +1029,21 @@ class AnalysisServer {
void test_flushResolvedUnit(String file) {
if (AnalysisEngine.isDartFileName(file)) {
ContextSourcePair contextSource = getContextSourcePair(file);
AnalysisContextImpl context = contextSource.context;
AnalysisContext context = contextSource.context;
Source source = contextSource.source;
DartEntry dartEntry = context.getReadableSourceEntryOrNull(source);
dartEntry.flushAstStructures();
if (context is AnalysisContextImpl) {
DartEntry dartEntry = context.getReadableSourceEntryOrNull(source);
dartEntry.flushAstStructures();
} else if (context is newContext.AnalysisContextImpl) {
CacheEntry entry = context.getCacheEntry(source);
entry.setState(RESOLVED_UNIT1, CacheState.FLUSHED);
entry.setState(RESOLVED_UNIT2, CacheState.FLUSHED);
entry.setState(RESOLVED_UNIT3, CacheState.FLUSHED);
entry.setState(RESOLVED_UNIT4, CacheState.FLUSHED);
entry.setState(RESOLVED_UNIT5, CacheState.FLUSHED);
entry.setState(RESOLVED_UNIT6, CacheState.FLUSHED);
entry.setState(RESOLVED_UNIT, CacheState.FLUSHED);
}
}
}

Expand Down
3 changes: 3 additions & 0 deletions pkg/analysis_server/test/services/completion/optype_test.dart
Original file line number Diff line number Diff line change
Expand Up @@ -1286,5 +1286,8 @@ class _TestSource implements Source {
@override
String get shortName => fullName;

@override
Source get source => this;

noSuchMethod(Invocation invocation) => super.noSuchMethod(invocation);
}
14 changes: 12 additions & 2 deletions pkg/analysis_server/test/services/refactoring/move_file_test.dart
Original file line number Diff line number Diff line change
Expand Up @@ -145,14 +145,18 @@ import 'new_name.dart';
String pathA = '/project/000/1111/a.dart';
testFile = '/project/000/1111/22/test.dart';
addSource(pathA, '''
library lib;
part '22/test.dart';
''');
addTestSource('');
addTestSource('''
part of lib;
''');
_performAnalysis();
// perform refactoring
_createRefactoring('/project/000/1111/22/new_name.dart');
await _assertSuccessfulRefactoring();
assertFileChangeResult(pathA, '''
library lib;
part '22/new_name.dart';
''');
assertNoFileChange(testFile);
Expand All @@ -163,20 +167,26 @@ part '22/new_name.dart';
String pathB = '/project/000/b.dart';
testFile = '/project/000/1111/22/test.dart';
addSource(pathA, '''
library lib;
part '22/test.dart';
''');
addSource(pathB, '''
library lib;
part '1111/22/test.dart';
''');
addTestSource('');
addTestSource('''
part of lib;
''');
_performAnalysis();
// perform refactoring
_createRefactoring('/project/000/1111/22/new_name.dart');
await _assertSuccessfulRefactoring();
assertFileChangeResult(pathA, '''
library lib;
part '22/new_name.dart';
''');
assertFileChangeResult(pathB, '''
library lib;
part '1111/22/new_name.dart';
''');
assertNoFileChange(testFile);
Expand Down

0 comments on commit 40e9250

Please sign in to comment.