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

Side by Side Diff: tests/compiler/dart2js_native/native_class_fields_test.dart

Issue 11478050: Revert minification (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 8 years 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
(Empty)
1 // Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file
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.
4
5 // Verify that native fields on classes are not renamed by the minifier.
6 class A native "*A" {
7 int myLongPropertyName;
8 int getValue;
9
10 int method(int z) => myLongPropertyName;
11 }
12
13
14 void setup() native r"""
15 function getter() {
16 return ++this.getValue;
17 }
18
19 function setter(x) {
20 this.getValue += 10;
21 }
22
23 function A(){
24 var a = Object.create(
25 { constructor: { name: 'A'}},
26 { myLongPropertyName: { get: getter,
27 set: setter,
28 configurable: false,
29 writeable: false
30 }
31 });
32 a.getValue = 0;
33 return a;
34 }
35
36 makeA = function(){return new A;};
37 """;
38
39 A makeA() native { return new A(); }
40
41 main() {
42 setup();
43 var a = makeA();
44 a.myLongPropertyName = 21;
45 int gotten = a.myLongPropertyName;
46 Expect.equals(11, gotten);
47
48 var a2 = makeA();
49 if (a2 is A) {
50 // Inside this 'if' the compiler knows that a2 is an A, so it is tempted
51 // to access myLongPropertyName directly, using its minified name. But
52 // renaming of native properties can only work using getters and setters
53 // that access the original name.
54 a2.myLongPropertyName = 21;
55 int gotten = a2.myLongPropertyName;
56 Expect.equals(11, gotten);
57 }
58 }
59
OLDNEW
« no previous file with comments | « tests/compiler/dart2js_extra/dart2js_extra.status ('k') | tests/compiler/dart2js_native/native_field_name_test.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698