Skip to content

NoSuchMethodError: The getter 'documentationComment' was called on null. #4167

@jonasfj

Description

@jonasfj

Documentation generation seems to fail for some packages, example: https://pub.dev/packages/ninja_prime version 1.0.0

NoSuchMethodError: The getter 'documentationComment' was called on null.
Receiver: null
Tried calling: documentationComment
#0      Object.noSuchMethod (dart:core-patch/object_patch.dart:51:5)
#1      Accessor.computeDocumentationComment (package:dartdoc/src/model/accessor.dart:67:44)
#2      DocumentationComment.documentationComment (package:dartdoc/src/model/documentation_comment.dart:39:31)
#3      DocumentationComment.hasNodoc (package:dartdoc/src/model/documentation_comment.dart:51:9)
#4      ModelElement.isPublic (package:dartdoc/src/model/model_element.dart:475:54)
#5      GetterSetterCombo.hasPublicGetter (package:dartdoc/src/model/getter_setter_combo.dart:97:51)
#6      GetterSetterCombo.isPublic (package:dartdoc/src/model/getter_setter_combo.dart:102:24)
#7      ModelElement.isCanonical (package:dartdoc/src/model/model_element.dart:781:10)
#8      PackageGraph.precacheLocalDocs.<anonymous closure> (package:dartdoc/src/model/package_graph.dart:131:49)
#9      _SyncIterator.moveNext (dart:core-patch/core_patch.dart:165:25)
#10     Future.wait (dart:async/future.dart:406:26)
#11     PackageGraph.initializePackageGraph (package:dartdoc/src/model/package_graph.dart:74:18)
#12     PubPackageBuilder.buildPackageGraph (package:dartdoc/src/model/package_builder.dart:77:20)
<asynchronous suspension>
#13     Dartdoc.generateDocsBase (package:dartdoc/dartdoc.dart:182:41)
#14     Dartdoc.generateDocs (package:dartdoc/dartdoc.dart:223:34)
#15     main (file:///project/pkg/pub_dartdoc/bin/pub_dartdoc.dart:32:33)
<asynchronous suspension>
#16     _startIsolate.<anonymous closure> (dart:isolate-patch/isolate_patch.dart:299:32)
#17     _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:168:12)

Given that we cannot reproduce this with dartdoc it must be a pub-dev specific bug. The following seems to work fine:

$ wget https://storage.googleapis.com/pub-packages/packages/ninja_prime-1.0.0.tar.gz
$ tar -xzf ninja_prime-1.0.0.tar.gz 
$ dartdoc --version
dartdoc version: 0.32.4
$ dartdoc
Documenting ninja_prime...
Initialized dartdoc with 39 libraries in 17.8 seconds
Generating docs for library ninja_prime from package:ninja_prime/ninja_prime.dart...
Validating docs...
  warning: dartdoc generated a broken link to: ninja_prime/BigIntPrime/smallPrimesProduct.html
found 1 warning and 0 errors
Documented 1 public library in 0.8 seconds
Success! Docs generated into /tmp/ninja/doc/api

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions