// Copyright 2014 The Flutter Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. import 'package:flutter/widgets.dart'; // Test file used by `create_test.dart` to verify that `flutter create` sets up // `analysis_options.yaml` correctly to activate certain lints and ensures // that lints not playing well with Flutter remain disabled. class NoConstructor extends StatelessWidget { // LINT: Missing constructor generates use_key_in_widget_constructors warning. @override Widget build(BuildContext context) => Container(); } class NoConstConstructor extends StatelessWidget { // LINT: Missing const constructor generates prefer_const_constructors_in_immutables warning. NoConstConstructor({Key? key, required this.name }) : super(key: key); final String name; @override Widget build(BuildContext context) { // NO LINT: Can type local variables without omit_local_variable_types warning. final String text = 'Hello $name'; return Container( // LINT: "Color(0x1)" generates use_full_hex_values_for_flutter_colors warning. color: const Color(0x1), child: Text(text), ); } } Future<void> playAsync(AnimationController controller) async { // NO LINT: AnimationController API can be called without await and without // marking Future as unawaited, https://github.com/dart-lang/linter/issues/2513. controller.forward(); } Future<void> pushAsync(NavigatorState navigator) async { // NO LINT: Navigator API can be called without await and without // marking Future as unawaited, https://github.com/dart-lang/linter/issues/2513. navigator.pushNamed('foo'); } // NO LINT: Can extend ChangeNotifier without warning, https://github.com/dart-lang/sdk/issues/45343. class ExtendingChangeNotifier extends ChangeNotifier { } // NO LINT: Can mixin ChangeNotifier without warning, https://github.com/dart-lang/sdk/issues/45343. class MixingChangeNotifier with ChangeNotifier { } // NO LINT: Can extend WidgetsBindingObserver without warning, https://github.com/dart-lang/sdk/issues/45343. class ExtendingWidgetsBindingObserver extends WidgetsBindingObserver { } // NO LINT: Can mixin WidgetsBindingObserver without warning, https://github.com/dart-lang/sdk/issues/45343. class MixingWidgetsBindingObserver with WidgetsBindingObserver { }