Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(247)

Side by Side Diff: lib/static_debug.dart

Issue 1016913002: pkg/smoke: support latest analyzer version and formatted code (Closed) Base URL: https://github.com/dart-lang/smoke@master
Patch Set: updates Created 5 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « lib/static.dart ('k') | pubspec.yaml » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 /// Static implementation of smoke services that uses code-generated data and 5 /// Static implementation of smoke services that uses code-generated data and
6 /// verifies that the results match what we would get with a mirror-based 6 /// verifies that the results match what we would get with a mirror-based
7 /// implementation. 7 /// implementation.
8 library smoke.static_debug; 8 library smoke.static_debug;
9 9
10 export 'package:smoke/static.dart' show StaticConfiguration, Getter, Setter; 10 export 'package:smoke/static.dart' show StaticConfiguration, Getter, Setter;
(...skipping 13 matching lines...) Expand all
24 24
25 /// Implements [ObjectAccessorService] using a static configuration. 25 /// Implements [ObjectAccessorService] using a static configuration.
26 class _DebugObjectAccessorService implements ObjectAccessorService { 26 class _DebugObjectAccessorService implements ObjectAccessorService {
27 GeneratedObjectAccessorService _static; 27 GeneratedObjectAccessorService _static;
28 ReflectiveObjectAccessorService _mirrors; 28 ReflectiveObjectAccessorService _mirrors;
29 29
30 _DebugObjectAccessorService(StaticConfiguration configuration) 30 _DebugObjectAccessorService(StaticConfiguration configuration)
31 : _static = new GeneratedObjectAccessorService(configuration), 31 : _static = new GeneratedObjectAccessorService(configuration),
32 _mirrors = new ReflectiveObjectAccessorService(); 32 _mirrors = new ReflectiveObjectAccessorService();
33 33
34 read(Object object, Symbol name) => 34 read(Object object, Symbol name) => _check('read', [
35 _check('read', [object, name], 35 object,
36 _static.read(object, name), 36 name
37 _mirrors.read(object, name)); 37 ], _static.read(object, name), _mirrors.read(object, name));
38 38
39 // Note: we can't verify operations with side-effects like write or invoke. 39 // Note: we can't verify operations with side-effects like write or invoke.
40 void write(Object object, Symbol name, value) => 40 void write(Object object, Symbol name, value) =>
41 _static.write(object, name, value); 41 _static.write(object, name, value);
42 42
43 invoke(object, Symbol name, List args, {Map namedArgs, bool adjust: false}) => 43 invoke(object, Symbol name, List args, {Map namedArgs, bool adjust: false}) =>
44 _static.invoke(object, name, args, namedArgs: namedArgs, adjust: adjust); 44 _static.invoke(object, name, args, namedArgs: namedArgs, adjust: adjust);
45 } 45 }
46 46
47 /// Implements [TypeInspectorService] using a static configuration. 47 /// Implements [TypeInspectorService] using a static configuration.
48 class _DebugTypeInspectorService implements TypeInspectorService { 48 class _DebugTypeInspectorService implements TypeInspectorService {
49 GeneratedTypeInspectorService _static; 49 GeneratedTypeInspectorService _static;
50 ReflectiveTypeInspectorService _mirrors; 50 ReflectiveTypeInspectorService _mirrors;
51 51
52 _DebugTypeInspectorService(StaticConfiguration configuration) 52 _DebugTypeInspectorService(StaticConfiguration configuration)
53 : _static = new GeneratedTypeInspectorService(configuration), 53 : _static = new GeneratedTypeInspectorService(configuration),
54 _mirrors = new ReflectiveTypeInspectorService(); 54 _mirrors = new ReflectiveTypeInspectorService();
55 55
56 bool isSubclassOf(Type type, Type supertype) => 56 bool isSubclassOf(Type type, Type supertype) => _check('isSubclassOf', [
57 _check('isSubclassOf', [type, supertype], 57 type,
58 _static.isSubclassOf(type, supertype), 58 supertype
59 _mirrors.isSubclassOf(type, supertype)); 59 ], _static.isSubclassOf(type, supertype),
60 _mirrors.isSubclassOf(type, supertype));
60 61
61 bool hasGetter(Type type, Symbol name) => 62 bool hasGetter(Type type, Symbol name) => _check('hasGetter', [
62 _check('hasGetter', [type, name], 63 type,
63 _static.hasGetter(type, name), 64 name
64 _mirrors.hasGetter(type, name)); 65 ], _static.hasGetter(type, name), _mirrors.hasGetter(type, name));
65 66
66 bool hasSetter(Type type, Symbol name) => 67 bool hasSetter(Type type, Symbol name) => _check('hasSetter', [
67 _check('hasSetter', [type, name], 68 type,
68 _static.hasSetter(type, name), 69 name
69 _mirrors.hasSetter(type, name)); 70 ], _static.hasSetter(type, name), _mirrors.hasSetter(type, name));
70 71
71 bool hasInstanceMethod(Type type, Symbol name) => 72 bool hasInstanceMethod(Type type, Symbol name) => _check('hasInstanceMethod',
72 _check('hasInstanceMethod', [type, name], 73 [type, name], _static.hasInstanceMethod(type, name),
73 _static.hasInstanceMethod(type, name), 74 _mirrors.hasInstanceMethod(type, name));
74 _mirrors.hasInstanceMethod(type, name));
75 75
76 bool hasStaticMethod(Type type, Symbol name) => 76 bool hasStaticMethod(Type type, Symbol name) => _check('hasStaticMethod', [
77 _check('hasStaticMethod', [type, name], 77 type,
78 _static.hasStaticMethod(type, name), 78 name
79 _mirrors.hasStaticMethod(type, name)); 79 ], _static.hasStaticMethod(type, name), _mirrors.hasStaticMethod(type, name));
80 80
81 Declaration getDeclaration(Type type, Symbol name) => 81 Declaration getDeclaration(Type type, Symbol name) => _check('getDeclaration',
82 _check('getDeclaration', [type, name], 82 [
83 _static.getDeclaration(type, name), 83 type,
84 _mirrors.getDeclaration(type, name)); 84 name
85 ], _static.getDeclaration(type, name), _mirrors.getDeclaration(type, name));
85 86
86 List<Declaration> query(Type type, QueryOptions options) => 87 List<Declaration> query(Type type, QueryOptions options) => _check('query', [
87 _check('query', [type, options], 88 type,
88 _static.query(type, options), 89 options
89 _mirrors.query(type, options)); 90 ], _static.query(type, options), _mirrors.query(type, options));
90 } 91 }
91 92
92 /// Implements [SymbolConverterService] using a static configuration. 93 /// Implements [SymbolConverterService] using a static configuration.
93 class _DebugSymbolConverterService implements SymbolConverterService { 94 class _DebugSymbolConverterService implements SymbolConverterService {
94 GeneratedSymbolConverterService _static; 95 GeneratedSymbolConverterService _static;
95 ReflectiveSymbolConverterService _mirrors; 96 ReflectiveSymbolConverterService _mirrors;
96 97
97 _DebugSymbolConverterService(StaticConfiguration configuration) 98 _DebugSymbolConverterService(StaticConfiguration configuration)
98 : _static = new GeneratedSymbolConverterService(configuration), 99 : _static = new GeneratedSymbolConverterService(configuration),
99 _mirrors = new ReflectiveSymbolConverterService(); 100 _mirrors = new ReflectiveSymbolConverterService();
100 101
101 String symbolToName(Symbol symbol) => 102 String symbolToName(Symbol symbol) => _check('symbolToName', [symbol],
102 _check('symbolToName', [symbol], 103 _static.symbolToName(symbol), _mirrors.symbolToName(symbol));
103 _static.symbolToName(symbol),
104 _mirrors.symbolToName(symbol));
105 104
106 Symbol nameToSymbol(String name) => 105 Symbol nameToSymbol(String name) => _check('nameToSymbol', [name],
107 _check('nameToSymbol', [name], 106 _static.nameToSymbol(name), _mirrors.nameToSymbol(name));
108 _static.nameToSymbol(name),
109 _mirrors.nameToSymbol(name));
110 } 107 }
111 108
112 _check(String operation, List arguments, staticResult, mirrorResult) { 109 _check(String operation, List arguments, staticResult, mirrorResult) {
113 if (staticResult == mirrorResult) return staticResult; 110 if (staticResult == mirrorResult) return staticResult;
114 if (staticResult is List && mirrorResult is List && 111 if (staticResult is List &&
112 mirrorResult is List &&
115 compareLists(staticResult, mirrorResult, unordered: true)) { 113 compareLists(staticResult, mirrorResult, unordered: true)) {
116 return staticResult; 114 return staticResult;
117 } 115 }
118 print('warning: inconsistent result on $operation(${arguments.join(', ')})\n' 116 print('warning: inconsistent result on $operation(${arguments.join(', ')})\n'
119 'smoke.mirrors result: $mirrorResult\n' 117 'smoke.mirrors result: $mirrorResult\n'
120 'smoke.static result: $staticResult\n'); 118 'smoke.static result: $staticResult\n');
121 return staticResult; 119 return staticResult;
122 } 120 }
OLDNEW
« no previous file with comments | « lib/static.dart ('k') | pubspec.yaml » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698