blob: c1e23472aa0832b1b4739b8cc6f37f651fe26134 [file] [log] [blame]
// Copyright (c) 2021, 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:async';
import 'dart:core';
import 'dart:html';
import 'package:_test/library.dart';
import 'package:_test_package/test_library.dart';
extension NumberParsing on String {
int parseInt() {
var ret = int.parse(this);
return ret; // Breakpoint: extension
}
}
void main() async {
var count = 0;
// For setting breakpoints.
Timer.periodic(const Duration(seconds: 1), (_) {
print('Count is: ${++count}');
print(testLibraryValue);
print(testPartLibraryValue);
});
// for evaluation
Timer.periodic(const Duration(seconds: 1), (_) async {
await asyncMethod();
printLocal();
printFieldFromLibraryClass();
printFieldFromLibraryPartClass();
printFieldMain();
printGlobal();
printFromTestLibrary();
printFromTestLibraryPart();
printFromTestPackage();
printCallExtension();
printLoopVariable();
printGeneric<int>(0);
});
document.body?.appendText(concatenate('Program', ' is running!'));
}
Future<int> asyncMethod() async {
printLocal();
return 0;
}
void printGeneric<T>(T formal) {
print(formal);
}
void printLocal() {
var local = 42;
print('Local is: $local'); // Breakpoint: printLocal
}
void printFieldFromLibraryClass() {
var instance = TestLibraryClass(1, 2);
print('$instance'); // Breakpoint: printFieldFromLibraryClass
}
void printFieldFromLibraryPartClass() {
var instance = TestLibraryPartClass(1, 2);
print('$instance'); // Breakpoint: printFieldFromLibraryPartClass
}
void printFieldMain() {
var instance = MainClass(1);
print('$instance'); // Breakpoint: printFieldMain
}
void printGlobal() {
print(testLibraryValue); // Breakpoint: printGlobal
}
void printFromTestPackage() {
print(concatenate('Hello', ' World'));
}
void printFromTestLibrary() {
var local = 23;
print(testLibraryFunction(local));
}
void printFromTestLibraryPart() {
var local = 23;
print(testLibraryPartFunction(local));
}
void printCallExtension() {
var local = '23';
print(local.parseInt());
}
void printLoopVariable() {
var list = <String>['1'];
for (var item in list) {
print(item); // Breakpoint: printLoopVariable
}
}
class MainClass {
final int _field;
MainClass(this._field);
@override
String toString() => '$_field';
}