Skip to content

Commit

Permalink
add limited analysis options (flutter#17332)
Browse files Browse the repository at this point in the history
add limited analysis options
  • Loading branch information
yjbanov authored Mar 26, 2020
1 parent 44fc676 commit 5389159
Show file tree
Hide file tree
Showing 15 changed files with 103 additions and 32 deletions.
10 changes: 10 additions & 0 deletions .cirrus.yml
Original file line number Diff line number Diff line change
Expand Up @@ -126,6 +126,16 @@ task:
- name: web_tests-7_last-linux # last Web shard must end with _last
<< : *WEB_SHARD_TEMPLATE

- name: web_engine_analysis
compile_host_script: |
cd $ENGINE_PATH/src
./flutter/tools/gn --unoptimized --full-dart-sdk
ninja -C out/host_debug_unopt
script:
- cd $ENGINE_PATH/src/flutter/lib/web_ui
- $ENGINE_PATH/src/out/host_debug_unopt/dart-sdk/bin/pub get
- $ENGINE_PATH/src/out/host_debug_unopt/dart-sdk/bin/dartanalyzer --fatal-warnings --fatal-hints dev/ lib/ test/ tool/

- name: web_engine_integration_test_linux
compile_host_script: |
cd $ENGINE_PATH/src
Expand Down
88 changes: 87 additions & 1 deletion lib/web_ui/analysis_options.yaml
Original file line number Diff line number Diff line change
@@ -1 +1,87 @@
# Intentionally kept empty.
# This is copy of the root analysis_options.yaml. As we clean up the Web code,
# we'll be uncommenting rules and gradually fix the code. When all rules are
# uncommented, we'll delete this file and simply inherit the root options.

analyzer:
# TODO(uncomment) strong-mode:
# TODO(uncomment) implicit-casts: false
# TODO(uncomment) implicit-dynamic: false
errors:
missing_required_param: warning
missing_return: warning
native_function_body_in_non_sdk_code: ignore
todo: ignore

linter:
rules:
- always_declare_return_types
# TODO(uncomment) - always_put_control_body_on_new_line
# TODO(uncomment) - always_specify_types
# TODO(uncomment) - annotate_overrides
# TODO(uncomment) - avoid_classes_with_only_static_members
# TODO(uncomment) - avoid_empty_else
# TODO(uncomment) - avoid_function_literals_in_foreach_calls
# TODO(uncomment) - avoid_init_to_null
# TODO(uncomment) - avoid_null_checks_in_equality_operators
# TODO(uncomment) - avoid_relative_lib_imports
# TODO(uncomment) - avoid_renaming_method_parameters
# TODO(uncomment) - avoid_return_types_on_setters
# TODO(uncomment) - avoid_slow_async_io
# TODO(uncomment) - await_only_futures
# TODO(uncomment) - camel_case_types
# TODO(uncomment) - cancel_subscriptions
# TODO(uncomment) - control_flow_in_finally
# TODO(uncomment) - directives_ordering
# TODO(uncomment) - empty_catches
# TODO(uncomment) - empty_constructor_bodies
# TODO(uncomment) - empty_statements
# TODO(uncomment) - hash_and_equals
# TODO(uncomment) - implementation_imports
# TODO(uncomment) - iterable_contains_unrelated_type
# TODO(uncomment) - library_names
# TODO(uncomment) - library_prefixes
# TODO(uncomment) - list_remove_unrelated_type
# TODO(uncomment) - no_adjacent_strings_in_list
# TODO(uncomment) - no_duplicate_case_values
# TODO(uncomment) - non_constant_identifier_names
# TODO(uncomment) - overridden_fields
# TODO(uncomment) - package_api_docs
# TODO(uncomment) - package_names
# TODO(uncomment) - package_prefixed_library_names
# TODO(uncomment) - prefer_adjacent_string_concatenation
# TODO(uncomment) - prefer_asserts_in_initializer_lists
# TODO(uncomment) - prefer_collection_literals
# TODO(uncomment) - prefer_conditional_assignment
# TODO(uncomment) - prefer_const_constructors
# TODO(uncomment) - prefer_const_constructors_in_immutables
# TODO(uncomment) - prefer_const_declarations
# TODO(uncomment) - prefer_const_literals_to_create_immutables
# TODO(uncomment) - prefer_contains
# TODO(uncomment) - prefer_equal_for_default_values
# TODO(uncomment) - prefer_final_locals
# TODO(uncomment) - prefer_foreach
# TODO(uncomment) - prefer_generic_function_type_aliases
# TODO(uncomment) - prefer_initializing_formals
# TODO(uncomment) - prefer_is_empty
# TODO(uncomment) - prefer_is_not_empty
# TODO(uncomment) - prefer_single_quotes
# TODO(uncomment) - prefer_typing_uninitialized_variables
# TODO(uncomment) - public_member_api_docs
# TODO(uncomment) - recursive_getters
# TODO(uncomment) - slash_for_doc_comments
# TODO(uncomment) - sort_unnamed_constructors_first
# TODO(uncomment) - test_types_in_equals
# TODO(uncomment) - throw_in_finally
# TODO(uncomment) - type_init_formals
# TODO(uncomment) - unnecessary_brace_in_string_interps
# TODO(uncomment) - unnecessary_const
# TODO(uncomment) - unnecessary_getters_setters
# TODO(uncomment) - unnecessary_new
# TODO(uncomment) - unnecessary_null_aware_assignments
# TODO(uncomment) - unnecessary_null_in_if_null_operators
# TODO(uncomment) - unnecessary_overrides
# TODO(uncomment) - unnecessary_parenthesis
# TODO(uncomment) - unnecessary_this
# TODO(uncomment) - unrelated_type_equality_checks
# TODO(uncomment) - use_rethrow_when_possible
# TODO(uncomment) - valid_regexps
2 changes: 1 addition & 1 deletion lib/web_ui/dev/browser.dart
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,7 @@ abstract class Browser {
_processCompleter.complete(process);

var output = Uint8Buffer();
drainOutput(Stream<List<int>> stream) {
void drainOutput(Stream<List<int>> stream) {
try {
_ioSubscriptions
.add(stream.listen(output.addAll, cancelOnError: true));
Expand Down
2 changes: 1 addition & 1 deletion lib/web_ui/dev/firefox_installer_test.dart
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

// @dart = 2.6
@TestOn('vm && linux')

// @dart = 2.6
import 'dart:io' as io;

import 'package:path/path.dart' as path;
Expand Down
2 changes: 1 addition & 1 deletion lib/web_ui/dev/test_platform.dart
Original file line number Diff line number Diff line change
Expand Up @@ -744,7 +744,7 @@ class BrowserManager {

var suiteID = _suiteID++;
RunnerSuiteController controller;
closeIframe() {
void closeIframe() {
if (_closed) return;
_controllers.remove(controller);
_channel.sink.add({'command': 'closeSuite', 'id': suiteID});
Expand Down
2 changes: 1 addition & 1 deletion lib/web_ui/lib/src/engine/compositor/vertices.dart
Original file line number Diff line number Diff line change
Expand Up @@ -116,7 +116,7 @@ class SkVertices implements ui.Vertices {
}
}

static _encodePoints(List<double> points) {
static js.JsArray<js.JsArray<double>> _encodePoints(List<double> points) {
if (points == null) return null;

js.JsArray<js.JsArray<double>> encodedPoints =
Expand Down
1 change: 0 additions & 1 deletion lib/web_ui/lib/src/engine/surface/path_metrics.dart
Original file line number Diff line number Diff line change
Expand Up @@ -616,7 +616,6 @@ class SurfacePathMetricIterator implements Iterator<ui.PathMetric> {

SurfacePathMetric _pathMetric;
_SurfacePathMeasure _pathMeasure;
bool _firstTime = true;

@override
SurfacePathMetric get current => _pathMetric;
Expand Down
2 changes: 0 additions & 2 deletions lib/web_ui/lib/src/engine/window.dart
Original file line number Diff line number Diff line change
Expand Up @@ -555,9 +555,7 @@ class EngineWindow extends ui.Window {

bool _handleWebTestEnd2EndMessage(MethodCodec codec, ByteData data) {
final MethodCall decoded = codec.decodeMethodCall(data);
final Map<String, dynamic> message = decoded.arguments;
double ratio = double.parse(decoded.arguments);
bool result = false;
switch(decoded.method) {
case 'setDevicePixelRatio':
window.debugOverrideDevicePixelRatio(ratio);
Expand Down
2 changes: 0 additions & 2 deletions lib/web_ui/lib/src/ui/painting.dart
Original file line number Diff line number Diff line change
Expand Up @@ -1069,8 +1069,6 @@ abstract class Shader {
/// There are several types of gradients, represented by the various
/// constructors on this class.
abstract class Gradient extends Shader {
Gradient._() : super._();

/// Creates a linear gradient from `from` to `to`.
///
/// If `colorStops` is provided, `colorStops[i]` is a number from 0.0 to 1.0
Expand Down
8 changes: 0 additions & 8 deletions lib/web_ui/lib/src/ui/text.dart
Original file line number Diff line number Diff line change
Expand Up @@ -866,14 +866,6 @@ class TextBox {
this.direction,
);

TextBox._(
this.left,
this.top,
this.right,
this.bottom,
int directionIndex,
) : direction = TextDirection.values[directionIndex];

/// The left edge of the text box, irrespective of direction.
///
/// To get the leading edge (which may depend on the [direction]), consider [start].
Expand Down
2 changes: 1 addition & 1 deletion lib/web_ui/test/engine/image/html_image_codec_test.dart
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ Future<void> main() async {
chunkCallback: (int loaded, int total) {
buffer.write('$loaded/$total,');
});
final ui.FrameInfo frameInfo = await codec.getNextFrame();
await codec.getNextFrame();
expect(buffer.toString(), '0/100,100/100,');
});
});
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@

// @dart = 2.6
import 'dart:html' as html;
import 'dart:js_util' as js_util;

import 'package:ui/ui.dart' hide TextStyle;
import 'package:ui/src/engine.dart' as engine;
Expand Down
11 changes: 0 additions & 11 deletions lib/web_ui/test/golden_tests/engine/path_metrics_test.dart
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@

// @dart = 2.6
import 'dart:html' as html;
import 'dart:typed_data';

import 'package:ui/ui.dart' hide TextStyle;
import 'package:ui/src/engine.dart';
Expand Down Expand Up @@ -63,8 +62,6 @@ void main() async {

test('Should calculate tangent on cubic curve', () async {
final Path path = Path();
double p0x = 150;
double p0y = 20;
double p1x = 240;
double p1y = 120;
double p2x = 320;
Expand Down Expand Up @@ -112,8 +109,6 @@ void main() async {
final Path path = Path();
path.moveTo(50, 130);
path.lineTo(150, 20);
double p0x = 150;
double p0y = 20;
double p1x = 240;
double p1y = 120;
double p2x = 320;
Expand All @@ -122,8 +117,6 @@ void main() async {

rc.drawPath(path, paint);

final Float32List buffer = Float32List(6);
List<double> points = [p0x, p0y, p1x, p1y, p2x, p2y];
double t0 = 0.2;
double t1 = 0.7;

Expand Down Expand Up @@ -168,8 +161,6 @@ void main() async {
final Path path = Path();
path.moveTo(50, 130);
path.lineTo(150, 20);
double p0x = 150;
double p0y = 20;
double p1x = 40;
double p1y = 120;
double p2x = 300;
Expand All @@ -180,8 +171,6 @@ void main() async {

rc.drawPath(path, paint);

final Float32List buffer = Float32List(6);
List<double> points = [p0x, p0y, p1x, p1y, p2x, p2y, p3x, p3y];
double t0 = 0.2;
double t1 = 0.7;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@
// found in the LICENSE file.

// @dart = 2.6
import 'package:test/test.dart';
import 'package:ui/ui.dart';
import 'package:ui/src/engine.dart';

Expand Down
1 change: 1 addition & 0 deletions lib/web_ui/test/text/measurement_test.dart
Original file line number Diff line number Diff line change
Expand Up @@ -1154,5 +1154,6 @@ EngineLineMetrics line(
width: width,
lineNumber: lineNumber,
left: left,
endIndexWithoutNewlines: -1,
);
}

0 comments on commit 5389159

Please sign in to comment.