diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml index a6402cde72..ae58ba1294 100644 --- a/.github/workflows/test.yaml +++ b/.github/workflows/test.yaml @@ -19,7 +19,7 @@ jobs: fail-fast: false matrix: os: [ubuntu-latest] - sdk: [dev, stable] + sdk: [dev, beta] job: [main, flutter, sdk-analyzer, packages, sdk-docs] include: - os: macos-latest @@ -32,9 +32,9 @@ jobs: # Do not try to run flutter against the "stable" sdk, # it is unlikely to work and produces uninteresting # results. - - sdk: stable + - sdk: beta job: flutter - - sdk: stable + - sdk: beta job: sdk-analyzer steps: diff --git a/lib/src/generator/templates.renderers.dart b/lib/src/generator/templates.renderers.dart index 3b1437c9f2..1ba623cc04 100644 --- a/lib/src/generator/templates.renderers.dart +++ b/lib/src/generator/templates.renderers.dart @@ -1167,6 +1167,16 @@ class _Renderer_Object extends RendererBase { return renderSimple(c.hashCode, ast, r.template, parent: r); }, ), + 'runtimeType': Property( + getValue: (CT_ c) => c.runtimeType, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'Type'), + isNullValue: (CT_ c) => c.runtimeType == null, + renderValue: (CT_ c, RendererBase r, List ast) { + return renderSimple(c.runtimeType, ast, r.template, parent: r); + }, + ), }; _Renderer_Object( diff --git a/pubspec.yaml b/pubspec.yaml index cd670b0d6e..015e2caf33 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -4,37 +4,37 @@ version: 0.39.0 description: A non-interactive HTML documentation generator for Dart source code. homepage: https://github.com/dart-lang/dartdoc environment: - sdk: '>=2.10.0 <3.0.0' + sdk: '>=2.11.99 <3.0.0' dependencies: - analyzer: ^0.41.1 - args: '>=1.5.0 <2.0.0' - charcode: ^1.1.2 + analyzer: ^1.0.0 + args: ^2.0.0 + charcode: ^1.2.0 collection: ^1.2.0 - cli_util: '>=0.1.4 <0.3.0' - crypto: ^2.0.6 - glob: '>=1.1.2 <2.0.0' - html: '>=0.12.1 <0.15.0' - logging: ^0.11.3+1 - markdown: '>=2.1.5 <4.0.0' + cli_util: ^0.3.0 + crypto: ^3.0.0 + glob: ^2.0.0 + html: ^0.15.0 + logging: ^1.0.0 + markdown: ^4.0.0 meta: ^1.2.4 mustache: ^1.1.0 - package_config: '>=0.1.5 <2.0.0' + package_config: ^2.0.0 path: ^1.3.0 - pub_semver: ^1.3.7 + pub_semver: ^2.0.0 source_span: ^1.5.2 - yaml: ^2.1.0 + yaml: ^3.0.0 dev_dependencies: - async: '>=2.0.8' + async: ^2.0.8 build: ^1.5.0 build_runner: ^1.10.0 build_test: ^1.3.0 build_version: ^2.0.1 - coverage: ^0.14.0 + coverage: ^0.15.2 dart_style: ^1.3.9 - grinder: ^0.8.2 - http: ^0.12.0 + grinder: ^0.9.0-nullsafety.0 + http: ^0.13.0 pedantic: ^1.9.0 test: ^1.3.0 diff --git a/test/mustachio/foo.renderers.dart b/test/mustachio/foo.renderers.dart index d16fa81b52..611cc66f2a 100644 --- a/test/mustachio/foo.renderers.dart +++ b/test/mustachio/foo.renderers.dart @@ -108,6 +108,16 @@ class Renderer_Object extends RendererBase { return renderSimple(c.hashCode, ast, r.template, parent: r); }, ), + 'runtimeType': Property( + getValue: (CT_ c) => c.runtimeType, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'Type'), + isNullValue: (CT_ c) => c.runtimeType == null, + renderValue: (CT_ c, RendererBase r, List ast) { + return renderSimple(c.runtimeType, ast, r.template, parent: r); + }, + ), }; Renderer_Object( diff --git a/test/mustachio/renderer_test.dart b/test/mustachio/renderer_test.dart index c7e8d71361..464682b29a 100644 --- a/test/mustachio/renderer_test.dart +++ b/test/mustachio/renderer_test.dart @@ -21,12 +21,13 @@ void main() { test('property map contains all public getters', () { var propertyMap = Renderer_Foo.propertyMap(); - expect(propertyMap.keys, hasLength(5)); + expect(propertyMap.keys, hasLength(6)); expect(propertyMap['b1'], isNotNull); expect(propertyMap['s1'], isNotNull); expect(propertyMap['l1'], isNotNull); expect(propertyMap['baz'], isNotNull); expect(propertyMap['hashCode'], isNotNull); + expect(propertyMap['runtimeType'], isNotNull); }); test('property map contains valid bool Properties', () { diff --git a/tool/doc_packages.dart b/tool/doc_packages.dart index 5112d87578..bdcfc9b457 100644 --- a/tool/doc_packages.dart +++ b/tool/doc_packages.dart @@ -123,7 +123,7 @@ Future _printGenerationResult( Future> _packageUrls(int page) { return http - .get('https://pub.dartlang.org/packages.json?page=${page}') + .get(Uri.parse('https://pub.dartlang.org/packages.json?page=${page}')) .then((response) { return List.from(json.decode(response.body)['packages']); }); @@ -131,7 +131,7 @@ Future> _packageUrls(int page) { Future> _getPackageInfos(List packageUrls) { var futures = packageUrls.map((String p) { - return http.get(p).then((response) { + return http.get(Uri.parse(p)).then((response) { var decodedJson = json.decode(response.body); String name = decodedJson['name']; var versions = List.from( @@ -151,7 +151,7 @@ Future _generateFor(PackageInfo package) async { _logBuffer = StringBuffer(); // Get the package archive (tar zxvf foo.tar.gz). - var response = await http.get(package.archiveUrl); + var response = await http.get(Uri.parse(package.archiveUrl)); if (response.statusCode != 200) throw response; var output = Directory('${_rootDir}/${package.name}');