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

Side by Side Diff: sdk/lib/_internal/compiler/implementation/js_emitter/container_builder.dart

Issue 206193002: Remove cancel and make crash exit with code 253. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Updated cf. comments. Created 6 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 | Annotate | Revision Log
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 dart2js.js_emitter; 5 part of dart2js.js_emitter;
6 6
7 /// This class should morph into something that makes it easy to build 7 /// This class should morph into something that makes it easy to build
8 /// JavaScript representations of libraries, class-sides, and instance-sides. 8 /// JavaScript representations of libraries, class-sides, and instance-sides.
9 /// Initially, it is just a placeholder for code that is moved from 9 /// Initially, it is just a placeholder for code that is moved from
10 /// [CodeEmitterTask]. 10 /// [CodeEmitterTask].
(...skipping 133 matching lines...) Expand 10 before | Expand all | Expand 10 after
144 jsAst.Fun function = js.fun(parametersBuffer, body); 144 jsAst.Fun function = js.fun(parametersBuffer, body);
145 145
146 addStub(selector, function); 146 addStub(selector, function);
147 } 147 }
148 148
149 void addParameterStubs(FunctionElement member, AddStubFunction defineStub, 149 void addParameterStubs(FunctionElement member, AddStubFunction defineStub,
150 [bool canTearOff = false]) { 150 [bool canTearOff = false]) {
151 if (member.enclosingElement.isClosure()) { 151 if (member.enclosingElement.isClosure()) {
152 ClosureClassElement cls = member.enclosingElement; 152 ClosureClassElement cls = member.enclosingElement;
153 if (cls.supertype.element == compiler.boundClosureClass) { 153 if (cls.supertype.element == compiler.boundClosureClass) {
154 compiler.internalErrorOnElement(cls.methodElement, 'Bound closure1.'); 154 compiler.internalError(cls.methodElement, 'Bound closure1.');
155 } 155 }
156 if (cls.methodElement.isInstanceMember()) { 156 if (cls.methodElement.isInstanceMember()) {
157 compiler.internalErrorOnElement(cls.methodElement, 'Bound closure2.'); 157 compiler.internalError(cls.methodElement, 'Bound closure2.');
158 } 158 }
159 } 159 }
160 160
161 // We fill the lists depending on the selector. For example, 161 // We fill the lists depending on the selector. For example,
162 // take method foo: 162 // take method foo:
163 // foo(a, b, {c, d}); 163 // foo(a, b, {c, d});
164 // 164 //
165 // We may have multiple ways of calling foo: 165 // We may have multiple ways of calling foo:
166 // (1) foo(1, 2); 166 // (1) foo(1, 2);
167 // (2) foo(1, 2, c: 3); 167 // (2) foo(1, 2, c: 3);
(...skipping 162 matching lines...) Expand 10 before | Expand all | Expand 10 after
330 assert(invariant(member, member.isDeclaration)); 330 assert(invariant(member, member.isDeclaration));
331 331
332 if (member.isField()) { 332 if (member.isField()) {
333 addMemberField(member, builder); 333 addMemberField(member, builder);
334 } else if (member.isFunction() || 334 } else if (member.isFunction() ||
335 member.isGenerativeConstructorBody() || 335 member.isGenerativeConstructorBody() ||
336 member.isGenerativeConstructor() || 336 member.isGenerativeConstructor() ||
337 member.isAccessor()) { 337 member.isAccessor()) {
338 addMemberMethod(member, builder); 338 addMemberMethod(member, builder);
339 } else { 339 } else {
340 compiler.internalErrorOnElement( 340 compiler.internalError(member,
341 member, 'unexpected kind: "${member.kind}"'); 341 'Unexpected kind: "${member.kind}".');
342 } 342 }
343 if (member.isInstanceMember()) emitExtraAccessors(member, builder); 343 if (member.isInstanceMember()) emitExtraAccessors(member, builder);
344 } 344 }
345 345
346 void addMemberMethod(FunctionElement member, ClassBuilder builder) { 346 void addMemberMethod(FunctionElement member, ClassBuilder builder) {
347 if (member.isAbstract) return; 347 if (member.isAbstract) return;
348 jsAst.Expression code = backend.generatedCode[member]; 348 jsAst.Expression code = backend.generatedCode[member];
349 if (code == null) return; 349 if (code == null) return;
350 String name = namer.getNameOfMember(member); 350 String name = namer.getNameOfMember(member);
351 task.interceptorEmitter.recordMangledNameOfMemberMethod(member, name); 351 task.interceptorEmitter.recordMangledNameOfMemberMethod(member, name);
(...skipping 174 matching lines...) Expand 10 before | Expand all | Expand 10 after
526 expressions.add(js.string(member.name)); 526 expressions.add(js.string(member.name));
527 } 527 }
528 528
529 builder.addProperty(name, js.toExpression(expressions)); 529 builder.addProperty(name, js.toExpression(expressions));
530 } 530 }
531 531
532 void addMemberField(VariableElement member, ClassBuilder builder) { 532 void addMemberField(VariableElement member, ClassBuilder builder) {
533 // For now, do nothing. 533 // For now, do nothing.
534 } 534 }
535 } 535 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698