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

Side by Side Diff: pkg/compiler/lib/src/inferrer/node_tracer.dart

Issue 1318043005: Support user generated custom native JS classes. (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: ptal Created 5 years, 2 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
OLDNEW
1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2013, 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 part of type_graph_inferrer; 5 part of type_graph_inferrer;
6 6
7 // A set of selectors we know do not escape the elements inside the 7 // A set of selectors we know do not escape the elements inside the
8 // list. 8 // list.
9 Set<String> doesNotEscapeListSet = new Set<String>.from( 9 Set<String> doesNotEscapeListSet = new Set<String>.from(
10 const <String>[ 10 const <String>[
(...skipping 168 matching lines...) Expand 10 before | Expand all | Expand 10 after
179 179
180 void visitStringLiteralTypeInformation(StringLiteralTypeInformation info) {} 180 void visitStringLiteralTypeInformation(StringLiteralTypeInformation info) {}
181 181
182 void visitClosureTypeInformation(ClosureTypeInformation info) {} 182 void visitClosureTypeInformation(ClosureTypeInformation info) {}
183 183
184 void visitClosureCallSiteTypeInformation( 184 void visitClosureCallSiteTypeInformation(
185 ClosureCallSiteTypeInformation info) {} 185 ClosureCallSiteTypeInformation info) {}
186 186
187 visitStaticCallSiteTypeInformation(StaticCallSiteTypeInformation info) { 187 visitStaticCallSiteTypeInformation(StaticCallSiteTypeInformation info) {
188 Element called = info.calledElement; 188 Element called = info.calledElement;
189 if (called.isJsInterop) {
190 bailout('Used in JS Interop ${info.call}');
sra1 2015/10/01 20:55:27 Seems harsh. Describe what we want to happen here
Jacob 2015/10/02 20:08:15 Removed obsolete bailout hack. This is a bailout I
191 }
189 if (inferrer.types.getInferredTypeOf(called) == currentUser) { 192 if (inferrer.types.getInferredTypeOf(called) == currentUser) {
190 addNewEscapeInformation(info); 193 addNewEscapeInformation(info);
191 } 194 }
192 } 195 }
193 196
194 void analyzeStoredIntoList(ListTypeInformation list) { 197 void analyzeStoredIntoList(ListTypeInformation list) {
195 inferrer.analyzeListAndEnqueue(list); 198 inferrer.analyzeListAndEnqueue(list);
196 if (list.bailedOut) { 199 if (list.bailedOut) {
197 bailout('Stored in a list that bailed out'); 200 bailout('Stored in a list that bailed out');
198 } else { 201 } else {
(...skipping 188 matching lines...) Expand 10 before | Expand all | Expand 10 after
387 } 390 }
388 if (isParameterOfListAddingMethod(info.element) || 391 if (isParameterOfListAddingMethod(info.element) ||
389 isParameterOfMapAddingMethod(info.element)) { 392 isParameterOfMapAddingMethod(info.element)) {
390 // These elements are being handled in 393 // These elements are being handled in
391 // [visitDynamicCallSiteTypeInformation]. 394 // [visitDynamicCallSiteTypeInformation].
392 return; 395 return;
393 } 396 }
394 addNewEscapeInformation(info); 397 addNewEscapeInformation(info);
395 } 398 }
396 } 399 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698