// Copyright (c) 2018, 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:static=[ testBoolFromEnvironment(0), testComplexConstSymbol(0), testConstSymbol(0), testDouble(0), testEmpty(0), testEmptyListLiteral(0), testEmptyListLiteralConstant(0), testEmptyListLiteralDynamic(0), testEmptyListLiteralTyped(0), testEmptyMapLiteral(0), testEmptyMapLiteralConstant(0), testEmptyMapLiteralDynamic(0), testEmptyMapLiteralTyped(0), testFalse(0), testIfNullConstSymbol(0), testInt(0), testNonEmptyListLiteral(0), testNonEmptyMapLiteral(0), testNull(0), testString(0), testStringInterpolation(0), testStringInterpolationConst(0), testStringJuxtaposition(0), testSymbol(0), testTrue(0), testTypeLiteral(0)] */ main() { testEmpty(); testNull(); testTrue(); testFalse(); testInt(); testDouble(); testString(); testStringInterpolation(); testStringInterpolationConst(); testStringJuxtaposition(); testSymbol(); testConstSymbol(); testComplexConstSymbol(); testIfNullConstSymbol(); testTypeLiteral(); testBoolFromEnvironment(); testEmptyListLiteral(); testEmptyListLiteralDynamic(); testEmptyListLiteralTyped(); testEmptyListLiteralConstant(); testNonEmptyListLiteral(); testEmptyMapLiteral(); testEmptyMapLiteralDynamic(); testEmptyMapLiteralTyped(); testEmptyMapLiteralConstant(); testNonEmptyMapLiteral(); } /*member: testEmpty:*/ testEmpty() {} /*member: testNull:type=[inst:JSNull]*/ testNull() => null; /*member: testTrue:type=[inst:JSBool]*/ testTrue() => true; /*member: testFalse:type=[inst:JSBool]*/ testFalse() => false; /*member: testInt:type=[ inst:JSInt, inst:JSNumNotInt, inst:JSNumber, inst:JSPositiveInt, inst:JSUInt31, inst:JSUInt32]*/ testInt() => 42; /*member: testDouble:type=[ inst:JSInt, inst:JSNumNotInt, inst:JSNumber, inst:JSPositiveInt, inst:JSUInt31, inst:JSUInt32]*/ testDouble() => 37.5; /*member: testString:type=[inst:JSString]*/ testString() => 'foo'; /*member: testStringInterpolation:type=[inst:JSString]*/ testStringInterpolation() => '${true}'; /*member: testStringInterpolationConst:type=[inst:JSString]*/ testStringInterpolationConst() { const b = '${true}'; return b; } /*member: testStringJuxtaposition:type=[inst:JSString]*/ testStringJuxtaposition() => 'a' 'b'; /*member: testSymbol:static=[Symbol.(1)],type=[inst:Symbol]*/ testSymbol() => #main; /*member: testConstSymbol:static=[Symbol.(1)],type=[inst:Symbol]*/ testConstSymbol() => const Symbol('main'); const complexSymbolField1 = "true".length == 4; const complexSymbolField2 = "true" "false" "${true}${null}"; const complexSymbolField3 = const { 0: const bool.fromEnvironment('a', defaultValue: true), false: const int.fromEnvironment('b', defaultValue: 42), const []: const String.fromEnvironment('c'), testComplexConstSymbol: #testComplexConstSymbol, 1 + 2: identical(0, -0), // ignore: dead_code true || false: false && true, override: const GenericClass.generative(), }; const complexSymbolField = complexSymbolField1 ? complexSymbolField2 : complexSymbolField3; /*member: testComplexConstSymbol:static=[Symbol.(1)],type=[inst:Symbol]*/ testComplexConstSymbol() => const Symbol(complexSymbolField); /*member: testIfNullConstSymbol:static=[Symbol.(1)],type=[inst:Symbol]*/ testIfNullConstSymbol() => const Symbol(null ?? 'foo'); /*member: testTypeLiteral: static=[ createRuntimeType(1), typeLiteral(1)], type=[ inst:Type, inst:_Type, lit:Object*] */ testTypeLiteral() => Object; /*member: testBoolFromEnvironment:type=[inst:JSBool]*/ testBoolFromEnvironment() => const bool.fromEnvironment('FOO'); /*member: testEmptyListLiteral:type=[inst:List]*/ testEmptyListLiteral() => []; /*member: testEmptyListLiteralDynamic:type=[inst:List]*/ testEmptyListLiteralDynamic() => []; /*member: testEmptyListLiteralTyped:type=[inst:List]*/ testEmptyListLiteralTyped() => []; /*member: testEmptyListLiteralConstant:type=[inst:List]*/ testEmptyListLiteralConstant() => const []; /*member: testNonEmptyListLiteral:type=[ inst:JSBool, inst:List]*/ testNonEmptyListLiteral() => [true]; /*member: testEmptyMapLiteral:type=[inst:Map]*/ testEmptyMapLiteral() => {}; /*member: testEmptyMapLiteralDynamic:type=[inst:Map]*/ testEmptyMapLiteralDynamic() => {}; /*member: testEmptyMapLiteralTyped:type=[inst:Map]*/ testEmptyMapLiteralTyped() => {}; /*member: testEmptyMapLiteralConstant: type=[ inst:ConstantMap, inst:ConstantProtoMap, inst:ConstantStringMap, inst:GeneralConstantMap] */ testEmptyMapLiteralConstant() => const {}; /*member: testNonEmptyMapLiteral:type=[ inst:JSBool, inst:JSNull, inst:Map]*/ testNonEmptyMapLiteral() => {null: true}; class GenericClass { const GenericClass.generative(); }