| // Copyright (c) 2020, 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.md file. |
| |
| class Class { |
| int property = 0; |
| int method() => 0; |
| Function functionField = () {}; |
| void Function() functionTypeField = () {}; |
| Function get functionGetter => () {}; |
| void Function() get functionTypeGetter => () {}; |
| } |
| |
| extension Extension on Class { |
| int operator +(int value) => 0; |
| int operator -() => 0; |
| int operator [](int index) => 0; |
| void operator []=(int index, int value) {} |
| int call() => 0; |
| int get extensionProperty => 0; |
| void set extensionProperty(int value) {} |
| int extensionMethod() => 0; |
| Function get extensionFunctionGetter => () {}; |
| void Function() get extensionFunctionTypeGetter => () {}; |
| } |
| |
| Function? get nullableFunction => () {}; |
| |
| void Function()? get nullableFunctionType => () {}; |
| |
| int? get nullableInt => 0; |
| |
| Map<dynamic, dynamic>? get nullableMap => {}; |
| |
| Class? get nullableClass => new Class(); |
| |
| var topLevelBinary = nullableInt + 0; |
| var topLevelUnary = -nullableInt; |
| var topLevelIndexGet = nullableMap[0]; |
| var topLevelIndexSet = nullableMap[0] = 1; |
| var topLevelIndexGetSet = nullableMap[0] += 1; |
| var topLevelPropertyGet = nullableClass.property; |
| var topLevelPropertySet = nullableClass.property = 1; |
| var topLevelPropertyGetSet = nullableClass.property += 1; |
| var topLevelMethodInvocation = nullableClass.method(); |
| var topLevelMethodTearOff = nullableClass.method; |
| var topLevelFunctionImplicitCall = nullableFunction(); |
| var topLevelFunctionExplicitCall = nullableFunction.call(); |
| var topLevelFunctionTearOff = nullableFunction.call; |
| var topLevelFunctionTypeImplicitCall = nullableFunctionType(); |
| var topLevelFunctionTypeExplicitCall = nullableFunctionType.call(); |
| var topLevelFunctionTypeTearOff = nullableFunctionType.call; |
| var topLevelFunctionField = nullableClass.functionField(); |
| var topLevelFunctionTypeField = nullableClass.functionTypeField(); |
| var topLevelFunctionGetter = nullableClass.functionGetter(); |
| var topLevelFunctionTypeGetter = nullableClass.functionTypeGetter(); |
| |
| var topLevelExtensionBinary = nullableClass + 0; |
| var topLevelExtensionUnary = -nullableClass; |
| var topLevelExtensionIndexGet = nullableClass[0]; |
| var topLevelExtensionIndexSet = nullableClass[0] = 1; |
| var topLevelExtensionIndexGetSet = nullableClass[0] += 1; |
| var topLevelExtensionPropertyGet = nullableClass.extensionProperty; |
| var topLevelExtensionPropertySet = nullableClass.extensionProperty = 1; |
| var topLevelExtensionPropertyGetSet = nullableClass.extensionProperty += 1; |
| var topLevelExtensionMethodInvocation = nullableClass.extensionMethod(); |
| var topLevelExtensionMethodTearOff = nullableClass.extensionMethod; |
| var topLevelExtensionFunctionTypeImplicitCall = nullableClass(); |
| var topLevelExtensionFunctionTypeExplicitCall = nullableClass.call(); |
| var topLevelExtensionFunctionTypeTearOff = nullableClass.call; |
| var topLevelExtensionFunctionGetter = nullableClass.extensionFunctionGetter(); |
| var topLevelExtensionFunctionTypeGetter = |
| nullableClass.extensionFunctionTypeGetter(); |
| |
| test() { |
| var localBinary = nullableInt + 0; |
| var localUnary = -nullableInt; |
| var localIndexGet = nullableMap[0]; |
| var localIndexSet = nullableMap[0] = 1; |
| var localIndexGetSet = nullableMap[0] += 1; |
| var localPropertyGet = nullableClass.property; |
| var localPropertySet = nullableClass.property = 1; |
| var localPropertyGetSet = nullableClass.property += 1; |
| var localMethodInvocation = nullableClass.method(); |
| var localMethodTearOff = nullableClass.method; |
| var localFunctionImplicitCall = nullableFunction(); |
| var localFunctionExplicitCall = nullableFunction.call(); |
| var localFunctionTearOff = nullableFunction.call; |
| var localFunctionTypeImplicitCall = nullableFunctionType(); |
| var localFunctionTypeExplicitCall = nullableFunctionType.call(); |
| var localFunctionTypeTearOff = nullableFunctionType.call; |
| var localFunctionField = nullableClass.functionField(); |
| var localFunctionTypeField = nullableClass.functionTypeField(); |
| var localFunctionGetter = nullableClass.functionGetter(); |
| var localFunctionTypeGetter = nullableClass.functionTypeGetter(); |
| |
| var localExtensionBinary = nullableClass + 0; |
| var localExtensionUnary = -nullableClass; |
| var localExtensionIndexGet = nullableClass[0]; |
| var localExtensionIndexSet = nullableClass[0] = 1; |
| var localExtensionIndexGetSet = nullableClass[0] += 1; |
| var localExtensionPropertyGet = nullableClass.extensionProperty; |
| var localExtensionPropertySet = nullableClass.extensionProperty = 1; |
| var localExtensionPropertyGetSet = nullableClass.extensionProperty += 1; |
| var localExtensionMethodInvocation = nullableClass.extensionMethod(); |
| var localExtensionMethodTearOff = nullableClass.extensionMethod; |
| var localExtensionFunctionTypeImplicitCall = nullableClass(); |
| var localExtensionFunctionTypeExplicitCall = nullableClass.call(); |
| var localExtensionFunctionTypeTearOff = nullableClass.call; |
| var localExtensionFunctionGetter = nullableClass.extensionFunctionGetter(); |
| var localExtensionFunctionTypeGetter = |
| nullableClass.extensionFunctionTypeGetter(); |
| } |
| |
| main() {} |