| // Copyright (c) 2017, the Dart project authors. Please see the AUTHORS file |
| // for details. All rights reserved. Use of this source code is governed by a |
| // BSD-style license that can be found in the LICENSE file. |
| |
| // @dart = 2.7 |
| |
| /*member: main:[null]*/ |
| main() { |
| assignPlus(); |
| assignAnd(); |
| instanceAssignPlus(); |
| instanceAssignAnd(); |
| assignIndexPlus(); |
| assignIndexAnd(); |
| assignIndexInc(); |
| assignIndexDec(); |
| } |
| |
| //////////////////////////////////////////////////////////////////////////////// |
| |
| /*member: assignPlus:[subclass=JSUInt32]*/ |
| assignPlus() { |
| var i = 87; |
| return i /*invoke: [exact=JSUInt31]*/ += 42; |
| } |
| |
| /*member: assignAnd:[exact=JSUInt31]*/ |
| assignAnd() { |
| var i = 87; |
| return i /*invoke: [exact=JSUInt31]*/ &= 42; |
| } |
| |
| /*member: Class1.:[exact=Class1]*/ |
| class Class1 { |
| /*member: Class1.field:[subclass=JSPositiveInt]*/ |
| var field = 87; |
| } |
| |
| /*member: instanceAssignPlus:[subclass=JSPositiveInt]*/ |
| instanceAssignPlus() { |
| var c = new Class1(); |
| return c. |
| /*[exact=Class1]*/ /*update: [exact=Class1]*/ field |
| /*invoke: [subclass=JSPositiveInt]*/ += 42; |
| } |
| |
| /*member: Class2.:[exact=Class2]*/ |
| class Class2 { |
| /*member: Class2.field:[exact=JSUInt31]*/ |
| var field = 87; |
| } |
| |
| /*member: instanceAssignAnd:[exact=JSUInt31]*/ |
| instanceAssignAnd() { |
| var c = new Class2(); |
| return c. |
| /*[exact=Class2]*/ /*update: [exact=Class2]*/ field |
| /*invoke: [exact=JSUInt31]*/ &= 42; |
| } |
| |
| /*member: assignIndexPlus:[subclass=JSPositiveInt]*/ |
| assignIndexPlus() { |
| var i = [87]; |
| return i |
| /*Container([exact=JSExtendableArray], element: [subclass=JSPositiveInt], length: 1)*/ |
| /*update: Container([exact=JSExtendableArray], element: [subclass=JSPositiveInt], length: 1)*/ |
| [0] /*invoke: [subclass=JSPositiveInt]*/ += 42; |
| } |
| |
| /*member: assignIndexAnd:[exact=JSUInt31]*/ |
| assignIndexAnd() { |
| var i = [87]; |
| return i |
| /*Container([exact=JSExtendableArray], element: [exact=JSUInt31], length: 1)*/ |
| /*update: Container([exact=JSExtendableArray], element: [exact=JSUInt31], length: 1)*/ |
| [0] /*invoke: [exact=JSUInt31]*/ &= 42; |
| } |
| |
| /*member: assignIndexInc:[subclass=JSPositiveInt]*/ |
| assignIndexInc() { |
| var i = [87]; |
| return i |
| /*Container([exact=JSExtendableArray], element: [subclass=JSPositiveInt], length: 1)*/ |
| /*update: Container([exact=JSExtendableArray], element: [subclass=JSPositiveInt], length: 1)*/ |
| [0] /*invoke: [subclass=JSPositiveInt]*/ ++; |
| } |
| |
| /*member: assignIndexDec:[subclass=JSInt]*/ |
| assignIndexDec() { |
| var i = [87]; |
| return |
| /*invoke: [subclass=JSInt]*/ --i |
| /*Container([exact=JSExtendableArray], element: [subclass=JSInt], length: 1)*/ |
| /*update: Container([exact=JSExtendableArray], element: [subclass=JSInt], length: 1)*/ |
| [0]; |
| } |