dart-lang / dartdoc

API documentation tool for Dart.
https://pub.dev/packages/dartdoc
BSD 3-Clause "New" or "Revised" License
468 stars 118 forks source link

linkedName should not be necessary to declare on CallableElementTypeMixin #2648

Open jcollins-g opened 3 years ago

jcollins-g commented 3 years ago

mustachio seems not to be able to resolve linkedName on CallableElementTypeMixin, even though it is declared in the implemented type ElementType. Adding a useless override works around the problem. An upcoming change uses linkedName in that context, which is how I found out about this.

dart2-dartdoc_test.dart: 01:42 +8 -1: dartdoc with generators basic interlinking test [E]
dart2-dartdoc_test.dart:
dart2-dartdoc_test.dart:   MustachioResolutionError: line 5, column 48 of lib/templates/html/_typedef.html: Failed to resolve 'linkedName' on CallableElementTypeMixin while resolving [linkedName] as a property chain on any types in the context chain: LibraryTemplateData > Library > Library > Typedef > FunctionTypedef, after first resolving 'modelType' to a property on FunctionTypedef
dart2-dartdoc_test.dart:     ╷
dart2-dartdoc_test.dart:   5 │       <span class="returntype parameter">= {{{ modelType.linkedName }}}</span>
dart2-dartdoc_test.dart:     │                                                ^^^^^^^^^^^^^^^^^^^^
dart2-dartdoc_test.dart:     ╵
dart2-dartdoc_test.dart:
dart2-dartdoc_test.dart:   package:dartdoc/src/mustachio/renderer_base.dart 183:9               RendererBase.getFields
dart2-dartdoc_test.dart:   package:dartdoc/src/mustachio/renderer_base.dart 204:23              RendererBase.renderBlock
dart2-dartdoc_test.dart:   package:dartdoc/src/generator/templates.renderers.dart 6038:12       _render_FunctionTypedef
dart2-dartdoc_test.dart:   package:dartdoc/src/generator/templates.renderers.dart 13814:28      _Renderer_Typedef.propertyMap.<fn>.<fn>
dart2-dartdoc_test.dart:   package:dartdoc/src/mustachio/renderer_base.dart 255:33              RendererBase.section
dart2-dartdoc_test.dart:   package:dartdoc/src/mustachio/renderer_base.dart 207:9               RendererBase.renderBlock
dart2-dartdoc_test.dart:   package:dartdoc/src/mustachio/renderer_base.dart 230:9               RendererBase.section
dart2-dartdoc_test.dart:   package:dartdoc/src/mustachio/renderer_base.dart 207:9               RendererBase.renderBlock
dart2-dartdoc_test.dart:   package:dartdoc/src/mustachio/renderer_base.dart 265:5               RendererBase.partial
dart2-dartdoc_test.dart:   package:dartdoc/src/mustachio/renderer_base.dart 209:9               RendererBase.renderBlock
dart2-dartdoc_test.dart:   package:dartdoc/src/generator/templates.renderers.dart 13773:12      _render_Typedef
dart2-dartdoc_test.dart:   package:dartdoc/src/generator/templates.renderers.dart 12964:32      _Renderer_TopLevelContainer.propertyMap.<fn>.<fn>.<fn>
dart2-dartdoc_test.dart:   dart:_internal/iterable.dart 413:31                                  MappedListIterable.elementAt
dart2-dartdoc_test.dart:   dart:_internal/iterable.dart 342:26                                  ListIterator.moveNext
dart2-dartdoc_test.dart:   dart:core-patch/string_buffer_patch.dart 96:19                       StringBuffer.writeAll
dart2-dartdoc_test.dart:   package:dartdoc/src/mustachio/renderer_base.dart 242:38              RendererBase.section
dart2-dartdoc_test.dart:   package:dartdoc/src/mustachio/renderer_base.dart 207:9               RendererBase.renderBlock
dart2-dartdoc_test.dart:   package:dartdoc/src/generator/templates.renderers.dart 6860:12       _render_Library
dart2-dartdoc_test.dart:   package:dartdoc/src/generator/templates.renderers.dart 7233:28       _Renderer_Library.propertyMap.<fn>.<fn>
dart2-dartdoc_test.dart:   package:dartdoc/src/mustachio/renderer_base.dart 255:33              RendererBase.section
dart2-dartdoc_test.dart:   package:dartdoc/src/mustachio/renderer_base.dart 207:9               RendererBase.renderBlock
dart2-dartdoc_test.dart:   package:dartdoc/src/mustachio/renderer_base.dart 230:9               RendererBase.section
dart2-dartdoc_test.dart:   package:dartdoc/src/mustachio/renderer_base.dart 207:9               RendererBase.renderBlock
dart2-dartdoc_test.dart:   package:dartdoc/src/generator/templates.renderers.dart 6860:12       _render_Library
dart2-dartdoc_test.dart:   package:dartdoc/src/generator/templates.renderers.dart 7706:28       _Renderer_LibraryTemplateData.propertyMap.<fn>.<fn>
dart2-dartdoc_test.dart:   package:dartdoc/src/mustachio/renderer_base.dart 255:33              RendererBase.section
dart2-dartdoc_test.dart:   package:dartdoc/src/mustachio/renderer_base.dart 207:9               RendererBase.renderBlock
dart2-dartdoc_test.dart:   package:dartdoc/src/generator/templates.renderers.dart 7638:12       _render_LibraryTemplateData
dart2-dartdoc_test.dart:   package:dartdoc/src/generator/templates.renderers.dart 7631:10       renderLibrary
dart2-dartdoc_test.dart:   package:dartdoc/src/generator/dartdoc_generator_backend.dart 149:19  DartdocGeneratorBackend.generateLibrary
dart2-dartdoc_test.dart:   package:dartdoc/src/generator/generator_frontend.dart 55:27          GeneratorFrontEnd._generateDocs
dart2-dartdoc_test.dart:   package:dartdoc/src/generator/generator_frontend.dart 21:5           GeneratorFrontEnd.generate
dart2-dartdoc_test.dart:   package:dartdoc/dartdoc.dart 207:23                                  Dartdoc.generateDocsBase
dart2-dartdoc_test.dart:   ===== asynchronous gap ===========================
dart2-dartdoc_test.dart:   package:dartdoc/dartdoc.dart 239:28                                  Dartdoc.generateDocs
dart2-dartdoc_test.dart:   ===== asynchronous gap ===========================
dart2-dartdoc_test.dart:   test/end2end/dartdoc_test.dart 206:21                                main.<fn>.<fn>
dart2-dartdoc_test.dart:   ===== asynchronous gap ===========================
dart2-dartdoc_test.dart:   package:test_api/src/backend/declarer.dart 199:9                     Declarer.test.<fn>.<fn>
dart2-dartdoc_test.dart:   ===== asynchronous gap ===========================
dart2-dartdoc_test.dart:   package:test_api/src/backend/declarer.dart 197:7                     Declarer.test.<fn>
dart2-dartdoc_test.dart:   ===== asynchronous gap ===========================
dart2-dartdoc_test.dart:   package:test_api/src/backend/invoker.dart 257:7                      Invoker._waitForOutstandingCallbacks.<fn>
dart2-dartdoc_test.dart:
dart2-dartdoc_test.dart:
srawlins commented 3 years ago

Yikes. I'll take a look.