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

Side by Side Diff: pkg/compiler/lib/src/js_emitter/model.dart

Issue 1215463006: Move nativeInfo encoding into NativeGenerator. (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Created 5 years, 5 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) 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 library dart2js.new_js_emitter.model; 5 library dart2js.new_js_emitter.model;
6 6
7 import '../js/js.dart' as js show Expression, Statement, Name, Literal, 7 import '../js/js.dart' as js show Expression, Statement, Name, Literal,
8 TokenFinalizer; 8 TokenFinalizer;
9 import '../constants/values.dart' show ConstantValue; 9 import '../constants/values.dart' show ConstantValue;
10 10
(...skipping 225 matching lines...) Expand 10 before | Expand all | Expand 10 after
236 final bool isDirectlyInstantiated; 236 final bool isDirectlyInstantiated;
237 final bool isNative; 237 final bool isNative;
238 238
239 // If the class implements a function type, and the type is encoded in the 239 // If the class implements a function type, and the type is encoded in the
240 // metatada table, then this field contains the index into that field. 240 // metatada table, then this field contains the index into that field.
241 final js.Expression functionTypeIndex; 241 final js.Expression functionTypeIndex;
242 242
243 /// Whether the class must be evaluated eagerly. 243 /// Whether the class must be evaluated eagerly.
244 bool isEager = false; 244 bool isEager = false;
245 245
246 /// Data that must be emitted with the class for native interop. 246 /// Leaf tags. See [NativeEmitter.prepareNativeClasses].
247 js.Literal nativeInfo; 247 List<String> nativeLeafTags;
248
249 /// Non-leaf tags. See [NativeEmitter.prepareNativeClasses].
250 List<String> nativeNonLeafTags;
251
252 /// Native extensions. See [NativeEmitter.prepareNativeClasses].
253 List<Class> nativeExtensions;
248 254
249 Class(this.element, this.name, this.holder, 255 Class(this.element, this.name, this.holder,
250 this.methods, 256 this.methods,
251 this.fields, 257 this.fields,
252 this.staticFieldsForReflection, 258 this.staticFieldsForReflection,
253 this.callStubs, 259 this.callStubs,
254 this.typeVariableReaderStubs, 260 this.typeVariableReaderStubs,
255 this.noSuchMethodStubs, 261 this.noSuchMethodStubs,
256 this.isChecks, 262 this.isChecks,
257 this.functionTypeIndex, 263 this.functionTypeIndex,
(...skipping 227 matching lines...) Expand 10 before | Expand all | Expand 10 after
485 requiredParameterCount: requiredParameterCount, 491 requiredParameterCount: requiredParameterCount,
486 optionalParameterDefaultValues: optionalParameterDefaultValues, 492 optionalParameterDefaultValues: optionalParameterDefaultValues,
487 functionType: functionType); 493 functionType: functionType);
488 } 494 }
489 495
490 class StaticStubMethod extends StubMethod implements StaticMethod { 496 class StaticStubMethod extends StubMethod implements StaticMethod {
491 Holder holder; 497 Holder holder;
492 StaticStubMethod(js.Name name, this.holder, js.Expression code) 498 StaticStubMethod(js.Name name, this.holder, js.Expression code)
493 : super(name, code); 499 : super(name, code);
494 } 500 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698