Files
sdk/pkg/front_end/testcases/offsets/step_through_patterns.dart
T
Johnni Winther 1114d0c30f [cfe] Add expectation test for file offsets
In preparation for fixing https://github.com/dart-lang/sdk/issues/51812

Change-Id: I810be0a0330f0bf90fc1230b5a2d17f695d6e46b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/292007
Reviewed-by: Jens Johansen <jensj@google.com>
Commit-Queue: Johnni Winther <johnniwinther@google.com>
2023-03-30 13:19:58 +00:00

30 lines
757 B
Dart

// Copyright (c) 2023, 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.
import 'dart:math' show pi;
abstract class Shape {}
class Square implements Shape {
final double length;
Square(this.length);
}
class Circle implements Shape {
final double radius;
Circle(this.radius);
}
double calculateArea(Shape shape) => switch (shape) {
Square(length: var l) when l >= 0 => l * l,
Circle(radius: var r) when r >= 0 => pi * r * r,
Square(length: var l) when l < 0 => -1,
Circle(radius: var r) when r < 0 => -1,
Shape() => 0
};
testMain() {
calculateArea(Circle(-123));
}