From ef65a5f3465183a8e3bc269b817a68468315fe0f Mon Sep 17 00:00:00 2001 From: Istvan Soos Date: Thu, 3 Jul 2025 17:02:52 +0200 Subject: [PATCH 1/2] Formatting Dart code + enforcing it on CI. --- .../templates.aot_renderers_for_html.dart | 184 +- .../templates.runtime_renderers.dart | 45017 ++++++++-------- lib/src/model/accessor.dart | 1 - lib/src/model/class.dart | 4 +- lib/src/model/constructor.dart | 3 +- lib/src/model/dynamic.dart | 5 +- lib/src/model/extension_type.dart | 9 +- lib/src/model/field.dart | 10 +- lib/src/model/library.dart | 3 +- lib/src/model/method.dart | 5 +- lib/src/model/mixin.dart | 1 - lib/src/model/model_function.dart | 7 +- lib/src/model/never.dart | 1 - lib/src/model/parameter.dart | 4 +- lib/src/model/top_level_variable.dart | 5 +- lib/src/model/type_parameter.dart | 1 - lib/src/model/typedef.dart | 1 - test/mustachio/foo.runtime_renderers.dart | 933 +- testing/test_package/lib/example.dart | 13 +- tool/task.dart | 11 +- 20 files changed, 21867 insertions(+), 24351 deletions(-) diff --git a/lib/src/generator/templates.aot_renderers_for_html.dart b/lib/src/generator/templates.aot_renderers_for_html.dart index 189805ddc0..dc2940827c 100644 --- a/lib/src/generator/templates.aot_renderers_for_html.dart +++ b/lib/src/generator/templates.aot_renderers_for_html.dart @@ -3139,7 +3139,8 @@ String _renderCategory_partial_property_7(TopLevelVariable context2) { String _renderCategory_partial_search_sidebar_12( CategoryTemplateData context0, -) => _deduplicated__search_sidebar(context0); +) => + _deduplicated__search_sidebar(context0); String _renderCategory_partial_sidebar_for_category_14( CategoryTemplateData context0, @@ -3474,7 +3475,8 @@ String _renderConstructor_partial_head_0(ConstructorTemplateData context0) => String _renderConstructor_partial_search_sidebar_6( ConstructorTemplateData context0, -) => _deduplicated__search_sidebar(context0); +) => + _deduplicated__search_sidebar(context0); String _renderConstructor_partial_source_code_5(Constructor context1) => _deduplicated__source_code(context1); @@ -3568,14 +3570,16 @@ String _renderError_partial_search_sidebar_1(PackageTemplateData context0) => String _renderExtensionType_partial_available_extensions_6( ExtensionType context1, -) => _deduplicated__available_extensions(context1); +) => + _deduplicated__available_extensions(context1); String _renderExtensionType_partial_constructors_8(ExtensionType context1) => _deduplicated__constructors(context1); String _renderExtensionType_partial_container_annotations_7( ExtensionType context1, -) => _deduplicated__container_annotations(context1); +) => + _deduplicated__container_annotations(context1); String _renderExtensionType_partial_documentation_4(ExtensionType context1) => _deduplicated__documentation(context1); @@ -3585,43 +3589,50 @@ String _renderExtensionType_partial_feature_set_2(ExtensionType context1) => String _renderExtensionType_partial_footer_16( ExtensionTypeTemplateData context0, -) => _deduplicated__footer(context0); +) => + _deduplicated__footer(context0); String _renderExtensionType_partial_head_0( ExtensionTypeTemplateData context0, -) => _deduplicated__head(context0); +) => + _deduplicated__head(context0); String _renderExtensionType_partial_instance_fields_9(ExtensionType context1) => _deduplicated__instance_fields(context1); String _renderExtensionType_partial_instance_methods_10( ExtensionType context1, -) => _deduplicated__instance_methods(context1); +) => + _deduplicated__instance_methods(context1); String _renderExtensionType_partial_instance_operators_11( ExtensionType context1, -) => _deduplicated__instance_operators(context1); +) => + _deduplicated__instance_operators(context1); String _renderExtensionType_partial_interfaces_5(ExtensionType context1) => _deduplicated__interfaces(context1); String _renderExtensionType_partial_search_sidebar_15( ExtensionTypeTemplateData context0, -) => _deduplicated__search_sidebar(context0); +) => + _deduplicated__search_sidebar(context0); String _renderExtensionType_partial_source_link_1(ExtensionType context1) => _deduplicated__source_link(context1); String _renderExtensionType_partial_static_constants_14( ExtensionType context1, -) => _deduplicated__static_constants(context1); +) => + _deduplicated__static_constants(context1); String _renderExtensionType_partial_static_methods_13(ExtensionType context1) => _deduplicated__static_methods(context1); String _renderExtensionType_partial_static_properties_12( ExtensionType context1, -) => _deduplicated__static_properties(context1); +) => + _deduplicated__static_properties(context1); String _renderExtension_partial_container_annotations_5(Extension context1) => _deduplicated__container_annotations(context1); @@ -3634,11 +3645,13 @@ String _renderExtension_partial_feature_set_2(Extension context1) => String _renderExtension_partial_footer_13( ExtensionTemplateData context0, -) => _deduplicated__footer(context0); +) => + _deduplicated__footer(context0); String _renderExtension_partial_head_0( ExtensionTemplateData context0, -) => _deduplicated__head(context0); +) => + _deduplicated__head(context0); String _renderExtension_partial_instance_fields_6(Extension context1) => _deduplicated__instance_fields(context1); @@ -3651,7 +3664,8 @@ String _renderExtension_partial_instance_operators_8(Extension context1) => String _renderExtension_partial_search_sidebar_12( ExtensionTemplateData context0, -) => _deduplicated__search_sidebar(context0); +) => + _deduplicated__search_sidebar(context0); String _renderExtension_partial_source_link_1(Extension context1) => _deduplicated__source_link(context1); @@ -3707,7 +3721,8 @@ String _renderFunction_partial_head_0(FunctionTemplateData context0) => String _renderFunction_partial_search_sidebar_8( FunctionTemplateData context0, -) => _deduplicated__search_sidebar(context0); +) => + _deduplicated__search_sidebar(context0); String _renderFunction_partial_source_code_7(ModelFunction context1) => _deduplicated__source_code(context1); @@ -3887,7 +3902,8 @@ String _renderProperty_partial_name_summary_4(Field context1) => String _renderProperty_partial_search_sidebar_10( PropertyTemplateData context0, -) => _deduplicated__search_sidebar(context0); +) => + _deduplicated__search_sidebar(context0); String _renderProperty_partial_source_code_7(Field context1) => _deduplicated__source_code(context1); @@ -3953,47 +3969,58 @@ String _renderSidebarForContainer_partial_container_sidebar_item_1( String _renderTopLevelProperty_partial_accessor_getter_9( TopLevelVariable context1, -) => _deduplicated__accessor_getter(context1); +) => + _deduplicated__accessor_getter(context1); String _renderTopLevelProperty_partial_accessor_setter_10( TopLevelVariable context1, -) => _deduplicated__accessor_setter(context1); +) => + _deduplicated__accessor_setter(context1); String _renderTopLevelProperty_partial_annotations_4( TopLevelVariable context1, -) => _deduplicated__annotations(context1); +) => + _deduplicated__annotations(context1); String _renderTopLevelProperty_partial_documentation_7( TopLevelVariable context1, -) => _deduplicated__documentation(context1); +) => + _deduplicated__documentation(context1); String _renderTopLevelProperty_partial_feature_set_2( TopLevelVariable context1, -) => _deduplicated__feature_set(context1); +) => + _deduplicated__feature_set(context1); String _renderTopLevelProperty_partial_footer_12( TopLevelPropertyTemplateData context0, -) => _deduplicated__footer(context0); +) => + _deduplicated__footer(context0); String _renderTopLevelProperty_partial_head_0( TopLevelPropertyTemplateData context0, -) => _deduplicated__head(context0); +) => + _deduplicated__head(context0); String _renderTopLevelProperty_partial_name_summary_5( TopLevelVariable context1, -) => _deduplicated__name_summary(context1); +) => + _deduplicated__name_summary(context1); String _renderTopLevelProperty_partial_search_sidebar_11( TopLevelPropertyTemplateData context0, -) => _deduplicated__search_sidebar(context0); +) => + _deduplicated__search_sidebar(context0); String _renderTopLevelProperty_partial_source_code_8( TopLevelVariable context1, -) => _deduplicated__source_code(context1); +) => + _deduplicated__source_code(context1); String _renderTopLevelProperty_partial_source_link_1( TopLevelVariable context1, -) => _deduplicated__source_link(context1); +) => + _deduplicated__source_link(context1); String _renderTypedef_partial_documentation_5(Typedef context1) => _deduplicated__documentation(context1); @@ -4066,35 +4093,43 @@ String _renderTypedef_partial_typedef_multiline_4(Typedef context1) { String __renderCategory_partial_callable_8_partial_attributes_1( ModelFunctionTyped context2, -) => _deduplicated__attributes(context2); +) => + _deduplicated__attributes(context2); String __renderCategory_partial_callable_8_partial_categorization_0( ModelFunctionTyped context2, -) => _deduplicated__categorization(context2); +) => + _deduplicated__categorization(context2); String __renderCategory_partial_constant_6_partial_attributes_1( TopLevelVariable context2, -) => _deduplicated__attributes(context2); +) => + _deduplicated__attributes(context2); String __renderCategory_partial_constant_6_partial_categorization_0( TopLevelVariable context2, -) => _deduplicated__categorization(context2); +) => + _deduplicated__categorization(context2); String __renderCategory_partial_container_3_partial_categorization_0( Container context2, -) => _deduplicated__categorization(context2); +) => + _deduplicated__categorization(context2); String __renderCategory_partial_library_2_partial_categorization_0( Library context2, -) => _deduplicated__categorization(context2); +) => + _deduplicated__categorization(context2); String __renderCategory_partial_typedef_10_partial_attributes_1( FunctionTypedef context3, -) => _deduplicated__attributes(context3); +) => + _deduplicated__attributes(context3); String __renderCategory_partial_typedef_10_partial_categorization_0( FunctionTypedef context3, -) => _deduplicated__categorization(context3); +) => + _deduplicated__categorization(context3); String __renderCategory_partial_typedef_10_partial_type_2(Typedef context2) { final buffer = StringBuffer(); @@ -4273,61 +4308,75 @@ String __renderClass_partial_instance_methods_12_partial_callable_0( String __renderClass_partial_static_constants_16_partial_constant_0( Field context2, -) => _deduplicated__constant(context2); +) => + _deduplicated__constant(context2); String __renderFunction_partial_callable_multiline_4_partial_annotations_0( ModelFunction context1, -) => _deduplicated__annotations(context1); +) => + _deduplicated__annotations(context1); String __renderFunction_partial_callable_multiline_4_partial_name_summary_1( ModelFunction context1, -) => _deduplicated__name_summary(context1); +) => + _deduplicated__name_summary(context1); String __renderMethod_partial_callable_multiline_3_partial_annotations_0( Method context1, -) => _deduplicated__annotations(context1); +) => + _deduplicated__annotations(context1); String __renderMethod_partial_callable_multiline_3_partial_name_summary_1( Method context1, -) => _deduplicated__name_summary(context1); +) => + _deduplicated__name_summary(context1); String __renderProperty_partial_accessor_getter_8_partial_annotations_0( ContainerAccessor context2, -) => _deduplicated__annotations(context2); +) => + _deduplicated__annotations(context2); String __renderProperty_partial_accessor_getter_8_partial_attributes_2( ContainerAccessor context2, -) => _deduplicated__attributes(context2); +) => + _deduplicated__attributes(context2); String __renderProperty_partial_accessor_getter_8_partial_documentation_3( ContainerAccessor context2, -) => _deduplicated__documentation(context2); +) => + _deduplicated__documentation(context2); String __renderProperty_partial_accessor_getter_8_partial_source_code_4( ContainerAccessor context2, -) => _deduplicated__source_code(context2); +) => + _deduplicated__source_code(context2); String __renderTopLevelProperty_partial_accessor_getter_9_partial_annotations_0( Accessor context2, -) => _deduplicated__annotations(context2); +) => + _deduplicated__annotations(context2); String __renderTopLevelProperty_partial_accessor_getter_9_partial_attributes_2( Accessor context2, -) => _deduplicated__attributes(context2); +) => + _deduplicated__attributes(context2); String -__renderTopLevelProperty_partial_accessor_getter_9_partial_documentation_3( + __renderTopLevelProperty_partial_accessor_getter_9_partial_documentation_3( Accessor context2, -) => _deduplicated__documentation(context2); +) => + _deduplicated__documentation(context2); String -__renderTopLevelProperty_partial_accessor_getter_9_partial_name_summary_1( + __renderTopLevelProperty_partial_accessor_getter_9_partial_name_summary_1( Accessor context2, -) => _deduplicated__name_summary(context2); +) => + _deduplicated__name_summary(context2); String __renderTopLevelProperty_partial_accessor_getter_9_partial_source_code_4( Accessor context2, -) => _deduplicated__source_code(context2); +) => + _deduplicated__source_code(context2); String __renderTypedef_partial_typedef_multiline_4_partial_type_multiline_0( Typedef context1, @@ -4365,37 +4414,44 @@ String __renderTypedef_partial_typedef_multiline_4_partial_type_multiline_0( String ___renderCategory_partial_typedef_10_partial_type_2_partial_attributes_1( Typedef context2, -) => _deduplicated__attributes(context2); +) => + _deduplicated__attributes(context2); String -___renderCategory_partial_typedef_10_partial_type_2_partial_categorization_0( + ___renderCategory_partial_typedef_10_partial_type_2_partial_categorization_0( Typedef context2, -) => _deduplicated__categorization(context2); +) => + _deduplicated__categorization(context2); String -___renderClass_partial_instance_fields_11_partial_property_0_partial_attributes_1( + ___renderClass_partial_instance_fields_11_partial_property_0_partial_attributes_1( Field context2, -) => _deduplicated__attributes(context2); +) => + _deduplicated__attributes(context2); String -___renderClass_partial_instance_fields_11_partial_property_0_partial_categorization_0( + ___renderClass_partial_instance_fields_11_partial_property_0_partial_categorization_0( Field context2, -) => _deduplicated__categorization(context2); +) => + _deduplicated__categorization(context2); String -___renderClass_partial_instance_methods_12_partial_callable_0_partial_attributes_1( + ___renderClass_partial_instance_methods_12_partial_callable_0_partial_attributes_1( Method context2, -) => _deduplicated__attributes(context2); +) => + _deduplicated__attributes(context2); String -___renderClass_partial_instance_methods_12_partial_callable_0_partial_categorization_0( + ___renderClass_partial_instance_methods_12_partial_callable_0_partial_categorization_0( Method context2, -) => _deduplicated__categorization(context2); +) => + _deduplicated__categorization(context2); String -___renderTypedef_partial_typedef_multiline_4_partial_type_multiline_0_partial_name_summary_0( + ___renderTypedef_partial_typedef_multiline_4_partial_type_multiline_0_partial_name_summary_0( Typedef context1, -) => _deduplicated__name_summary(context1); +) => + _deduplicated__name_summary(context1); extension on StringBuffer { void writeEscaped(String? value) { diff --git a/lib/src/generator/templates.runtime_renderers.dart b/lib/src/generator/templates.runtime_renderers.dart index d304457ec8..141cd22170 100644 --- a/lib/src/generator/templates.runtime_renderers.dart +++ b/lib/src/generator/templates.runtime_renderers.dart @@ -36,572 +36,513 @@ class _Renderer_Accessor extends RendererBase { static final Map _propertyMapCache = {}; static Map> propertyMap() => _propertyMapCache.putIfAbsent( - CT_, - () => { - ..._Renderer_ModelElement.propertyMap(), - 'aboveSidebarPath': Property( - getValue: (CT_ c) => c.aboveSidebarPath, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String( - c.aboveSidebarPath, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'belowSidebarPath': Property( - getValue: (CT_ c) => c.belowSidebarPath, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => c.belowSidebarPath == null, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String( - c.belowSidebarPath!, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'characterLocation': Property( - getValue: (CT_ c) => c.characterLocation, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'CharacterLocation', - ), - - isNullValue: (CT_ c) => c.characterLocation == null, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - renderSimple( - c.characterLocation, - ast, - r.template, - sink, - parent: r, - getters: _invisibleGetters['CharacterLocation']!, - ); - }, - ), - 'definingCombo': Property( - getValue: (CT_ c) => c.definingCombo, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = - _Renderer_GetterSetterCombo.propertyMap().getValue( - name, - ); - return nextProperty.renderVariable( - self.getValue(c) as GetterSetterCombo, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - renderSimple( - c.definingCombo, - ast, - r.template, - sink, - parent: r, - getters: _invisibleGetters['GetterSetterCombo']!, - ); - }, - ), - 'documentationComment': Property( - getValue: (CT_ c) => c.documentationComment, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String( - c.documentationComment, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'element': Property( - getValue: (CT_ c) => c.element, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'PropertyAccessorElement2', - ), - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - renderSimple( - c.element, - ast, - r.template, - sink, - parent: r, - getters: _invisibleGetters['PropertyAccessorElement2']!, - ); - }, - ), - 'enclosingCombo': Property( - getValue: (CT_ c) => c.enclosingCombo, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = - _Renderer_GetterSetterCombo.propertyMap().getValue( - name, - ); - return nextProperty.renderVariable( - self.getValue(c) as GetterSetterCombo, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - renderSimple( - c.enclosingCombo, - ast, - r.template, - sink, - parent: r, - getters: _invisibleGetters['GetterSetterCombo']!, - ); - }, - ), - 'enclosingElement': Property( - getValue: (CT_ c) => c.enclosingElement, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_ModelElement.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as ModelElement, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_ModelElement( - c.enclosingElement, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'filePath': Property( - getValue: (CT_ c) => c.filePath, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String( - c.filePath, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'hasDocumentationComment': Property( - getValue: (CT_ c) => c.hasDocumentationComment, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'bool'), - - getBool: (CT_ c) => c.hasDocumentationComment, - ), - 'href': Property( - getValue: (CT_ c) => c.href, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => c.href == null, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String(c.href!, ast, r.template, sink, parent: r); - }, - ), - 'isCanonical': Property( - getValue: (CT_ c) => c.isCanonical, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'bool'), - - getBool: (CT_ c) => c.isCanonical, - ), - 'isGetter': Property( - getValue: (CT_ c) => c.isGetter, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'bool'), - - getBool: (CT_ c) => c.isGetter, - ), - 'isSetter': Property( - getValue: (CT_ c) => c.isSetter, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'bool'), - - getBool: (CT_ c) => c.isSetter, - ), - 'isSynthetic': Property( - getValue: (CT_ c) => c.isSynthetic, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'bool'), - - getBool: (CT_ c) => c.isSynthetic, - ), - 'kind': Property( - getValue: (CT_ c) => c.kind, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'Kind'), - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - renderSimple( - c.kind, - ast, - r.template, - sink, - parent: r, - getters: _invisibleGetters['Kind']!, - ); - }, - ), - 'modelType': Property( - getValue: (CT_ c) => c.modelType, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_Callable.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as Callable, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_Callable( - c.modelType, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'originalMember': Property( - getValue: (CT_ c) => c.originalMember, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'ExecutableMember', - ), - - isNullValue: (CT_ c) => c.originalMember == null, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - renderSimple( - c.originalMember, - ast, - r.template, - sink, - parent: r, - getters: _invisibleGetters['ExecutableMember']!, - ); - }, - ), - 'referenceChildren': Property( - getValue: (CT_ c) => c.referenceChildren, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'Map', - ), - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - renderSimple( - c.referenceChildren, - ast, - r.template, - sink, - parent: r, - getters: _invisibleGetters['Map']!, - ); - }, - ), - 'referenceParents': Property( - getValue: (CT_ c) => c.referenceParents, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'Iterable', - ), - - renderIterable: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - return c.referenceParents.map( - (e) => renderSimple( - e, - ast, - r.template, - sink, - parent: r, - getters: _invisibleGetters['CommentReferable']!, - ), - ); - }, - ), - 'sourceCode': Property( - getValue: (CT_ c) => c.sourceCode, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String( - c.sourceCode, - ast, - r.template, - sink, - parent: r, - ); - }, - ), + CT_, + () => { + ..._Renderer_ModelElement.propertyMap(), + 'aboveSidebarPath': Property( + getValue: (CT_ c) => c.aboveSidebarPath, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String( + c.aboveSidebarPath, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'belowSidebarPath': Property( + getValue: (CT_ c) => c.belowSidebarPath, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => c.belowSidebarPath == null, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String( + c.belowSidebarPath!, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'characterLocation': Property( + getValue: (CT_ c) => c.characterLocation, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'CharacterLocation', + ), + isNullValue: (CT_ c) => c.characterLocation == null, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + renderSimple( + c.characterLocation, + ast, + r.template, + sink, + parent: r, + getters: _invisibleGetters['CharacterLocation']!, + ); + }, + ), + 'definingCombo': Property( + getValue: (CT_ c) => c.definingCombo, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = + _Renderer_GetterSetterCombo.propertyMap().getValue( + name, + ); + return nextProperty.renderVariable( + self.getValue(c) as GetterSetterCombo, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + renderSimple( + c.definingCombo, + ast, + r.template, + sink, + parent: r, + getters: _invisibleGetters['GetterSetterCombo']!, + ); + }, + ), + 'documentationComment': Property( + getValue: (CT_ c) => c.documentationComment, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String( + c.documentationComment, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'element': Property( + getValue: (CT_ c) => c.element, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'PropertyAccessorElement2', + ), + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + renderSimple( + c.element, + ast, + r.template, + sink, + parent: r, + getters: _invisibleGetters['PropertyAccessorElement2']!, + ); + }, + ), + 'enclosingCombo': Property( + getValue: (CT_ c) => c.enclosingCombo, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = + _Renderer_GetterSetterCombo.propertyMap().getValue( + name, + ); + return nextProperty.renderVariable( + self.getValue(c) as GetterSetterCombo, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + renderSimple( + c.enclosingCombo, + ast, + r.template, + sink, + parent: r, + getters: _invisibleGetters['GetterSetterCombo']!, + ); + }, + ), + 'enclosingElement': Property( + getValue: (CT_ c) => c.enclosingElement, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = + _Renderer_ModelElement.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as ModelElement, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_ModelElement( + c.enclosingElement, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'filePath': Property( + getValue: (CT_ c) => c.filePath, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String( + c.filePath, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'hasDocumentationComment': Property( + getValue: (CT_ c) => c.hasDocumentationComment, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'bool'), + getBool: (CT_ c) => c.hasDocumentationComment, + ), + 'href': Property( + getValue: (CT_ c) => c.href, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => c.href == null, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String(c.href!, ast, r.template, sink, parent: r); + }, + ), + 'isCanonical': Property( + getValue: (CT_ c) => c.isCanonical, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'bool'), + getBool: (CT_ c) => c.isCanonical, + ), + 'isGetter': Property( + getValue: (CT_ c) => c.isGetter, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'bool'), + getBool: (CT_ c) => c.isGetter, + ), + 'isSetter': Property( + getValue: (CT_ c) => c.isSetter, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'bool'), + getBool: (CT_ c) => c.isSetter, + ), + 'isSynthetic': Property( + getValue: (CT_ c) => c.isSynthetic, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'bool'), + getBool: (CT_ c) => c.isSynthetic, + ), + 'kind': Property( + getValue: (CT_ c) => c.kind, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'Kind'), + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + renderSimple( + c.kind, + ast, + r.template, + sink, + parent: r, + getters: _invisibleGetters['Kind']!, + ); + }, + ), + 'modelType': Property( + getValue: (CT_ c) => c.modelType, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = + _Renderer_Callable.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as Callable, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_Callable( + c.modelType, + ast, + r.template, + sink, + parent: r, + ); }, - ) - as Map>; + ), + 'originalMember': Property( + getValue: (CT_ c) => c.originalMember, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'ExecutableMember', + ), + isNullValue: (CT_ c) => c.originalMember == null, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + renderSimple( + c.originalMember, + ast, + r.template, + sink, + parent: r, + getters: _invisibleGetters['ExecutableMember']!, + ); + }, + ), + 'referenceChildren': Property( + getValue: (CT_ c) => c.referenceChildren, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'Map', + ), + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + renderSimple( + c.referenceChildren, + ast, + r.template, + sink, + parent: r, + getters: _invisibleGetters['Map']!, + ); + }, + ), + 'referenceParents': Property( + getValue: (CT_ c) => c.referenceParents, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'Iterable', + ), + renderIterable: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + return c.referenceParents.map( + (e) => renderSimple( + e, + ast, + r.template, + sink, + parent: r, + getters: _invisibleGetters['CommentReferable']!, + ), + ); + }, + ), + 'sourceCode': Property( + getValue: (CT_ c) => c.sourceCode, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String( + c.sourceCode, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + }, + ) as Map>; _Renderer_Accessor( Accessor context, @@ -635,150 +576,133 @@ class _Renderer_Annotation extends RendererBase { static final Map _propertyMapCache = {}; static Map> propertyMap() => _propertyMapCache.putIfAbsent( - CT_, - () => { - ..._Renderer_Attribute.propertyMap(), - 'cssClassName': Property( - getValue: (CT_ c) => c.cssClassName, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String( - c.cssClassName, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'hashCode': Property( - getValue: (CT_ c) => c.hashCode, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'int'), - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - renderSimple( - c.hashCode, - ast, - r.template, - sink, - parent: r, - getters: _invisibleGetters['int']!, - ); - }, - ), - 'isPublic': Property( - getValue: (CT_ c) => c.isPublic, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'bool'), - - getBool: (CT_ c) => c.isPublic, - ), - 'linkedName': Property( - getValue: (CT_ c) => c.linkedName, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String( - c.linkedName, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'linkedNameWithParameters': Property( - getValue: (CT_ c) => c.linkedNameWithParameters, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String( - c.linkedNameWithParameters, - ast, - r.template, - sink, - parent: r, - ); - }, - ), + CT_, + () => { + ..._Renderer_Attribute.propertyMap(), + 'cssClassName': Property( + getValue: (CT_ c) => c.cssClassName, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String( + c.cssClassName, + ast, + r.template, + sink, + parent: r, + ); }, - ) - as Map>; + ), + 'hashCode': Property( + getValue: (CT_ c) => c.hashCode, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'int'), + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + renderSimple( + c.hashCode, + ast, + r.template, + sink, + parent: r, + getters: _invisibleGetters['int']!, + ); + }, + ), + 'isPublic': Property( + getValue: (CT_ c) => c.isPublic, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'bool'), + getBool: (CT_ c) => c.isPublic, + ), + 'linkedName': Property( + getValue: (CT_ c) => c.linkedName, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String( + c.linkedName, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'linkedNameWithParameters': Property( + getValue: (CT_ c) => c.linkedNameWithParameters, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String( + c.linkedNameWithParameters, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + }, + ) as Map>; _Renderer_Annotation( Annotation context, @@ -801,142 +725,126 @@ class _Renderer_Attribute extends RendererBase { static final Map _propertyMapCache = {}; static Map> propertyMap() => _propertyMapCache.putIfAbsent( - CT_, - () => { - ..._Renderer_Object.propertyMap(), - 'cssClassName': Property( - getValue: (CT_ c) => c.cssClassName, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String( - c.cssClassName, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'linkedName': Property( - getValue: (CT_ c) => c.linkedName, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String( - c.linkedName, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'linkedNameWithParameters': Property( - getValue: (CT_ c) => c.linkedNameWithParameters, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String( - c.linkedNameWithParameters, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'sortGroup': Property( - getValue: (CT_ c) => c.sortGroup, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'int'), - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - renderSimple( - c.sortGroup, - ast, - r.template, - sink, - parent: r, - getters: _invisibleGetters['int']!, - ); - }, - ), + CT_, + () => { + ..._Renderer_Object.propertyMap(), + 'cssClassName': Property( + getValue: (CT_ c) => c.cssClassName, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); }, - ) - as Map>; + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String( + c.cssClassName, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'linkedName': Property( + getValue: (CT_ c) => c.linkedName, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String( + c.linkedName, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'linkedNameWithParameters': Property( + getValue: (CT_ c) => c.linkedNameWithParameters, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String( + c.linkedNameWithParameters, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'sortGroup': Property( + getValue: (CT_ c) => c.sortGroup, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'int'), + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + renderSimple( + c.sortGroup, + ast, + r.template, + sink, + parent: r, + getters: _invisibleGetters['int']!, + ); + }, + ), + }, + ) as Map>; _Renderer_Attribute( Attribute context, @@ -970,145 +878,132 @@ class _Renderer_Callable extends RendererBase { static final Map _propertyMapCache = {}; static Map> propertyMap() => _propertyMapCache.putIfAbsent( - CT_, - () => { - 'linkedName': Property( - getValue: (CT_ c) => c.linkedName, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, + CT_, + () => { + 'linkedName': Property( + getValue: (CT_ c) => c.linkedName, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String( + c.linkedName, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'parameters': Property( + getValue: (CT_ c) => c.parameters, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'List', + ), + renderIterable: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + return c.parameters.map( + (e) => _render_Parameter( + e, + ast, + r.template, + sink, + parent: r, + ), + ); + }, + ), + 'returnType': Property( + getValue: (CT_ c) => c.returnType, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = + _Renderer_ElementType.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as ElementType, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_ElementType( + c.returnType, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'type': Property( + getValue: (CT_ c) => c.type, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'FunctionType', + ), + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + renderSimple( + c.type, + ast, + r.template, + sink, + parent: r, + getters: _invisibleGetters['FunctionType']!, + ); + }, + ), + }, + ) as Map>; - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String( - c.linkedName, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'parameters': Property( - getValue: (CT_ c) => c.parameters, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'List', - ), - - renderIterable: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - return c.parameters.map( - (e) => _render_Parameter( - e, - ast, - r.template, - sink, - parent: r, - ), - ); - }, - ), - 'returnType': Property( - getValue: (CT_ c) => c.returnType, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_ElementType.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as ElementType, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_ElementType( - c.returnType, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'type': Property( - getValue: (CT_ c) => c.type, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'FunctionType', - ), - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - renderSimple( - c.type, - ast, - r.template, - sink, - parent: r, - getters: _invisibleGetters['FunctionType']!, - ); - }, - ), - }, - ) - as Map>; - - _Renderer_Callable( - Callable context, - RendererBase? parent, - Template template, - StringSink sink, - ) : super(context, parent, template, sink); + _Renderer_Callable( + Callable context, + RendererBase? parent, + Template template, + StringSink sink, + ) : super(context, parent, template, sink); @override Property? getProperty(String key) { @@ -1124,34 +1019,30 @@ class _Renderer_CanonicalFor extends RendererBase { static final Map _propertyMapCache = {}; static Map> propertyMap() => _propertyMapCache.putIfAbsent( - CT_, - () => { - 'canonicalFor': Property( - getValue: (CT_ c) => c.canonicalFor, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'Set', - ), - - renderIterable: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - return c.canonicalFor.map( - (e) => - _render_String(e, ast, r.template, sink, parent: r), - ); - }, - ), + CT_, + () => { + 'canonicalFor': Property( + getValue: (CT_ c) => c.canonicalFor, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'Set', + ), + renderIterable: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + return c.canonicalFor.map( + (e) => _render_String(e, ast, r.template, sink, parent: r), + ); }, - ) - as Map>; + ), + }, + ) as Map>; _Renderer_CanonicalFor( CanonicalFor context, @@ -1174,121 +1065,109 @@ class _Renderer_Categorization extends RendererBase { static final Map _propertyMapCache = {}; static Map> propertyMap() => _propertyMapCache.putIfAbsent( - CT_, - () => { - 'categoryNames': Property( - getValue: (CT_ c) => c.categoryNames, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'List', - ), - - isNullValue: (CT_ c) => c.categoryNames == null, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - renderSimple( - c.categoryNames, - ast, - r.template, - sink, - parent: r, - getters: _invisibleGetters['List']!, - ); - }, - ), - 'displayedCategories': Property( - getValue: (CT_ c) => c.displayedCategories, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'Iterable', - ), - - renderIterable: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - return c.displayedCategories.map( - (e) => _render_Category( - e, - ast, - r.template, - sink, - parent: r, - ), - ); - }, - ), - 'hasCategorization': Property( - getValue: (CT_ c) => c.hasCategorization, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'bool'), - - getBool: (CT_ c) => c.hasCategorization, - ), - 'hasCategoryNames': Property( - getValue: (CT_ c) => c.hasCategoryNames, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'bool'), - - getBool: (CT_ c) => c.hasCategoryNames, - ), - 'hasSubCategoryNames': Property( - getValue: (CT_ c) => c.hasSubCategoryNames, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'bool'), - - getBool: (CT_ c) => c.hasSubCategoryNames, - ), - 'subCategoryNames': Property( - getValue: (CT_ c) => c.subCategoryNames, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'List', - ), - - isNullValue: (CT_ c) => c.subCategoryNames == null, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - renderSimple( - c.subCategoryNames, - ast, - r.template, - sink, - parent: r, - getters: _invisibleGetters['List']!, - ); - }, - ), + CT_, + () => { + 'categoryNames': Property( + getValue: (CT_ c) => c.categoryNames, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'List', + ), + isNullValue: (CT_ c) => c.categoryNames == null, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + renderSimple( + c.categoryNames, + ast, + r.template, + sink, + parent: r, + getters: _invisibleGetters['List']!, + ); + }, + ), + 'displayedCategories': Property( + getValue: (CT_ c) => c.displayedCategories, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'Iterable', + ), + renderIterable: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + return c.displayedCategories.map( + (e) => _render_Category( + e, + ast, + r.template, + sink, + parent: r, + ), + ); }, - ) - as Map>; + ), + 'hasCategorization': Property( + getValue: (CT_ c) => c.hasCategorization, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'bool'), + getBool: (CT_ c) => c.hasCategorization, + ), + 'hasCategoryNames': Property( + getValue: (CT_ c) => c.hasCategoryNames, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'bool'), + getBool: (CT_ c) => c.hasCategoryNames, + ), + 'hasSubCategoryNames': Property( + getValue: (CT_ c) => c.hasSubCategoryNames, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'bool'), + getBool: (CT_ c) => c.hasSubCategoryNames, + ), + 'subCategoryNames': Property( + getValue: (CT_ c) => c.subCategoryNames, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'List', + ), + isNullValue: (CT_ c) => c.subCategoryNames == null, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + renderSimple( + c.subCategoryNames, + ast, + r.template, + sink, + parent: r, + getters: _invisibleGetters['List']!, + ); + }, + ), + }, + ) as Map>; _Renderer_Categorization( Categorization context, @@ -1322,1918 +1201,1729 @@ class _Renderer_Category extends RendererBase { static final Map _propertyMapCache = {}; static Map> propertyMap() => _propertyMapCache.putIfAbsent( - CT_, - () => { - ..._Renderer_Object.propertyMap(), - ..._Renderer_Nameable.propertyMap(), - ..._Renderer_Warnable.propertyMap(), - ..._Renderer_CommentReferable.propertyMap(), - ..._Renderer_Locatable.propertyMap(), - ..._Renderer_MarkdownFileDocumentation.propertyMap(), - ..._Renderer_LibraryContainer.propertyMap(), - ..._Renderer_TopLevelContainer.propertyMap(), - 'aboveSidebarPath': Property( - getValue: (CT_ c) => c.aboveSidebarPath, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => c.aboveSidebarPath == null, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String( - c.aboveSidebarPath!, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'belowSidebarPath': Property( - getValue: (CT_ c) => c.belowSidebarPath, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, + CT_, + () => { + ..._Renderer_Object.propertyMap(), + ..._Renderer_Nameable.propertyMap(), + ..._Renderer_Warnable.propertyMap(), + ..._Renderer_CommentReferable.propertyMap(), + ..._Renderer_Locatable.propertyMap(), + ..._Renderer_MarkdownFileDocumentation.propertyMap(), + ..._Renderer_LibraryContainer.propertyMap(), + ..._Renderer_TopLevelContainer.propertyMap(), + 'aboveSidebarPath': Property( + getValue: (CT_ c) => c.aboveSidebarPath, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => c.aboveSidebarPath == null, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String( + c.aboveSidebarPath!, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'belowSidebarPath': Property( + getValue: (CT_ c) => c.belowSidebarPath, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => c.belowSidebarPath == null, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String( + c.belowSidebarPath!, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'categoryIndex': Property( + getValue: (CT_ c) => c.categoryIndex, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'int'), + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + renderSimple( + c.categoryIndex, + ast, + r.template, + sink, + parent: r, + getters: _invisibleGetters['int']!, + ); + }, + ), + 'categoryLabel': Property( + getValue: (CT_ c) => c.categoryLabel, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String( + c.categoryLabel, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'classes': Property( + getValue: (CT_ c) => c.classes, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'Iterable', + ), + renderIterable: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + return c.classes.map( + (e) => _render_Class(e, ast, r.template, sink, parent: r), + ); + }, + ), + 'config': Property( + getValue: (CT_ c) => c.config, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'DartdocOptionContext', + ), + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + renderSimple( + c.config, + ast, + r.template, + sink, + parent: r, + getters: _invisibleGetters['DartdocOptionContext']!, + ); + }, + ), + 'constants': Property( + getValue: (CT_ c) => c.constants, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'Set', + ), + renderIterable: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + return c.constants.map( + (e) => _render_TopLevelVariable( + e, + ast, + r.template, + sink, + parent: r, + ), + ); + }, + ), + 'containerOrder': Property( + getValue: (CT_ c) => c.containerOrder, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'List', + ), + renderIterable: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + return c.containerOrder.map( + (e) => _render_String(e, ast, r.template, sink, parent: r), + ); + }, + ), + 'documentationFile': Property( + getValue: (CT_ c) => c.documentationFile, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'File'), + isNullValue: (CT_ c) => c.documentationFile == null, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + renderSimple( + c.documentationFile, + ast, + r.template, + sink, + parent: r, + getters: _invisibleGetters['File']!, + ); + }, + ), + 'documentationFrom': Property( + getValue: (CT_ c) => c.documentationFrom, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'List', + ), + renderIterable: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + return c.documentationFrom.map( + (e) => renderSimple( + e, + ast, + r.template, + sink, + parent: r, + getters: _invisibleGetters['Locatable']!, + ), + ); + }, + ), + 'documentedWhere': Property( + getValue: (CT_ c) => c.documentedWhere, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'DocumentLocation', + ), + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + renderSimple( + c.documentedWhere, + ast, + r.template, + sink, + parent: r, + getters: _invisibleGetters['DocumentLocation']!, + ); + }, + ), + 'element': Property( + getValue: (CT_ c) => c.element, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'Element2', + ), + isNullValue: (CT_ c) => c.element == null, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + renderSimple( + c.element, + ast, + r.template, + sink, + parent: r, + getters: _invisibleGetters['Element2']!, + ); + }, + ), + 'enclosingName': Property( + getValue: (CT_ c) => c.enclosingName, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String( + c.enclosingName, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'enums': Property( + getValue: (CT_ c) => c.enums, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'Set', + ), + renderIterable: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + return c.enums.map( + (e) => _render_Enum(e, ast, r.template, sink, parent: r), + ); + }, + ), + 'exceptions': Property( + getValue: (CT_ c) => c.exceptions, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'Iterable', + ), + renderIterable: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + return c.exceptions.map( + (e) => _render_Class(e, ast, r.template, sink, parent: r), + ); + }, + ), + 'extensionTypes': Property( + getValue: (CT_ c) => c.extensionTypes, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'Set', + ), + renderIterable: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + return c.extensionTypes.map( + (e) => _render_ExtensionType( + e, + ast, + r.template, + sink, + parent: r, + ), + ); + }, + ), + 'extensions': Property( + getValue: (CT_ c) => c.extensions, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'Set', + ), + renderIterable: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + return c.extensions.map( + (e) => _render_Extension( + e, + ast, + r.template, + sink, + parent: r, + ), + ); + }, + ), + 'externalItems': Property( + getValue: (CT_ c) => c.externalItems, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'Iterable', + ), + renderIterable: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + return c.externalItems.map( + (e) => _render_ExternalItem( + e, + ast, + r.template, + sink, + parent: r, + ), + ); + }, + ), + 'fileName': Property( + getValue: (CT_ c) => c.fileName, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String( + c.fileName, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'filePath': Property( + getValue: (CT_ c) => c.filePath, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String( + c.filePath, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'functions': Property( + getValue: (CT_ c) => c.functions, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'Set', + ), + renderIterable: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + return c.functions.map( + (e) => _render_ModelFunction( + e, + ast, + r.template, + sink, + parent: r, + ), + ); + }, + ), + 'href': Property( + getValue: (CT_ c) => c.href, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => c.href == null, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String(c.href!, ast, r.template, sink, parent: r); + }, + ), + 'isCanonical': Property( + getValue: (CT_ c) => c.isCanonical, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'bool'), + getBool: (CT_ c) => c.isCanonical, + ), + 'isDocumented': Property( + getValue: (CT_ c) => c.isDocumented, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'bool'), + getBool: (CT_ c) => c.isDocumented, + ), + 'kind': Property( + getValue: (CT_ c) => c.kind, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'Kind'), + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + renderSimple( + c.kind, + ast, + r.template, + sink, + parent: r, + getters: _invisibleGetters['Kind']!, + ); + }, + ), + 'linkedName': Property( + getValue: (CT_ c) => c.linkedName, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String( + c.linkedName, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'mixins': Property( + getValue: (CT_ c) => c.mixins, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'Set', + ), + renderIterable: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + return c.mixins.map( + (e) => _render_Mixin(e, ast, r.template, sink, parent: r), + ); + }, + ), + 'name': Property( + getValue: (CT_ c) => c.name, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String(c.name, ast, r.template, sink, parent: r); + }, + ), + 'package': Property( + getValue: (CT_ c) => c.package, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_Package.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as Package, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_Package( + c.package, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'packageGraph': Property( + getValue: (CT_ c) => c.packageGraph, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'PackageGraph', + ), + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + renderSimple( + c.packageGraph, + ast, + r.template, + sink, + parent: r, + getters: _invisibleGetters['PackageGraph']!, + ); + }, + ), + 'properties': Property( + getValue: (CT_ c) => c.properties, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'Set', + ), + renderIterable: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + return c.properties.map( + (e) => _render_TopLevelVariable( + e, + ast, + r.template, + sink, + parent: r, + ), + ); + }, + ), + 'redirectFilePath': Property( + getValue: (CT_ c) => c.redirectFilePath, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String( + c.redirectFilePath, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'referenceChildren': Property( + getValue: (CT_ c) => c.referenceChildren, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'Map', + ), + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + renderSimple( + c.referenceChildren, + ast, + r.template, + sink, + parent: r, + getters: _invisibleGetters['Map']!, + ); + }, + ), + 'referenceParents': Property( + getValue: (CT_ c) => c.referenceParents, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'Iterable', + ), + renderIterable: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + return c.referenceParents.map( + (e) => renderSimple( + e, + ast, + r.template, + sink, + parent: r, + getters: _invisibleGetters['CommentReferable']!, + ), + ); + }, + ), + 'sortKey': Property( + getValue: (CT_ c) => c.sortKey, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String( + c.sortKey, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'typedefs': Property( + getValue: (CT_ c) => c.typedefs, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'Set', + ), + renderIterable: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + return c.typedefs.map( + (e) => _render_Typedef( + e, + ast, + r.template, + sink, + parent: r, + ), + ); + }, + ), + }, + ) as Map>; - isNullValue: (CT_ c) => c.belowSidebarPath == null, + _Renderer_Category( + Category context, + RendererBase? parent, + Template template, + StringSink sink, + ) : super(context, parent, template, sink); - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String( - c.belowSidebarPath!, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'categoryIndex': Property( - getValue: (CT_ c) => c.categoryIndex, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'int'), + @override + Property? getProperty(String key) { + if (propertyMap().containsKey(key)) { + return propertyMap()[key]; + } else { + return null; + } + } +} - isNullValue: (CT_ c) => false, +String renderCategoryRedirect(CategoryTemplateData context, Template template) { + var buffer = StringBuffer(); + _render_CategoryTemplateData(context, template.ast, template, buffer); + return buffer.toString(); +} - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - renderSimple( - c.categoryIndex, - ast, - r.template, - sink, - parent: r, - getters: _invisibleGetters['int']!, - ); - }, - ), - 'categoryLabel': Property( - getValue: (CT_ c) => c.categoryLabel, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, +void _render_CategoryTemplateData( + CategoryTemplateData context, + List ast, + Template template, + StringSink sink, { + RendererBase? parent, +}) { + var renderer = _Renderer_CategoryTemplateData( + context, + parent, + template, + sink, + ); + renderer.renderBlock(ast); +} - isNullValue: (CT_ c) => false, +class _Renderer_CategoryTemplateData + extends RendererBase { + static final Map _propertyMapCache = {}; + static Map> propertyMap< + CT_ extends CategoryTemplateData>() => + _propertyMapCache.putIfAbsent( + CT_, + () => { + ..._Renderer_TemplateData.propertyMap(), + ..._Renderer_OneDirectoryDown.propertyMap(), + 'category': Property( + getValue: (CT_ c) => c.category, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = + _Renderer_Category.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as Category, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_Category( + c.category, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'layoutTitle': Property( + getValue: (CT_ c) => c.layoutTitle, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String( + c.layoutTitle, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'metaDescription': Property( + getValue: (CT_ c) => c.metaDescription, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String( + c.metaDescription, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'navLinks': Property( + getValue: (CT_ c) => c.navLinks, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'List', + ), + renderIterable: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + return c.navLinks.map( + (e) => _render_Documentable( + e, + ast, + r.template, + sink, + parent: r, + ), + ); + }, + ), + 'self': Property( + getValue: (CT_ c) => c.self, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = + _Renderer_Category.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as Category, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_Category( + c.self, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'title': Property( + getValue: (CT_ c) => c.title, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String(c.title, ast, r.template, sink, parent: r); + }, + ), + }, + ) as Map>; - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String( - c.categoryLabel, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'classes': Property( - getValue: (CT_ c) => c.classes, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'Iterable', - ), - - renderIterable: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - return c.classes.map( - (e) => - _render_Class(e, ast, r.template, sink, parent: r), - ); - }, - ), - 'config': Property( - getValue: (CT_ c) => c.config, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'DartdocOptionContext', - ), + _Renderer_CategoryTemplateData( + CategoryTemplateData context, + RendererBase? parent, + Template template, + StringSink sink, + ) : super(context, parent, template, sink); - isNullValue: (CT_ c) => false, + @override + Property? getProperty(String key) { + if (propertyMap().containsKey(key)) { + return propertyMap()[key]; + } else { + return null; + } + } +} - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - renderSimple( - c.config, - ast, - r.template, - sink, - parent: r, - getters: _invisibleGetters['DartdocOptionContext']!, - ); - }, - ), - 'constants': Property( - getValue: (CT_ c) => c.constants, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'Set', - ), - - renderIterable: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - return c.constants.map( - (e) => _render_TopLevelVariable( - e, - ast, - r.template, - sink, - parent: r, - ), - ); - }, - ), - 'containerOrder': Property( - getValue: (CT_ c) => c.containerOrder, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'List', - ), - - renderIterable: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - return c.containerOrder.map( - (e) => - _render_String(e, ast, r.template, sink, parent: r), - ); - }, - ), - 'documentationFile': Property( - getValue: (CT_ c) => c.documentationFile, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'File'), - - isNullValue: (CT_ c) => c.documentationFile == null, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - renderSimple( - c.documentationFile, - ast, - r.template, - sink, - parent: r, - getters: _invisibleGetters['File']!, - ); - }, - ), - 'documentationFrom': Property( - getValue: (CT_ c) => c.documentationFrom, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'List', - ), - - renderIterable: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - return c.documentationFrom.map( - (e) => renderSimple( - e, - ast, - r.template, - sink, - parent: r, - getters: _invisibleGetters['Locatable']!, - ), - ); - }, - ), - 'documentedWhere': Property( - getValue: (CT_ c) => c.documentedWhere, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'DocumentLocation', - ), +String renderCategory(CategoryTemplateData context, Template template) { + var buffer = StringBuffer(); + _render_CategoryTemplateData(context, template.ast, template, buffer); + return buffer.toString(); +} - isNullValue: (CT_ c) => false, +void _render_Class( + Class context, + List ast, + Template template, + StringSink sink, { + RendererBase? parent, +}) { + var renderer = _Renderer_Class(context, parent, template, sink); + renderer.renderBlock(ast); +} - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - renderSimple( - c.documentedWhere, - ast, - r.template, - sink, - parent: r, - getters: _invisibleGetters['DocumentLocation']!, - ); - }, - ), - 'element': Property( - getValue: (CT_ c) => c.element, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'Element2', - ), - - isNullValue: (CT_ c) => c.element == null, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - renderSimple( - c.element, - ast, - r.template, - sink, - parent: r, - getters: _invisibleGetters['Element2']!, - ); - }, - ), - 'enclosingName': Property( - getValue: (CT_ c) => c.enclosingName, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String( - c.enclosingName, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'enums': Property( - getValue: (CT_ c) => c.enums, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'Set', - ), - - renderIterable: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - return c.enums.map( - (e) => - _render_Enum(e, ast, r.template, sink, parent: r), - ); - }, - ), - 'exceptions': Property( - getValue: (CT_ c) => c.exceptions, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'Iterable', - ), - - renderIterable: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - return c.exceptions.map( - (e) => - _render_Class(e, ast, r.template, sink, parent: r), - ); - }, - ), - 'extensionTypes': Property( - getValue: (CT_ c) => c.extensionTypes, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'Set', - ), - - renderIterable: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - return c.extensionTypes.map( - (e) => _render_ExtensionType( - e, - ast, - r.template, - sink, - parent: r, - ), - ); - }, - ), - 'extensions': Property( - getValue: (CT_ c) => c.extensions, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'Set', - ), - - renderIterable: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - return c.extensions.map( - (e) => _render_Extension( - e, - ast, - r.template, - sink, - parent: r, - ), - ); - }, - ), - 'externalItems': Property( - getValue: (CT_ c) => c.externalItems, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'Iterable', - ), - - renderIterable: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - return c.externalItems.map( - (e) => _render_ExternalItem( - e, - ast, - r.template, - sink, - parent: r, - ), - ); - }, - ), - 'fileName': Property( - getValue: (CT_ c) => c.fileName, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String( - c.fileName, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'filePath': Property( - getValue: (CT_ c) => c.filePath, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String( - c.filePath, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'functions': Property( - getValue: (CT_ c) => c.functions, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'Set', - ), - - renderIterable: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - return c.functions.map( - (e) => _render_ModelFunction( - e, - ast, - r.template, - sink, - parent: r, - ), - ); - }, - ), - 'href': Property( - getValue: (CT_ c) => c.href, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => c.href == null, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String(c.href!, ast, r.template, sink, parent: r); - }, - ), - 'isCanonical': Property( - getValue: (CT_ c) => c.isCanonical, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'bool'), - - getBool: (CT_ c) => c.isCanonical, - ), - 'isDocumented': Property( - getValue: (CT_ c) => c.isDocumented, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'bool'), - - getBool: (CT_ c) => c.isDocumented, - ), - 'kind': Property( - getValue: (CT_ c) => c.kind, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'Kind'), - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - renderSimple( - c.kind, - ast, - r.template, - sink, - parent: r, - getters: _invisibleGetters['Kind']!, - ); - }, - ), - 'linkedName': Property( - getValue: (CT_ c) => c.linkedName, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String( - c.linkedName, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'mixins': Property( - getValue: (CT_ c) => c.mixins, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'Set', - ), - - renderIterable: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - return c.mixins.map( - (e) => - _render_Mixin(e, ast, r.template, sink, parent: r), - ); - }, - ), - 'name': Property( - getValue: (CT_ c) => c.name, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String(c.name, ast, r.template, sink, parent: r); - }, - ), - 'package': Property( - getValue: (CT_ c) => c.package, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_Package.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as Package, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_Package( - c.package, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'packageGraph': Property( - getValue: (CT_ c) => c.packageGraph, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'PackageGraph', - ), - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - renderSimple( - c.packageGraph, - ast, - r.template, - sink, - parent: r, - getters: _invisibleGetters['PackageGraph']!, - ); - }, - ), - 'properties': Property( - getValue: (CT_ c) => c.properties, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'Set', - ), - - renderIterable: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - return c.properties.map( - (e) => _render_TopLevelVariable( - e, - ast, - r.template, - sink, - parent: r, - ), - ); - }, - ), - 'redirectFilePath': Property( - getValue: (CT_ c) => c.redirectFilePath, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String( - c.redirectFilePath, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'referenceChildren': Property( - getValue: (CT_ c) => c.referenceChildren, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'Map', - ), - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - renderSimple( - c.referenceChildren, - ast, - r.template, - sink, - parent: r, - getters: _invisibleGetters['Map']!, - ); - }, - ), - 'referenceParents': Property( - getValue: (CT_ c) => c.referenceParents, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'Iterable', - ), - - renderIterable: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - return c.referenceParents.map( - (e) => renderSimple( - e, - ast, - r.template, - sink, - parent: r, - getters: _invisibleGetters['CommentReferable']!, - ), - ); - }, - ), - 'sortKey': Property( - getValue: (CT_ c) => c.sortKey, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String( - c.sortKey, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'typedefs': Property( - getValue: (CT_ c) => c.typedefs, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'Set', - ), - - renderIterable: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - return c.typedefs.map( - (e) => _render_Typedef( - e, - ast, - r.template, - sink, - parent: r, - ), - ); - }, - ), +class _Renderer_Class extends RendererBase { + static final Map _propertyMapCache = {}; + static Map> propertyMap() => + _propertyMapCache.putIfAbsent( + CT_, + () => { + ..._Renderer_InheritingContainer.propertyMap(), + ..._Renderer_Constructable.propertyMap(), + ..._Renderer_MixedInTypes.propertyMap(), + 'allModelElements': Property( + getValue: (CT_ c) => c.allModelElements, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'List', + ), + renderIterable: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + return c.allModelElements.map( + (e) => _render_ModelElement( + e, + ast, + r.template, + sink, + parent: r, + ), + ); + }, + ), + 'element': Property( + getValue: (CT_ c) => c.element, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'ClassElement2', + ), + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + renderSimple( + c.element, + ast, + r.template, + sink, + parent: r, + getters: _invisibleGetters['ClassElement2']!, + ); + }, + ), + 'fileName': Property( + getValue: (CT_ c) => c.fileName, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); }, - ) - as Map>; + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String( + c.fileName, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'inheritanceChain': Property( + getValue: (CT_ c) => c.inheritanceChain, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'List', + ), + renderIterable: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + return c.inheritanceChain.map( + (e) => _render_InheritingContainer( + e, + ast, + r.template, + sink, + parent: r, + ), + ); + }, + ), + 'isAbstract': Property( + getValue: (CT_ c) => c.isAbstract, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'bool'), + getBool: (CT_ c) => c.isAbstract, + ), + 'isBase': Property( + getValue: (CT_ c) => c.isBase, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'bool'), + getBool: (CT_ c) => c.isBase, + ), + 'isErrorOrException': Property( + getValue: (CT_ c) => c.isErrorOrException, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'bool'), + getBool: (CT_ c) => c.isErrorOrException, + ), + 'isFinal': Property( + getValue: (CT_ c) => c.isFinal, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'bool'), + getBool: (CT_ c) => c.isFinal, + ), + 'isImplementableInterface': Property( + getValue: (CT_ c) => c.isImplementableInterface, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'bool'), + getBool: (CT_ c) => c.isImplementableInterface, + ), + 'isMixinClass': Property( + getValue: (CT_ c) => c.isMixinClass, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'bool'), + getBool: (CT_ c) => c.isMixinClass, + ), + 'isSealed': Property( + getValue: (CT_ c) => c.isSealed, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'bool'), + getBool: (CT_ c) => c.isSealed, + ), + 'kind': Property( + getValue: (CT_ c) => c.kind, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'Kind'), + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + renderSimple( + c.kind, + ast, + r.template, + sink, + parent: r, + getters: _invisibleGetters['Kind']!, + ); + }, + ), + 'relationshipsClass': Property( + getValue: (CT_ c) => c.relationshipsClass, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String( + c.relationshipsClass, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'sidebarPath': Property( + getValue: (CT_ c) => c.sidebarPath, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String( + c.sidebarPath, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + }, + ) as Map>; - _Renderer_Category( - Category context, + _Renderer_Class( + Class context, RendererBase? parent, Template template, StringSink sink, ) : super(context, parent, template, sink); @override - Property? getProperty(String key) { - if (propertyMap().containsKey(key)) { - return propertyMap()[key]; + Property? getProperty(String key) { + if (propertyMap().containsKey(key)) { + return propertyMap()[key]; } else { return null; } } } -String renderCategoryRedirect(CategoryTemplateData context, Template template) { +String renderClass(ClassTemplateData context, Template template) { var buffer = StringBuffer(); - _render_CategoryTemplateData(context, template.ast, template, buffer); + _render_ClassTemplateData(context, template.ast, template, buffer); return buffer.toString(); } -void _render_CategoryTemplateData( - CategoryTemplateData context, +void _render_ClassTemplateData( + ClassTemplateData context, List ast, Template template, StringSink sink, { RendererBase? parent, }) { - var renderer = _Renderer_CategoryTemplateData( - context, - parent, - template, - sink, - ); + var renderer = _Renderer_ClassTemplateData(context, parent, template, sink); renderer.renderBlock(ast); } -class _Renderer_CategoryTemplateData - extends RendererBase { +class _Renderer_ClassTemplateData extends RendererBase { static final Map _propertyMapCache = {}; static Map> - propertyMap() => - _propertyMapCache.putIfAbsent( + propertyMap() => + _propertyMapCache.putIfAbsent( CT_, () => { - ..._Renderer_TemplateData.propertyMap(), - ..._Renderer_OneDirectoryDown.propertyMap(), - 'category': Property( - getValue: (CT_ c) => c.category, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_Category.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as Category, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_Category( - c.category, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'layoutTitle': Property( - getValue: (CT_ c) => c.layoutTitle, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String( - c.layoutTitle, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'metaDescription': Property( - getValue: (CT_ c) => c.metaDescription, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String( - c.metaDescription, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'navLinks': Property( - getValue: (CT_ c) => c.navLinks, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'List', - ), - - renderIterable: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - return c.navLinks.map( - (e) => _render_Documentable( - e, - ast, - r.template, - sink, - parent: r, - ), - ); - }, - ), - 'self': Property( - getValue: (CT_ c) => c.self, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_Category.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as Category, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_Category( - c.self, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'title': Property( - getValue: (CT_ c) => c.title, + ..._Renderer_InheritingContainerTemplateData.propertyMap(), + 'clazz': Property( + getValue: (CT_ c) => c.clazz, renderVariable: (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String(c.title, ast, r.template, sink, parent: r); - }, + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_Class.propertyMap().getValue( + name, + ); + return nextProperty.renderVariable( + self.getValue(c) as Class, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_Class(c.clazz, ast, r.template, sink, parent: r); + }, ), }, - ) - as Map>; + ) as Map>; - _Renderer_CategoryTemplateData( - CategoryTemplateData context, + _Renderer_ClassTemplateData( + ClassTemplateData context, RendererBase? parent, Template template, StringSink sink, ) : super(context, parent, template, sink); @override - Property? getProperty(String key) { - if (propertyMap().containsKey(key)) { - return propertyMap()[key]; + Property? getProperty(String key) { + if (propertyMap().containsKey(key)) { + return propertyMap()[key]; } else { return null; } } } -String renderCategory(CategoryTemplateData context, Template template) { - var buffer = StringBuffer(); - _render_CategoryTemplateData(context, template.ast, template, buffer); - return buffer.toString(); -} - -void _render_Class( - Class context, - List ast, - Template template, - StringSink sink, { - RendererBase? parent, -}) { - var renderer = _Renderer_Class(context, parent, template, sink); - renderer.renderBlock(ast); -} - -class _Renderer_Class extends RendererBase { +class _Renderer_CommentReferable extends RendererBase { static final Map _propertyMapCache = {}; - static Map> propertyMap() => + static Map> propertyMap< + CT_ extends CommentReferable>() => _propertyMapCache.putIfAbsent( - CT_, - () => { - ..._Renderer_InheritingContainer.propertyMap(), - ..._Renderer_Constructable.propertyMap(), - ..._Renderer_MixedInTypes.propertyMap(), - 'allModelElements': Property( - getValue: (CT_ c) => c.allModelElements, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'List', - ), - - renderIterable: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - return c.allModelElements.map( - (e) => _render_ModelElement( - e, - ast, - r.template, - sink, - parent: r, - ), - ); - }, - ), - 'element': Property( - getValue: (CT_ c) => c.element, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'ClassElement2', - ), - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - renderSimple( - c.element, - ast, - r.template, - sink, - parent: r, - getters: _invisibleGetters['ClassElement2']!, - ); - }, - ), - 'fileName': Property( - getValue: (CT_ c) => c.fileName, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String( - c.fileName, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'inheritanceChain': Property( - getValue: (CT_ c) => c.inheritanceChain, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'List', - ), - - renderIterable: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - return c.inheritanceChain.map( - (e) => _render_InheritingContainer( - e, - ast, - r.template, - sink, - parent: r, - ), - ); - }, - ), - 'isAbstract': Property( - getValue: (CT_ c) => c.isAbstract, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'bool'), - - getBool: (CT_ c) => c.isAbstract, - ), - 'isBase': Property( - getValue: (CT_ c) => c.isBase, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'bool'), - - getBool: (CT_ c) => c.isBase, - ), - 'isErrorOrException': Property( - getValue: (CT_ c) => c.isErrorOrException, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'bool'), - - getBool: (CT_ c) => c.isErrorOrException, - ), - 'isFinal': Property( - getValue: (CT_ c) => c.isFinal, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'bool'), - - getBool: (CT_ c) => c.isFinal, - ), - 'isImplementableInterface': Property( - getValue: (CT_ c) => c.isImplementableInterface, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'bool'), - - getBool: (CT_ c) => c.isImplementableInterface, - ), - 'isMixinClass': Property( - getValue: (CT_ c) => c.isMixinClass, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'bool'), - - getBool: (CT_ c) => c.isMixinClass, - ), - 'isSealed': Property( - getValue: (CT_ c) => c.isSealed, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'bool'), - - getBool: (CT_ c) => c.isSealed, - ), - 'kind': Property( - getValue: (CT_ c) => c.kind, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'Kind'), - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - renderSimple( - c.kind, - ast, - r.template, - sink, - parent: r, - getters: _invisibleGetters['Kind']!, - ); - }, - ), - 'relationshipsClass': Property( - getValue: (CT_ c) => c.relationshipsClass, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String( - c.relationshipsClass, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'sidebarPath': Property( - getValue: (CT_ c) => c.sidebarPath, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String( - c.sidebarPath, - ast, - r.template, - sink, - parent: r, - ); - }, - ), + CT_, + () => { + 'href': Property( + getValue: (CT_ c) => c.href, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); }, - ) - as Map>; - - _Renderer_Class( - Class context, - RendererBase? parent, - Template template, - StringSink sink, - ) : super(context, parent, template, sink); - - @override - Property? getProperty(String key) { - if (propertyMap().containsKey(key)) { - return propertyMap()[key]; - } else { - return null; - } - } -} - -String renderClass(ClassTemplateData context, Template template) { - var buffer = StringBuffer(); - _render_ClassTemplateData(context, template.ast, template, buffer); - return buffer.toString(); -} - -void _render_ClassTemplateData( - ClassTemplateData context, - List ast, - Template template, - StringSink sink, { - RendererBase? parent, -}) { - var renderer = _Renderer_ClassTemplateData(context, parent, template, sink); - renderer.renderBlock(ast); -} - -class _Renderer_ClassTemplateData extends RendererBase { - static final Map _propertyMapCache = {}; - static Map> - propertyMap() => - _propertyMapCache.putIfAbsent( - CT_, - () => { - ..._Renderer_InheritingContainerTemplateData.propertyMap< - Class, - CT_ - >(), - 'clazz': Property( - getValue: (CT_ c) => c.clazz, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_Class.propertyMap().getValue( - name, - ); - return nextProperty.renderVariable( - self.getValue(c) as Class, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_Class(c.clazz, ast, r.template, sink, parent: r); - }, - ), + isNullValue: (CT_ c) => c.href == null, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String(c.href!, ast, r.template, sink, parent: r); }, - ) - as Map>; - - _Renderer_ClassTemplateData( - ClassTemplateData context, - RendererBase? parent, - Template template, - StringSink sink, - ) : super(context, parent, template, sink); - - @override - Property? getProperty(String key) { - if (propertyMap().containsKey(key)) { - return propertyMap()[key]; - } else { - return null; - } - } -} - -class _Renderer_CommentReferable extends RendererBase { - static final Map _propertyMapCache = {}; - static Map> - propertyMap() => - _propertyMapCache.putIfAbsent( - CT_, - () => { - 'href': Property( - getValue: (CT_ c) => c.href, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => c.href == null, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String(c.href!, ast, r.template, sink, parent: r); - }, - ), - 'library': Property( - getValue: (CT_ c) => c.library, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_Library.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as Library, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => c.library == null, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_Library( - c.library!, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'referenceChildren': Property( - getValue: (CT_ c) => c.referenceChildren, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'Map', - ), - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - renderSimple( - c.referenceChildren, - ast, - r.template, - sink, - parent: r, - getters: _invisibleGetters['Map']!, - ); - }, - ), - 'referenceGrandparentOverrides': Property( - getValue: (CT_ c) => c.referenceGrandparentOverrides, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'Iterable', - ), - - isNullValue: (CT_ c) => c.referenceGrandparentOverrides == null, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - renderSimple( - c.referenceGrandparentOverrides, - ast, - r.template, - sink, - parent: r, - getters: _invisibleGetters['Iterable']!, - ); - }, - ), - 'referenceName': Property( - getValue: (CT_ c) => c.referenceName, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String( - c.referenceName, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'referenceParents': Property( - getValue: (CT_ c) => c.referenceParents, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'Iterable', - ), - - renderIterable: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - return c.referenceParents.map( - (e) => renderSimple( - e, - ast, - r.template, - sink, - parent: r, - getters: _invisibleGetters['CommentReferable']!, - ), - ); - }, - ), - 'scope': Property( - getValue: (CT_ c) => c.scope, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'Scope'), - - isNullValue: (CT_ c) => c.scope == null, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - renderSimple( - c.scope, - ast, - r.template, - sink, - parent: r, - getters: _invisibleGetters['Scope']!, - ); - }, - ), + ), + 'library': Property( + getValue: (CT_ c) => c.library, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_Library.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as Library, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => c.library == null, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_Library( + c.library!, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'referenceChildren': Property( + getValue: (CT_ c) => c.referenceChildren, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'Map', + ), + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + renderSimple( + c.referenceChildren, + ast, + r.template, + sink, + parent: r, + getters: _invisibleGetters['Map']!, + ); + }, + ), + 'referenceGrandparentOverrides': Property( + getValue: (CT_ c) => c.referenceGrandparentOverrides, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'Iterable', + ), + isNullValue: (CT_ c) => c.referenceGrandparentOverrides == null, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + renderSimple( + c.referenceGrandparentOverrides, + ast, + r.template, + sink, + parent: r, + getters: _invisibleGetters['Iterable']!, + ); + }, + ), + 'referenceName': Property( + getValue: (CT_ c) => c.referenceName, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String( + c.referenceName, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'referenceParents': Property( + getValue: (CT_ c) => c.referenceParents, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'Iterable', + ), + renderIterable: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + return c.referenceParents.map( + (e) => renderSimple( + e, + ast, + r.template, + sink, + parent: r, + getters: _invisibleGetters['CommentReferable']!, + ), + ); }, - ) - as Map>; + ), + 'scope': Property( + getValue: (CT_ c) => c.scope, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'Scope'), + isNullValue: (CT_ c) => c.scope == null, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + renderSimple( + c.scope, + ast, + r.template, + sink, + parent: r, + getters: _invisibleGetters['Scope']!, + ); + }, + ), + }, + ) as Map>; _Renderer_CommentReferable( CommentReferable context, @@ -3256,75 +2946,69 @@ class _Renderer_Constructable extends RendererBase { static final Map _propertyMapCache = {}; static Map> propertyMap() => _propertyMapCache.putIfAbsent( - CT_, - () => { - 'constructors': Property( - getValue: (CT_ c) => c.constructors, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'List', - ), - - renderIterable: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - return c.constructors.map( - (e) => _render_Constructor( - e, - ast, - r.template, - sink, - parent: r, - ), - ); - }, - ), - 'hasPublicConstructors': Property( - getValue: (CT_ c) => c.hasPublicConstructors, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'bool'), - - getBool: (CT_ c) => c.hasPublicConstructors, - ), - 'publicConstructorsSorted': Property( - getValue: (CT_ c) => c.publicConstructorsSorted, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'List', - ), - - renderIterable: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - return c.publicConstructorsSorted.map( - (e) => _render_Constructor( - e, - ast, - r.template, - sink, - parent: r, - ), - ); - }, - ), + CT_, + () => { + 'constructors': Property( + getValue: (CT_ c) => c.constructors, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'List', + ), + renderIterable: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + return c.constructors.map( + (e) => _render_Constructor( + e, + ast, + r.template, + sink, + parent: r, + ), + ); }, - ) - as Map>; + ), + 'hasPublicConstructors': Property( + getValue: (CT_ c) => c.hasPublicConstructors, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'bool'), + getBool: (CT_ c) => c.hasPublicConstructors, + ), + 'publicConstructorsSorted': Property( + getValue: (CT_ c) => c.publicConstructorsSorted, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'List', + ), + renderIterable: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + return c.publicConstructorsSorted.map( + (e) => _render_Constructor( + e, + ast, + r.template, + sink, + parent: r, + ), + ); + }, + ), + }, + ) as Map>; _Renderer_Constructable( Constructable context, @@ -3358,565 +3042,504 @@ class _Renderer_Constructor extends RendererBase { static final Map _propertyMapCache = {}; static Map> propertyMap() => _propertyMapCache.putIfAbsent( - CT_, - () => { - ..._Renderer_ModelElement.propertyMap(), - ..._Renderer_ContainerMember.propertyMap(), - ..._Renderer_TypeParameters.propertyMap(), - 'aboveSidebarPath': Property( - getValue: (CT_ c) => c.aboveSidebarPath, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String( - c.aboveSidebarPath, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'belowSidebarPath': Property( - getValue: (CT_ c) => c.belowSidebarPath, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => c.belowSidebarPath == null, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String( - c.belowSidebarPath!, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'characterLocation': Property( - getValue: (CT_ c) => c.characterLocation, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'CharacterLocation', - ), - - isNullValue: (CT_ c) => c.characterLocation == null, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - renderSimple( - c.characterLocation, - ast, - r.template, - sink, - parent: r, - getters: _invisibleGetters['CharacterLocation']!, - ); - }, - ), - 'element': Property( - getValue: (CT_ c) => c.element, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'ConstructorElement2', - ), - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - renderSimple( - c.element, - ast, - r.template, - sink, - parent: r, - getters: _invisibleGetters['ConstructorElement2']!, - ); - }, - ), - 'enclosingElement': Property( - getValue: (CT_ c) => c.enclosingElement, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_Container.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as Container, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_Container( - c.enclosingElement, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'fileName': Property( - getValue: (CT_ c) => c.fileName, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String( - c.fileName, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'fullKind': Property( - getValue: (CT_ c) => c.fullKind, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String( - c.fullKind, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'fullyQualifiedName': Property( - getValue: (CT_ c) => c.fullyQualifiedName, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String( - c.fullyQualifiedName, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'isConst': Property( - getValue: (CT_ c) => c.isConst, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'bool'), - - getBool: (CT_ c) => c.isConst, - ), - 'isFactory': Property( - getValue: (CT_ c) => c.isFactory, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'bool'), - - getBool: (CT_ c) => c.isFactory, - ), - 'isPublic': Property( - getValue: (CT_ c) => c.isPublic, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'bool'), - - getBool: (CT_ c) => c.isPublic, - ), - 'isUnnamedConstructor': Property( - getValue: (CT_ c) => c.isUnnamedConstructor, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'bool'), - - getBool: (CT_ c) => c.isUnnamedConstructor, - ), - 'kind': Property( - getValue: (CT_ c) => c.kind, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'Kind'), - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - renderSimple( - c.kind, - ast, - r.template, - sink, - parent: r, - getters: _invisibleGetters['Kind']!, - ); - }, - ), - 'modelType': Property( - getValue: (CT_ c) => c.modelType, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_Callable.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as Callable, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_Callable( - c.modelType, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'name': Property( - getValue: (CT_ c) => c.name, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String(c.name, ast, r.template, sink, parent: r); - }, - ), - 'nameWithGenerics': Property( - getValue: (CT_ c) => c.nameWithGenerics, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String( - c.nameWithGenerics, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'referenceChildren': Property( - getValue: (CT_ c) => c.referenceChildren, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'Map', - ), - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - renderSimple( - c.referenceChildren, - ast, - r.template, - sink, - parent: r, - getters: _invisibleGetters['Map']!, - ); - }, - ), - 'referenceName': Property( - getValue: (CT_ c) => c.referenceName, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String( - c.referenceName, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'shortName': Property( - getValue: (CT_ c) => c.shortName, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => c.shortName == null, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String( - c.shortName!, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'typeParameters': Property( - getValue: (CT_ c) => c.typeParameters, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'List', - ), - - renderIterable: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - return c.typeParameters.map( - (e) => _render_TypeParameter( - e, - ast, - r.template, - sink, - parent: r, - ), - ); - }, - ), + CT_, + () => { + ..._Renderer_ModelElement.propertyMap(), + ..._Renderer_ContainerMember.propertyMap(), + ..._Renderer_TypeParameters.propertyMap(), + 'aboveSidebarPath': Property( + getValue: (CT_ c) => c.aboveSidebarPath, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String( + c.aboveSidebarPath, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'belowSidebarPath': Property( + getValue: (CT_ c) => c.belowSidebarPath, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => c.belowSidebarPath == null, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String( + c.belowSidebarPath!, + ast, + r.template, + sink, + parent: r, + ); }, - ) - as Map>; + ), + 'characterLocation': Property( + getValue: (CT_ c) => c.characterLocation, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'CharacterLocation', + ), + isNullValue: (CT_ c) => c.characterLocation == null, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + renderSimple( + c.characterLocation, + ast, + r.template, + sink, + parent: r, + getters: _invisibleGetters['CharacterLocation']!, + ); + }, + ), + 'element': Property( + getValue: (CT_ c) => c.element, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'ConstructorElement2', + ), + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + renderSimple( + c.element, + ast, + r.template, + sink, + parent: r, + getters: _invisibleGetters['ConstructorElement2']!, + ); + }, + ), + 'enclosingElement': Property( + getValue: (CT_ c) => c.enclosingElement, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = + _Renderer_Container.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as Container, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_Container( + c.enclosingElement, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'fileName': Property( + getValue: (CT_ c) => c.fileName, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String( + c.fileName, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'fullKind': Property( + getValue: (CT_ c) => c.fullKind, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String( + c.fullKind, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'fullyQualifiedName': Property( + getValue: (CT_ c) => c.fullyQualifiedName, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String( + c.fullyQualifiedName, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'isConst': Property( + getValue: (CT_ c) => c.isConst, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'bool'), + getBool: (CT_ c) => c.isConst, + ), + 'isFactory': Property( + getValue: (CT_ c) => c.isFactory, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'bool'), + getBool: (CT_ c) => c.isFactory, + ), + 'isPublic': Property( + getValue: (CT_ c) => c.isPublic, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'bool'), + getBool: (CT_ c) => c.isPublic, + ), + 'isUnnamedConstructor': Property( + getValue: (CT_ c) => c.isUnnamedConstructor, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'bool'), + getBool: (CT_ c) => c.isUnnamedConstructor, + ), + 'kind': Property( + getValue: (CT_ c) => c.kind, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'Kind'), + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + renderSimple( + c.kind, + ast, + r.template, + sink, + parent: r, + getters: _invisibleGetters['Kind']!, + ); + }, + ), + 'modelType': Property( + getValue: (CT_ c) => c.modelType, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = + _Renderer_Callable.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as Callable, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_Callable( + c.modelType, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'name': Property( + getValue: (CT_ c) => c.name, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String(c.name, ast, r.template, sink, parent: r); + }, + ), + 'nameWithGenerics': Property( + getValue: (CT_ c) => c.nameWithGenerics, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String( + c.nameWithGenerics, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'referenceChildren': Property( + getValue: (CT_ c) => c.referenceChildren, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'Map', + ), + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + renderSimple( + c.referenceChildren, + ast, + r.template, + sink, + parent: r, + getters: _invisibleGetters['Map']!, + ); + }, + ), + 'referenceName': Property( + getValue: (CT_ c) => c.referenceName, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String( + c.referenceName, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'shortName': Property( + getValue: (CT_ c) => c.shortName, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => c.shortName == null, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String( + c.shortName!, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'typeParameters': Property( + getValue: (CT_ c) => c.typeParameters, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'List', + ), + renderIterable: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + return c.typeParameters.map( + (e) => _render_TypeParameter( + e, + ast, + r.template, + sink, + parent: r, + ), + ); + }, + ), + }, + ) as Map>; _Renderer_Constructor( Constructor context, @@ -3960,347 +3583,314 @@ void _render_ConstructorTemplateData( class _Renderer_ConstructorTemplateData extends RendererBase { static final Map _propertyMapCache = {}; - static Map> - propertyMap() => + static Map> propertyMap< + CT_ extends ConstructorTemplateData>() => _propertyMapCache.putIfAbsent( - CT_, - () => { - ..._Renderer_TemplateData.propertyMap(), - ..._Renderer_TwoDirectoriesDown.propertyMap(), - 'constructable': Property( - getValue: (CT_ c) => c.constructable, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_Constructable.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as Constructable, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - renderSimple( - c.constructable, - ast, - r.template, - sink, - parent: r, - getters: _invisibleGetters['Constructable']!, - ); - }, - ), - 'constructor': Property( - getValue: (CT_ c) => c.constructor, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_Constructor.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as Constructor, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_Constructor( - c.constructor, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'container': Property( - getValue: (CT_ c) => c.container, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_Container.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as Container, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_Container( - c.container, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'layoutTitle': Property( - getValue: (CT_ c) => c.layoutTitle, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String( - c.layoutTitle, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'library': Property( - getValue: (CT_ c) => c.library, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_Library.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as Library, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_Library( - c.library, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'metaDescription': Property( - getValue: (CT_ c) => c.metaDescription, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String( - c.metaDescription, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'navLinks': Property( - getValue: (CT_ c) => c.navLinks, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'List', - ), - - renderIterable: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - return c.navLinks.map( - (e) => _render_Documentable( - e, - ast, - r.template, - sink, - parent: r, - ), - ); - }, - ), - 'navLinksWithGenerics': Property( - getValue: (CT_ c) => c.navLinksWithGenerics, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'List', - ), - - renderIterable: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - return c.navLinksWithGenerics.map( - (e) => _render_Container( - e, - ast, - r.template, - sink, - parent: r, - ), - ); - }, - ), - 'self': Property( - getValue: (CT_ c) => c.self, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_Constructor.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as Constructor, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_Constructor( - c.self, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'title': Property( - getValue: (CT_ c) => c.title, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String(c.title, ast, r.template, sink, parent: r); - }, - ), + CT_, + () => { + ..._Renderer_TemplateData.propertyMap(), + ..._Renderer_TwoDirectoriesDown.propertyMap(), + 'constructable': Property( + getValue: (CT_ c) => c.constructable, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = + _Renderer_Constructable.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as Constructable, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + renderSimple( + c.constructable, + ast, + r.template, + sink, + parent: r, + getters: _invisibleGetters['Constructable']!, + ); + }, + ), + 'constructor': Property( + getValue: (CT_ c) => c.constructor, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = + _Renderer_Constructor.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as Constructor, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_Constructor( + c.constructor, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'container': Property( + getValue: (CT_ c) => c.container, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = + _Renderer_Container.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as Container, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_Container( + c.container, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'layoutTitle': Property( + getValue: (CT_ c) => c.layoutTitle, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String( + c.layoutTitle, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'library': Property( + getValue: (CT_ c) => c.library, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_Library.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as Library, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_Library( + c.library, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'metaDescription': Property( + getValue: (CT_ c) => c.metaDescription, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String( + c.metaDescription, + ast, + r.template, + sink, + parent: r, + ); }, - ) - as Map>; + ), + 'navLinks': Property( + getValue: (CT_ c) => c.navLinks, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'List', + ), + renderIterable: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + return c.navLinks.map( + (e) => _render_Documentable( + e, + ast, + r.template, + sink, + parent: r, + ), + ); + }, + ), + 'navLinksWithGenerics': Property( + getValue: (CT_ c) => c.navLinksWithGenerics, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'List', + ), + renderIterable: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + return c.navLinksWithGenerics.map( + (e) => _render_Container( + e, + ast, + r.template, + sink, + parent: r, + ), + ); + }, + ), + 'self': Property( + getValue: (CT_ c) => c.self, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = + _Renderer_Constructor.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as Constructor, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_Constructor( + c.self, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'title': Property( + getValue: (CT_ c) => c.title, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String(c.title, ast, r.template, sink, parent: r); + }, + ), + }, + ) as Map>; _Renderer_ConstructorTemplateData( ConstructorTemplateData context, @@ -4334,3716 +3924,5084 @@ class _Renderer_Container extends RendererBase { static final Map _propertyMapCache = {}; static Map> propertyMap() => _propertyMapCache.putIfAbsent( - CT_, - () => { - ..._Renderer_ModelElement.propertyMap(), - ..._Renderer_Categorization.propertyMap(), - ..._Renderer_TypeParameters.propertyMap(), - 'aboveSidebarPath': Property( - getValue: (CT_ c) => c.aboveSidebarPath, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String( - c.aboveSidebarPath, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'allCanonicalModelElements': Property( - getValue: (CT_ c) => c.allCanonicalModelElements, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'List', - ), - - renderIterable: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - return c.allCanonicalModelElements.map( - (e) => _render_ModelElement( - e, - ast, - r.template, - sink, - parent: r, - ), - ); - }, - ), - 'allModelElements': Property( - getValue: (CT_ c) => c.allModelElements, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'Iterable', - ), - - renderIterable: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - return c.allModelElements.map( - (e) => _render_ModelElement( - e, - ast, - r.template, - sink, - parent: r, - ), - ); - }, - ), - 'availableInstanceFieldsSorted': Property( - getValue: (CT_ c) => c.availableInstanceFieldsSorted, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'List', - ), - - renderIterable: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - return c.availableInstanceFieldsSorted.map( - (e) => - _render_Field(e, ast, r.template, sink, parent: r), - ); - }, - ), - 'availableInstanceMethodsSorted': Property( - getValue: (CT_ c) => c.availableInstanceMethodsSorted, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'List', - ), - - renderIterable: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - return c.availableInstanceMethodsSorted.map( - (e) => - _render_Method(e, ast, r.template, sink, parent: r), - ); - }, - ), - 'availableInstanceOperatorsSorted': Property( - getValue: (CT_ c) => c.availableInstanceOperatorsSorted, + CT_, + () => { + ..._Renderer_ModelElement.propertyMap(), + ..._Renderer_Categorization.propertyMap(), + ..._Renderer_TypeParameters.propertyMap(), + 'aboveSidebarPath': Property( + getValue: (CT_ c) => c.aboveSidebarPath, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String( + c.aboveSidebarPath, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'allCanonicalModelElements': Property( + getValue: (CT_ c) => c.allCanonicalModelElements, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'List', + ), + renderIterable: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + return c.allCanonicalModelElements.map( + (e) => _render_ModelElement( + e, + ast, + r.template, + sink, + parent: r, + ), + ); + }, + ), + 'allModelElements': Property( + getValue: (CT_ c) => c.allModelElements, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'Iterable', + ), + renderIterable: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + return c.allModelElements.map( + (e) => _render_ModelElement( + e, + ast, + r.template, + sink, + parent: r, + ), + ); + }, + ), + 'availableInstanceFieldsSorted': Property( + getValue: (CT_ c) => c.availableInstanceFieldsSorted, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'List', + ), + renderIterable: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + return c.availableInstanceFieldsSorted.map( + (e) => _render_Field(e, ast, r.template, sink, parent: r), + ); + }, + ), + 'availableInstanceMethodsSorted': Property( + getValue: (CT_ c) => c.availableInstanceMethodsSorted, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'List', + ), + renderIterable: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + return c.availableInstanceMethodsSorted.map( + (e) => _render_Method(e, ast, r.template, sink, parent: r), + ); + }, + ), + 'availableInstanceOperatorsSorted': Property( + getValue: (CT_ c) => c.availableInstanceOperatorsSorted, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'List', + ), + renderIterable: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + return c.availableInstanceOperatorsSorted.map( + (e) => _render_Operator( + e, + ast, + r.template, + sink, + parent: r, + ), + ); + }, + ), + 'belowSidebarPath': Property( + getValue: (CT_ c) => c.belowSidebarPath, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String( + c.belowSidebarPath, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'constantFields': Property( + getValue: (CT_ c) => c.constantFields, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'Iterable', + ), + renderIterable: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + return c.constantFields.map( + (e) => _render_Field(e, ast, r.template, sink, parent: r), + ); + }, + ), + 'declaredFields': Property( + getValue: (CT_ c) => c.declaredFields, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'Iterable', + ), + renderIterable: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + return c.declaredFields.map( + (e) => _render_Field(e, ast, r.template, sink, parent: r), + ); + }, + ), + 'declaredMethods': Property( + getValue: (CT_ c) => c.declaredMethods, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'Iterable', + ), + renderIterable: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + return c.declaredMethods.map( + (e) => _render_Method(e, ast, r.template, sink, parent: r), + ); + }, + ), + 'declaredOperators': Property( + getValue: (CT_ c) => c.declaredOperators, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'List', + ), + renderIterable: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + return c.declaredOperators.map( + (e) => _render_Operator( + e, + ast, + r.template, + sink, + parent: r, + ), + ); + }, + ), + 'element': Property( + getValue: (CT_ c) => c.element, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'Element2', + ), + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + renderSimple( + c.element, + ast, + r.template, + sink, + parent: r, + getters: _invisibleGetters['Element2']!, + ); + }, + ), + 'enclosingElement': Property( + getValue: (CT_ c) => c.enclosingElement, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = + _Renderer_ModelElement.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as ModelElement, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_ModelElement( + c.enclosingElement, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'hasAvailableInstanceFields': Property( + getValue: (CT_ c) => c.hasAvailableInstanceFields, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'bool'), + getBool: (CT_ c) => c.hasAvailableInstanceFields, + ), + 'hasAvailableInstanceMethods': Property( + getValue: (CT_ c) => c.hasAvailableInstanceMethods, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'bool'), + getBool: (CT_ c) => c.hasAvailableInstanceMethods, + ), + 'hasAvailableInstanceOperators': Property( + getValue: (CT_ c) => c.hasAvailableInstanceOperators, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'bool'), + getBool: (CT_ c) => c.hasAvailableInstanceOperators, + ), + 'hasInstanceFields': Property( + getValue: (CT_ c) => c.hasInstanceFields, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'bool'), + getBool: (CT_ c) => c.hasInstanceFields, + ), + 'hasParameters': Property( + getValue: (CT_ c) => c.hasParameters, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'bool'), + getBool: (CT_ c) => c.hasParameters, + ), + 'hasPublicConstantFields': Property( + getValue: (CT_ c) => c.hasPublicConstantFields, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'bool'), + getBool: (CT_ c) => c.hasPublicConstantFields, + ), + 'hasPublicConstructors': Property( + getValue: (CT_ c) => c.hasPublicConstructors, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'bool'), + getBool: (CT_ c) => c.hasPublicConstructors, + ), + 'hasPublicEnumValues': Property( + getValue: (CT_ c) => c.hasPublicEnumValues, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'bool'), + getBool: (CT_ c) => c.hasPublicEnumValues, + ), + 'hasPublicStaticFields': Property( + getValue: (CT_ c) => c.hasPublicStaticFields, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'bool'), + getBool: (CT_ c) => c.hasPublicStaticFields, + ), + 'hasPublicStaticMethods': Property( + getValue: (CT_ c) => c.hasPublicStaticMethods, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'bool'), + getBool: (CT_ c) => c.hasPublicStaticMethods, + ), + 'hasPublicVariableStaticFields': Property( + getValue: (CT_ c) => c.hasPublicVariableStaticFields, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'bool'), + getBool: (CT_ c) => c.hasPublicVariableStaticFields, + ), + 'instanceAccessors': Property( + getValue: (CT_ c) => c.instanceAccessors, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'Iterable', + ), + renderIterable: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + return c.instanceAccessors.map( + (e) => _render_Accessor( + e, + ast, + r.template, + sink, + parent: r, + ), + ); + }, + ), + 'instanceFields': Property( + getValue: (CT_ c) => c.instanceFields, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'Iterable', + ), + renderIterable: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + return c.instanceFields.map( + (e) => _render_Field(e, ast, r.template, sink, parent: r), + ); + }, + ), + 'instanceMethods': Property( + getValue: (CT_ c) => c.instanceMethods, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'Iterable', + ), + renderIterable: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + return c.instanceMethods.map( + (e) => _render_Method(e, ast, r.template, sink, parent: r), + ); + }, + ), + 'instanceOperators': Property( + getValue: (CT_ c) => c.instanceOperators, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'Iterable', + ), + renderIterable: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + return c.instanceOperators.map( + (e) => _render_Operator( + e, + ast, + r.template, + sink, + parent: r, + ), + ); + }, + ), + 'isDartCoreObject': Property( + getValue: (CT_ c) => c.isDartCoreObject, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'bool'), + getBool: (CT_ c) => c.isDartCoreObject, + ), + 'isEnum': Property( + getValue: (CT_ c) => c.isEnum, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'bool'), + getBool: (CT_ c) => c.isEnum, + ), + 'isExtension': Property( + getValue: (CT_ c) => c.isExtension, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'bool'), + getBool: (CT_ c) => c.isExtension, + ), + 'isInterface': Property( + getValue: (CT_ c) => c.isInterface, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'bool'), + getBool: (CT_ c) => c.isInterface, + ), + 'isMixin': Property( + getValue: (CT_ c) => c.isMixin, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'bool'), + getBool: (CT_ c) => c.isMixin, + ), + 'publicConstantFieldsSorted': Property( + getValue: (CT_ c) => c.publicConstantFieldsSorted, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'List', + ), + renderIterable: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + return c.publicConstantFieldsSorted.map( + (e) => _render_Field(e, ast, r.template, sink, parent: r), + ); + }, + ), + 'publicConstructorsSorted': Property( + getValue: (CT_ c) => c.publicConstructorsSorted, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'List', + ), + renderIterable: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + return c.publicConstructorsSorted.map( + (e) => _render_Constructor( + e, + ast, + r.template, + sink, + parent: r, + ), + ); + }, + ), + 'publicEnumValues': Property( + getValue: (CT_ c) => c.publicEnumValues, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'Iterable', + ), + renderIterable: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + return c.publicEnumValues.map( + (e) => _render_Field(e, ast, r.template, sink, parent: r), + ); + }, + ), + 'publicInheritedInstanceFields': Property( + getValue: (CT_ c) => c.publicInheritedInstanceFields, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'bool'), + getBool: (CT_ c) => c.publicInheritedInstanceFields, + ), + 'publicInheritedInstanceMethods': Property( + getValue: (CT_ c) => c.publicInheritedInstanceMethods, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'bool'), + getBool: (CT_ c) => c.publicInheritedInstanceMethods, + ), + 'publicInheritedInstanceOperators': Property( + getValue: (CT_ c) => c.publicInheritedInstanceOperators, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'bool'), + getBool: (CT_ c) => c.publicInheritedInstanceOperators, + ), + 'publicStaticFieldsSorted': Property( + getValue: (CT_ c) => c.publicStaticFieldsSorted, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'List', + ), + renderIterable: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + return c.publicStaticFieldsSorted.map( + (e) => _render_Field(e, ast, r.template, sink, parent: r), + ); + }, + ), + 'publicStaticMethodsSorted': Property( + getValue: (CT_ c) => c.publicStaticMethodsSorted, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'List', + ), + renderIterable: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + return c.publicStaticMethodsSorted.map( + (e) => _render_Method(e, ast, r.template, sink, parent: r), + ); + }, + ), + 'publicVariableStaticFieldsSorted': Property( + getValue: (CT_ c) => c.publicVariableStaticFieldsSorted, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'List', + ), + renderIterable: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + return c.publicVariableStaticFieldsSorted.map( + (e) => _render_Field(e, ast, r.template, sink, parent: r), + ); + }, + ), + 'referenceChildren': Property( + getValue: (CT_ c) => c.referenceChildren, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'Map', + ), + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + renderSimple( + c.referenceChildren, + ast, + r.template, + sink, + parent: r, + getters: _invisibleGetters['Map']!, + ); + }, + ), + 'referenceParents': Property( + getValue: (CT_ c) => c.referenceParents, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'Iterable', + ), + renderIterable: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + return c.referenceParents.map( + (e) => renderSimple( + e, + ast, + r.template, + sink, + parent: r, + getters: _invisibleGetters['CommentReferable']!, + ), + ); + }, + ), + 'relationshipsClass': Property( + getValue: (CT_ c) => c.relationshipsClass, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String( + c.relationshipsClass, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'scope': Property( + getValue: (CT_ c) => c.scope, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'Scope'), + isNullValue: (CT_ c) => c.scope == null, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + renderSimple( + c.scope, + ast, + r.template, + sink, + parent: r, + getters: _invisibleGetters['Scope']!, + ); + }, + ), + 'sidebarPath': Property( + getValue: (CT_ c) => c.sidebarPath, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String( + c.sidebarPath, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'staticAccessors': Property( + getValue: (CT_ c) => c.staticAccessors, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'Iterable', + ), + renderIterable: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + return c.staticAccessors.map( + (e) => _render_Accessor( + e, + ast, + r.template, + sink, + parent: r, + ), + ); + }, + ), + 'staticFields': Property( + getValue: (CT_ c) => c.staticFields, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'Iterable', + ), + renderIterable: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + return c.staticFields.map( + (e) => _render_Field(e, ast, r.template, sink, parent: r), + ); + }, + ), + 'staticMethods': Property( + getValue: (CT_ c) => c.staticMethods, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'Iterable', + ), + renderIterable: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + return c.staticMethods.map( + (e) => _render_Method(e, ast, r.template, sink, parent: r), + ); + }, + ), + 'variableStaticFields': Property( + getValue: (CT_ c) => c.variableStaticFields, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'Iterable', + ), + renderIterable: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + return c.variableStaticFields.map( + (e) => _render_Field(e, ast, r.template, sink, parent: r), + ); + }, + ), + }, + ) as Map>; + + _Renderer_Container( + Container context, + RendererBase? parent, + Template template, + StringSink sink, + ) : super(context, parent, template, sink); + + @override + Property? getProperty(String key) { + if (propertyMap().containsKey(key)) { + return propertyMap()[key]; + } else { + return null; + } + } +} + +void _render_ContainerAccessor( + ContainerAccessor context, + List ast, + Template template, + StringSink sink, { + RendererBase? parent, +}) { + var renderer = _Renderer_ContainerAccessor(context, parent, template, sink); + renderer.renderBlock(ast); +} + +class _Renderer_ContainerAccessor extends RendererBase { + static final Map _propertyMapCache = {}; + static Map> + propertyMap() => + _propertyMapCache.putIfAbsent( + CT_, + () => { + ..._Renderer_Accessor.propertyMap(), + ..._Renderer_ContainerMember.propertyMap(), + ..._Renderer_Inheritable.propertyMap(), + 'characterLocation': Property( + getValue: (CT_ c) => c.characterLocation, renderVariable: (CT_ c, Property self, List remainingNames) => self.renderSimpleVariable( - c, - remainingNames, - 'List', - ), - - renderIterable: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - return c.availableInstanceOperatorsSorted.map( - (e) => _render_Operator( - e, - ast, - r.template, - sink, - parent: r, - ), - ); - }, + c, + remainingNames, + 'CharacterLocation', + ), + isNullValue: (CT_ c) => c.characterLocation == null, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + renderSimple( + c.characterLocation, + ast, + r.template, + sink, + parent: r, + getters: _invisibleGetters['CharacterLocation']!, + ); + }, ), - 'belowSidebarPath': Property( - getValue: (CT_ c) => c.belowSidebarPath, + 'enclosingElement': Property( + getValue: (CT_ c) => c.enclosingElement, renderVariable: (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String( - c.belowSidebarPath, - ast, - r.template, - sink, - parent: r, - ); - }, + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = + _Renderer_Container.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as Container, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_Container( + c.enclosingElement, + ast, + r.template, + sink, + parent: r, + ); + }, ), - 'constantFields': Property( - getValue: (CT_ c) => c.constantFields, + 'isCovariant': Property( + getValue: (CT_ c) => c.isCovariant, renderVariable: (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'Iterable', - ), - - renderIterable: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - return c.constantFields.map( - (e) => - _render_Field(e, ast, r.template, sink, parent: r), - ); - }, + self.renderSimpleVariable(c, remainingNames, 'bool'), + getBool: (CT_ c) => c.isCovariant, ), - 'declaredFields': Property( - getValue: (CT_ c) => c.declaredFields, + 'isInherited': Property( + getValue: (CT_ c) => c.isInherited, renderVariable: (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'Iterable', - ), - - renderIterable: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - return c.declaredFields.map( - (e) => - _render_Field(e, ast, r.template, sink, parent: r), - ); - }, + self.renderSimpleVariable(c, remainingNames, 'bool'), + getBool: (CT_ c) => c.isInherited, ), - 'declaredMethods': Property( - getValue: (CT_ c) => c.declaredMethods, + 'overriddenElement': Property( + getValue: (CT_ c) => c.overriddenElement, renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'Iterable', - ), - - renderIterable: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - return c.declaredMethods.map( - (e) => - _render_Method(e, ast, r.template, sink, parent: r), - ); - }, + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = + _Renderer_ContainerAccessor.propertyMap().getValue( + name, + ); + return nextProperty.renderVariable( + self.getValue(c) as ContainerAccessor, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => c.overriddenElement == null, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_ContainerAccessor( + c.overriddenElement!, + ast, + r.template, + sink, + parent: r, + ); + }, ), - 'declaredOperators': Property( - getValue: (CT_ c) => c.declaredOperators, + }, + ) as Map>; + + _Renderer_ContainerAccessor( + ContainerAccessor context, + RendererBase? parent, + Template template, + StringSink sink, + ) : super(context, parent, template, sink); + + @override + Property? getProperty(String key) { + if (propertyMap().containsKey(key)) { + return propertyMap()[key]; + } else { + return null; + } + } +} + +class _Renderer_ContainerMember extends RendererBase { + static final Map _propertyMapCache = {}; + static Map> + propertyMap() => + _propertyMapCache.putIfAbsent( + CT_, + () => { + 'attributes': Property( + getValue: (CT_ c) => c.attributes, renderVariable: (CT_ c, Property self, List remainingNames) => self.renderSimpleVariable( - c, - remainingNames, - 'List', - ), - - renderIterable: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - return c.declaredOperators.map( - (e) => _render_Operator( - e, - ast, - r.template, - sink, - parent: r, - ), - ); - }, + c, + remainingNames, + 'Set', + ), + renderIterable: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + return c.attributes.map( + (e) => renderSimple( + e, + ast, + r.template, + sink, + parent: r, + getters: _invisibleGetters['Attribute']!, + ), + ); + }, ), - 'element': Property( - getValue: (CT_ c) => c.element, + 'canonicalEnclosingContainer': Property( + getValue: (CT_ c) => c.canonicalEnclosingContainer, renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'Element2', - ), - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - renderSimple( - c.element, - ast, - r.template, - sink, - parent: r, - getters: _invisibleGetters['Element2']!, - ); - }, + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = + _Renderer_Container.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as Container, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => c.canonicalEnclosingContainer == null, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_Container( + c.canonicalEnclosingContainer!, + ast, + r.template, + sink, + parent: r, + ); + }, ), 'enclosingElement': Property( getValue: (CT_ c) => c.enclosingElement, renderVariable: (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_ModelElement.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as ModelElement, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_ModelElement( - c.enclosingElement, - ast, - r.template, - sink, - parent: r, - ); - }, + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = + _Renderer_Container.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as Container, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_Container( + c.enclosingElement, + ast, + r.template, + sink, + parent: r, + ); + }, ), - 'hasAvailableInstanceFields': Property( - getValue: (CT_ c) => c.hasAvailableInstanceFields, + 'filePath': Property( + getValue: (CT_ c) => c.filePath, renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'bool'), - - getBool: (CT_ c) => c.hasAvailableInstanceFields, + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = + _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String( + c.filePath, + ast, + r.template, + sink, + parent: r, + ); + }, ), - 'hasAvailableInstanceMethods': Property( - getValue: (CT_ c) => c.hasAvailableInstanceMethods, + 'isExtended': Property( + getValue: (CT_ c) => c.isExtended, renderVariable: (CT_ c, Property self, List remainingNames) => self.renderSimpleVariable(c, remainingNames, 'bool'), - - getBool: (CT_ c) => c.hasAvailableInstanceMethods, + getBool: (CT_ c) => c.isExtended, ), - 'hasAvailableInstanceOperators': Property( - getValue: (CT_ c) => c.hasAvailableInstanceOperators, + 'referenceGrandparentOverrides': Property( + getValue: (CT_ c) => c.referenceGrandparentOverrides, renderVariable: (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'bool'), - - getBool: (CT_ c) => c.hasAvailableInstanceOperators, + self.renderSimpleVariable( + c, + remainingNames, + 'List', + ), + renderIterable: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + return c.referenceGrandparentOverrides.map( + (e) => _render_Library( + e, + ast, + r.template, + sink, + parent: r, + ), + ); + }, ), - 'hasInstanceFields': Property( - getValue: (CT_ c) => c.hasInstanceFields, + 'referenceParents': Property( + getValue: (CT_ c) => c.referenceParents, renderVariable: (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'bool'), - - getBool: (CT_ c) => c.hasInstanceFields, + self.renderSimpleVariable( + c, + remainingNames, + 'Iterable', + ), + renderIterable: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + return c.referenceParents.map( + (e) => _render_Container( + e, + ast, + r.template, + sink, + parent: r, + ), + ); + }, ), - 'hasParameters': Property( - getValue: (CT_ c) => c.hasParameters, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'bool'), + }, + ) as Map>; - getBool: (CT_ c) => c.hasParameters, - ), - 'hasPublicConstantFields': Property( - getValue: (CT_ c) => c.hasPublicConstantFields, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'bool'), + _Renderer_ContainerMember( + ContainerMember context, + RendererBase? parent, + Template template, + StringSink sink, + ) : super(context, parent, template, sink); - getBool: (CT_ c) => c.hasPublicConstantFields, - ), - 'hasPublicConstructors': Property( - getValue: (CT_ c) => c.hasPublicConstructors, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'bool'), + @override + Property? getProperty(String key) { + if (propertyMap().containsKey(key)) { + return propertyMap()[key]; + } else { + return null; + } + } +} - getBool: (CT_ c) => c.hasPublicConstructors, - ), - 'hasPublicEnumValues': Property( - getValue: (CT_ c) => c.hasPublicEnumValues, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'bool'), +void _render_DefinedElementType( + DefinedElementType context, + List ast, + Template template, + StringSink sink, { + RendererBase? parent, +}) { + var renderer = _Renderer_DefinedElementType(context, parent, template, sink); + renderer.renderBlock(ast); +} - getBool: (CT_ c) => c.hasPublicEnumValues, +class _Renderer_DefinedElementType extends RendererBase { + static final Map _propertyMapCache = {}; + static Map> + propertyMap() => + _propertyMapCache.putIfAbsent( + CT_, + () => { + ..._Renderer_ElementType.propertyMap(), + 'fullyQualifiedName': Property( + getValue: (CT_ c) => c.fullyQualifiedName, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = + _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String( + c.fullyQualifiedName, + ast, + r.template, + sink, + parent: r, + ); + }, ), - 'hasPublicStaticFields': Property( - getValue: (CT_ c) => c.hasPublicStaticFields, + 'isPublic': Property( + getValue: (CT_ c) => c.isPublic, renderVariable: (CT_ c, Property self, List remainingNames) => self.renderSimpleVariable(c, remainingNames, 'bool'), - - getBool: (CT_ c) => c.hasPublicStaticFields, + getBool: (CT_ c) => c.isPublic, ), - 'hasPublicStaticMethods': Property( - getValue: (CT_ c) => c.hasPublicStaticMethods, + 'modelElement': Property( + getValue: (CT_ c) => c.modelElement, renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'bool'), - - getBool: (CT_ c) => c.hasPublicStaticMethods, + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = + _Renderer_ModelElement.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as ModelElement, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_ModelElement( + c.modelElement, + ast, + r.template, + sink, + parent: r, + ); + }, ), - 'hasPublicVariableStaticFields': Property( - getValue: (CT_ c) => c.hasPublicVariableStaticFields, + 'name': Property( + getValue: (CT_ c) => c.name, renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'bool'), - - getBool: (CT_ c) => c.hasPublicVariableStaticFields, + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = + _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String(c.name, ast, r.template, sink, parent: r); + }, ), - 'instanceAccessors': Property( - getValue: (CT_ c) => c.instanceAccessors, + 'referenceChildren': Property( + getValue: (CT_ c) => c.referenceChildren, renderVariable: (CT_ c, Property self, List remainingNames) => self.renderSimpleVariable( - c, - remainingNames, - 'Iterable', - ), - - renderIterable: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - return c.instanceAccessors.map( - (e) => _render_Accessor( - e, - ast, - r.template, - sink, - parent: r, - ), - ); - }, + c, + remainingNames, + 'Map', + ), + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + renderSimple( + c.referenceChildren, + ast, + r.template, + sink, + parent: r, + getters: _invisibleGetters['Map']!, + ); + }, ), - 'instanceFields': Property( - getValue: (CT_ c) => c.instanceFields, + 'referenceGrandparentOverrides': Property( + getValue: (CT_ c) => c.referenceGrandparentOverrides, renderVariable: (CT_ c, Property self, List remainingNames) => self.renderSimpleVariable( - c, - remainingNames, - 'Iterable', - ), - - renderIterable: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - return c.instanceFields.map( - (e) => - _render_Field(e, ast, r.template, sink, parent: r), - ); - }, + c, + remainingNames, + 'Iterable', + ), + isNullValue: (CT_ c) => c.referenceGrandparentOverrides == null, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + renderSimple( + c.referenceGrandparentOverrides, + ast, + r.template, + sink, + parent: r, + getters: _invisibleGetters['Iterable']!, + ); + }, ), - 'instanceMethods': Property( - getValue: (CT_ c) => c.instanceMethods, + 'referenceParents': Property( + getValue: (CT_ c) => c.referenceParents, renderVariable: (CT_ c, Property self, List remainingNames) => self.renderSimpleVariable( - c, - remainingNames, - 'Iterable', - ), - - renderIterable: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - return c.instanceMethods.map( - (e) => - _render_Method(e, ast, r.template, sink, parent: r), - ); - }, + c, + remainingNames, + 'Iterable', + ), + renderIterable: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + return c.referenceParents.map( + (e) => renderSimple( + e, + ast, + r.template, + sink, + parent: r, + getters: _invisibleGetters['CommentReferable']!, + ), + ); + }, ), - 'instanceOperators': Property( - getValue: (CT_ c) => c.instanceOperators, + 'typeArguments': Property( + getValue: (CT_ c) => c.typeArguments, renderVariable: (CT_ c, Property self, List remainingNames) => self.renderSimpleVariable( - c, - remainingNames, - 'Iterable', - ), - - renderIterable: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - return c.instanceOperators.map( - (e) => _render_Operator( - e, - ast, - r.template, - sink, - parent: r, - ), - ); - }, - ), - 'isDartCoreObject': Property( - getValue: (CT_ c) => c.isDartCoreObject, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'bool'), - - getBool: (CT_ c) => c.isDartCoreObject, - ), - 'isEnum': Property( - getValue: (CT_ c) => c.isEnum, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'bool'), - - getBool: (CT_ c) => c.isEnum, - ), - 'isExtension': Property( - getValue: (CT_ c) => c.isExtension, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'bool'), - - getBool: (CT_ c) => c.isExtension, - ), - 'isInterface': Property( - getValue: (CT_ c) => c.isInterface, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'bool'), - - getBool: (CT_ c) => c.isInterface, - ), - 'isMixin': Property( - getValue: (CT_ c) => c.isMixin, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'bool'), - - getBool: (CT_ c) => c.isMixin, - ), - 'publicConstantFieldsSorted': Property( - getValue: (CT_ c) => c.publicConstantFieldsSorted, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'List', - ), - - renderIterable: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - return c.publicConstantFieldsSorted.map( - (e) => - _render_Field(e, ast, r.template, sink, parent: r), - ); - }, - ), - 'publicConstructorsSorted': Property( - getValue: (CT_ c) => c.publicConstructorsSorted, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'List', - ), - - renderIterable: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - return c.publicConstructorsSorted.map( - (e) => _render_Constructor( - e, - ast, - r.template, - sink, - parent: r, - ), - ); - }, - ), - 'publicEnumValues': Property( - getValue: (CT_ c) => c.publicEnumValues, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'Iterable', - ), - - renderIterable: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - return c.publicEnumValues.map( - (e) => - _render_Field(e, ast, r.template, sink, parent: r), - ); - }, - ), - 'publicInheritedInstanceFields': Property( - getValue: (CT_ c) => c.publicInheritedInstanceFields, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'bool'), - - getBool: (CT_ c) => c.publicInheritedInstanceFields, - ), - 'publicInheritedInstanceMethods': Property( - getValue: (CT_ c) => c.publicInheritedInstanceMethods, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'bool'), - - getBool: (CT_ c) => c.publicInheritedInstanceMethods, - ), - 'publicInheritedInstanceOperators': Property( - getValue: (CT_ c) => c.publicInheritedInstanceOperators, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'bool'), - - getBool: (CT_ c) => c.publicInheritedInstanceOperators, - ), - 'publicStaticFieldsSorted': Property( - getValue: (CT_ c) => c.publicStaticFieldsSorted, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'List', - ), - - renderIterable: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - return c.publicStaticFieldsSorted.map( - (e) => - _render_Field(e, ast, r.template, sink, parent: r), - ); - }, - ), - 'publicStaticMethodsSorted': Property( - getValue: (CT_ c) => c.publicStaticMethodsSorted, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'List', - ), - - renderIterable: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - return c.publicStaticMethodsSorted.map( - (e) => - _render_Method(e, ast, r.template, sink, parent: r), - ); - }, - ), - 'publicVariableStaticFieldsSorted': Property( - getValue: (CT_ c) => c.publicVariableStaticFieldsSorted, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'List', - ), - - renderIterable: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - return c.publicVariableStaticFieldsSorted.map( - (e) => - _render_Field(e, ast, r.template, sink, parent: r), - ); - }, - ), - 'referenceChildren': Property( - getValue: (CT_ c) => c.referenceChildren, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'Map', - ), - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - renderSimple( - c.referenceChildren, - ast, - r.template, - sink, - parent: r, - getters: _invisibleGetters['Map']!, - ); - }, - ), - 'referenceParents': Property( - getValue: (CT_ c) => c.referenceParents, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'Iterable', - ), - - renderIterable: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - return c.referenceParents.map( - (e) => renderSimple( - e, - ast, - r.template, - sink, - parent: r, - getters: _invisibleGetters['CommentReferable']!, - ), - ); - }, - ), - 'relationshipsClass': Property( - getValue: (CT_ c) => c.relationshipsClass, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String( - c.relationshipsClass, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'scope': Property( - getValue: (CT_ c) => c.scope, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'Scope'), - - isNullValue: (CT_ c) => c.scope == null, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - renderSimple( - c.scope, - ast, - r.template, - sink, - parent: r, - getters: _invisibleGetters['Scope']!, - ); - }, - ), - 'sidebarPath': Property( - getValue: (CT_ c) => c.sidebarPath, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String( - c.sidebarPath, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'staticAccessors': Property( - getValue: (CT_ c) => c.staticAccessors, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'Iterable', - ), - - renderIterable: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - return c.staticAccessors.map( - (e) => _render_Accessor( - e, - ast, - r.template, - sink, - parent: r, - ), - ); - }, - ), - 'staticFields': Property( - getValue: (CT_ c) => c.staticFields, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'Iterable', - ), - - renderIterable: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - return c.staticFields.map( - (e) => - _render_Field(e, ast, r.template, sink, parent: r), - ); - }, - ), - 'staticMethods': Property( - getValue: (CT_ c) => c.staticMethods, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'Iterable', - ), - - renderIterable: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - return c.staticMethods.map( - (e) => - _render_Method(e, ast, r.template, sink, parent: r), - ); - }, - ), - 'variableStaticFields': Property( - getValue: (CT_ c) => c.variableStaticFields, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'Iterable', - ), - - renderIterable: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - return c.variableStaticFields.map( - (e) => - _render_Field(e, ast, r.template, sink, parent: r), - ); - }, + c, + remainingNames, + 'Iterable', + ), + renderIterable: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + return c.typeArguments.map( + (e) => _render_ElementType( + e, + ast, + r.template, + sink, + parent: r, + ), + ); + }, ), }, - ) - as Map>; + ) as Map>; - _Renderer_Container( - Container context, + _Renderer_DefinedElementType( + DefinedElementType context, RendererBase? parent, Template template, StringSink sink, ) : super(context, parent, template, sink); @override - Property? getProperty(String key) { - if (propertyMap().containsKey(key)) { - return propertyMap()[key]; + Property? getProperty(String key) { + if (propertyMap().containsKey(key)) { + return propertyMap()[key]; } else { return null; } } } -void _render_ContainerAccessor( - ContainerAccessor context, +void _render_Documentable( + Documentable context, List ast, Template template, StringSink sink, { RendererBase? parent, }) { - var renderer = _Renderer_ContainerAccessor(context, parent, template, sink); + var renderer = _Renderer_Documentable(context, parent, template, sink); renderer.renderBlock(ast); } -class _Renderer_ContainerAccessor extends RendererBase { +class _Renderer_Documentable extends RendererBase { static final Map _propertyMapCache = {}; - static Map> - propertyMap() => + static Map> propertyMap() => _propertyMapCache.putIfAbsent( - CT_, - () => { - ..._Renderer_Accessor.propertyMap(), - ..._Renderer_ContainerMember.propertyMap(), - ..._Renderer_Inheritable.propertyMap(), - 'characterLocation': Property( - getValue: (CT_ c) => c.characterLocation, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'CharacterLocation', - ), - - isNullValue: (CT_ c) => c.characterLocation == null, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - renderSimple( - c.characterLocation, - ast, - r.template, - sink, - parent: r, - getters: _invisibleGetters['CharacterLocation']!, - ); - }, - ), - 'enclosingElement': Property( - getValue: (CT_ c) => c.enclosingElement, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_Container.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as Container, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_Container( - c.enclosingElement, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'isCovariant': Property( - getValue: (CT_ c) => c.isCovariant, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'bool'), - - getBool: (CT_ c) => c.isCovariant, - ), - 'isInherited': Property( - getValue: (CT_ c) => c.isInherited, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'bool'), + CT_, + () => { + ..._Renderer_Object.propertyMap(), + ..._Renderer_Nameable.propertyMap(), + 'aboveSidebarPath': Property( + getValue: (CT_ c) => c.aboveSidebarPath, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => c.aboveSidebarPath == null, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String( + c.aboveSidebarPath!, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'belowSidebarPath': Property( + getValue: (CT_ c) => c.belowSidebarPath, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => c.belowSidebarPath == null, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String( + c.belowSidebarPath!, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'config': Property( + getValue: (CT_ c) => c.config, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'DartdocOptionContext', + ), + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + renderSimple( + c.config, + ast, + r.template, + sink, + parent: r, + getters: _invisibleGetters['DartdocOptionContext']!, + ); + }, + ), + 'documentation': Property( + getValue: (CT_ c) => c.documentation, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => c.documentation == null, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String( + c.documentation!, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'documentationAsHtml': Property( + getValue: (CT_ c) => c.documentationAsHtml, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String( + c.documentationAsHtml, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'hasDocumentation': Property( + getValue: (CT_ c) => c.hasDocumentation, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'bool'), + getBool: (CT_ c) => c.hasDocumentation, + ), + 'href': Property( + getValue: (CT_ c) => c.href, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => c.href == null, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String(c.href!, ast, r.template, sink, parent: r); + }, + ), + 'isDocumented': Property( + getValue: (CT_ c) => c.isDocumented, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'bool'), + getBool: (CT_ c) => c.isDocumented, + ), + 'kind': Property( + getValue: (CT_ c) => c.kind, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'Kind'), + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + renderSimple( + c.kind, + ast, + r.template, + sink, + parent: r, + getters: _invisibleGetters['Kind']!, + ); + }, + ), + 'oneLineDoc': Property( + getValue: (CT_ c) => c.oneLineDoc, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String( + c.oneLineDoc, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'package': Property( + getValue: (CT_ c) => c.package, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_Package.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as Package, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_Package( + c.package, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'packageGraph': Property( + getValue: (CT_ c) => c.packageGraph, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'PackageGraph', + ), + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + renderSimple( + c.packageGraph, + ast, + r.template, + sink, + parent: r, + getters: _invisibleGetters['PackageGraph']!, + ); + }, + ), + }, + ) as Map>; - getBool: (CT_ c) => c.isInherited, - ), - 'overriddenElement': Property( - getValue: (CT_ c) => c.overriddenElement, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = - _Renderer_ContainerAccessor.propertyMap().getValue( - name, - ); - return nextProperty.renderVariable( - self.getValue(c) as ContainerAccessor, - nextProperty, - [...remainingNames.skip(1)], - ); - }, + _Renderer_Documentable( + Documentable context, + RendererBase? parent, + Template template, + StringSink sink, + ) : super(context, parent, template, sink); - isNullValue: (CT_ c) => c.overriddenElement == null, + @override + Property? getProperty(String key) { + if (propertyMap().containsKey(key)) { + return propertyMap()[key]; + } else { + return null; + } + } +} - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_ContainerAccessor( - c.overriddenElement!, - ast, - r.template, - sink, - parent: r, - ); - }, - ), +class _Renderer_DocumentationComment + extends RendererBase { + static final Map _propertyMapCache = {}; + static Map> propertyMap< + CT_ extends DocumentationComment>() => + _propertyMapCache.putIfAbsent( + CT_, + () => { + 'documentationAsHtml': Property( + getValue: (CT_ c) => c.documentationAsHtml, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String( + c.documentationAsHtml, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'documentationComment': Property( + getValue: (CT_ c) => c.documentationComment, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String( + c.documentationComment, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'documentationFrom': Property( + getValue: (CT_ c) => c.documentationFrom, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'List', + ), + renderIterable: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + return c.documentationFrom.map( + (e) => renderSimple( + e, + ast, + r.template, + sink, + parent: r, + getters: _invisibleGetters['DocumentationComment']!, + ), + ); + }, + ), + 'documentationLocal': Property( + getValue: (CT_ c) => c.documentationLocal, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); }, - ) - as Map>; + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String( + c.documentationLocal, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'element': Property( + getValue: (CT_ c) => c.element, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'Element2', + ), + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + renderSimple( + c.element, + ast, + r.template, + sink, + parent: r, + getters: _invisibleGetters['Element2']!, + ); + }, + ), + 'elementDocumentation': Property( + getValue: (CT_ c) => c.elementDocumentation, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'Documentation', + ), + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + renderSimple( + c.elementDocumentation, + ast, + r.template, + sink, + parent: r, + getters: _invisibleGetters['Documentation']!, + ); + }, + ), + 'hasDocumentationComment': Property( + getValue: (CT_ c) => c.hasDocumentationComment, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'bool'), + getBool: (CT_ c) => c.hasDocumentationComment, + ), + 'hasNodoc': Property( + getValue: (CT_ c) => c.hasNodoc, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'bool'), + getBool: (CT_ c) => c.hasNodoc, + ), + 'needsPrecache': Property( + getValue: (CT_ c) => c.needsPrecache, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'bool'), + getBool: (CT_ c) => c.needsPrecache, + ), + 'pathContext': Property( + getValue: (CT_ c) => c.pathContext, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'Context'), + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + renderSimple( + c.pathContext, + ast, + r.template, + sink, + parent: r, + getters: _invisibleGetters['Context']!, + ); + }, + ), + 'sourceFileName': Property( + getValue: (CT_ c) => c.sourceFileName, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => c.sourceFileName == null, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String( + c.sourceFileName!, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + }, + ) as Map>; - _Renderer_ContainerAccessor( - ContainerAccessor context, + _Renderer_DocumentationComment( + DocumentationComment context, RendererBase? parent, Template template, StringSink sink, ) : super(context, parent, template, sink); @override - Property? getProperty(String key) { - if (propertyMap().containsKey(key)) { - return propertyMap()[key]; + Property? getProperty(String key) { + if (propertyMap().containsKey(key)) { + return propertyMap()[key]; } else { return null; } } } -class _Renderer_ContainerMember extends RendererBase { +void _render_ElementType( + ElementType context, + List ast, + Template template, + StringSink sink, { + RendererBase? parent, +}) { + var renderer = _Renderer_ElementType(context, parent, template, sink); + renderer.renderBlock(ast); +} + +class _Renderer_ElementType extends RendererBase { static final Map _propertyMapCache = {}; - static Map> - propertyMap() => + static Map> propertyMap() => _propertyMapCache.putIfAbsent( - CT_, - () => { - 'attributes': Property( - getValue: (CT_ c) => c.attributes, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'Set', - ), - - renderIterable: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - return c.attributes.map( - (e) => renderSimple( - e, - ast, - r.template, - sink, - parent: r, - getters: _invisibleGetters['Attribute']!, - ), - ); - }, - ), - 'canonicalEnclosingContainer': Property( - getValue: (CT_ c) => c.canonicalEnclosingContainer, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_Container.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as Container, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => c.canonicalEnclosingContainer == null, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_Container( - c.canonicalEnclosingContainer!, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'enclosingElement': Property( - getValue: (CT_ c) => c.enclosingElement, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_Container.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as Container, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_Container( - c.enclosingElement, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'filePath': Property( - getValue: (CT_ c) => c.filePath, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String( - c.filePath, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'isExtended': Property( - getValue: (CT_ c) => c.isExtended, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'bool'), - - getBool: (CT_ c) => c.isExtended, - ), - 'referenceGrandparentOverrides': Property( - getValue: (CT_ c) => c.referenceGrandparentOverrides, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'List', - ), - - renderIterable: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - return c.referenceGrandparentOverrides.map( - (e) => _render_Library( - e, - ast, - r.template, - sink, - parent: r, - ), - ); - }, - ), - 'referenceParents': Property( - getValue: (CT_ c) => c.referenceParents, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'Iterable', - ), - - renderIterable: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - return c.referenceParents.map( - (e) => _render_Container( - e, - ast, - r.template, - sink, - parent: r, - ), - ); - }, - ), + CT_, + () => { + ..._Renderer_Object.propertyMap(), + ..._Renderer_CommentReferable.propertyMap(), + ..._Renderer_Nameable.propertyMap(), + 'breadcrumbName': Property( + getValue: (CT_ c) => c.breadcrumbName, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String( + c.breadcrumbName, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'displayName': Property( + getValue: (CT_ c) => c.displayName, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String( + c.displayName, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'isTypedef': Property( + getValue: (CT_ c) => c.isTypedef, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'bool'), + getBool: (CT_ c) => c.isTypedef, + ), + 'library': Property( + getValue: (CT_ c) => c.library, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_Library.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as Library, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_Library( + c.library, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'linkedName': Property( + getValue: (CT_ c) => c.linkedName, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String( + c.linkedName, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'nameWithGenerics': Property( + getValue: (CT_ c) => c.nameWithGenerics, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String( + c.nameWithGenerics, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'nameWithGenericsPlain': Property( + getValue: (CT_ c) => c.nameWithGenericsPlain, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String( + c.nameWithGenericsPlain, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'nullabilitySuffix': Property( + getValue: (CT_ c) => c.nullabilitySuffix, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String( + c.nullabilitySuffix, + ast, + r.template, + sink, + parent: r, + ); }, - ) - as Map>; + ), + 'packageGraph': Property( + getValue: (CT_ c) => c.packageGraph, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'PackageGraph', + ), + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + renderSimple( + c.packageGraph, + ast, + r.template, + sink, + parent: r, + getters: _invisibleGetters['PackageGraph']!, + ); + }, + ), + 'type': Property( + getValue: (CT_ c) => c.type, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'DartType', + ), + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + renderSimple( + c.type, + ast, + r.template, + sink, + parent: r, + getters: _invisibleGetters['DartType']!, + ); + }, + ), + 'typeArguments': Property( + getValue: (CT_ c) => c.typeArguments, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'Iterable', + ), + renderIterable: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + return c.typeArguments.map( + (e) => _render_ElementType( + e, + ast, + r.template, + sink, + parent: r, + ), + ); + }, + ), + }, + ) as Map>; - _Renderer_ContainerMember( - ContainerMember context, + _Renderer_ElementType( + ElementType context, RendererBase? parent, Template template, StringSink sink, ) : super(context, parent, template, sink); @override - Property? getProperty(String key) { - if (propertyMap().containsKey(key)) { - return propertyMap()[key]; + Property? getProperty(String key) { + if (propertyMap().containsKey(key)) { + return propertyMap()[key]; } else { return null; } } } -void _render_DefinedElementType( - DefinedElementType context, +void _render_Enum( + Enum context, List ast, Template template, StringSink sink, { RendererBase? parent, }) { - var renderer = _Renderer_DefinedElementType(context, parent, template, sink); + var renderer = _Renderer_Enum(context, parent, template, sink); renderer.renderBlock(ast); } -class _Renderer_DefinedElementType extends RendererBase { +class _Renderer_Enum extends RendererBase { static final Map _propertyMapCache = {}; - static Map> - propertyMap() => + static Map> propertyMap() => _propertyMapCache.putIfAbsent( - CT_, - () => { - ..._Renderer_ElementType.propertyMap(), - 'fullyQualifiedName': Property( - getValue: (CT_ c) => c.fullyQualifiedName, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String( - c.fullyQualifiedName, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'isPublic': Property( - getValue: (CT_ c) => c.isPublic, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'bool'), - - getBool: (CT_ c) => c.isPublic, - ), - 'modelElement': Property( - getValue: (CT_ c) => c.modelElement, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_ModelElement.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as ModelElement, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_ModelElement( - c.modelElement, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'name': Property( - getValue: (CT_ c) => c.name, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, + CT_, + () => { + ..._Renderer_InheritingContainer.propertyMap(), + ..._Renderer_Constructable.propertyMap(), + ..._Renderer_MixedInTypes.propertyMap(), + 'allModelElements': Property( + getValue: (CT_ c) => c.allModelElements, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'List', + ), + renderIterable: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + return c.allModelElements.map( + (e) => _render_ModelElement( + e, + ast, + r.template, + sink, + parent: r, + ), + ); + }, + ), + 'constantFields': Property( + getValue: (CT_ c) => c.constantFields, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'Iterable', + ), + renderIterable: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + return c.constantFields.map( + (e) => _render_Field(e, ast, r.template, sink, parent: r), + ); + }, + ), + 'element': Property( + getValue: (CT_ c) => c.element, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'EnumElement2', + ), + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + renderSimple( + c.element, + ast, + r.template, + sink, + parent: r, + getters: _invisibleGetters['EnumElement2']!, + ); + }, + ), + 'fileName': Property( + getValue: (CT_ c) => c.fileName, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String( + c.fileName, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'inheritanceChain': Property( + getValue: (CT_ c) => c.inheritanceChain, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'List', + ), + renderIterable: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + return c.inheritanceChain.map( + (e) => _render_InheritingContainer( + e, + ast, + r.template, + sink, + parent: r, + ), + ); + }, + ), + 'isAbstract': Property( + getValue: (CT_ c) => c.isAbstract, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'bool'), + getBool: (CT_ c) => c.isAbstract, + ), + 'isBase': Property( + getValue: (CT_ c) => c.isBase, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'bool'), + getBool: (CT_ c) => c.isBase, + ), + 'isImplementableInterface': Property( + getValue: (CT_ c) => c.isImplementableInterface, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'bool'), + getBool: (CT_ c) => c.isImplementableInterface, + ), + 'isMixinClass': Property( + getValue: (CT_ c) => c.isMixinClass, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'bool'), + getBool: (CT_ c) => c.isMixinClass, + ), + 'isSealed': Property( + getValue: (CT_ c) => c.isSealed, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'bool'), + getBool: (CT_ c) => c.isSealed, + ), + 'kind': Property( + getValue: (CT_ c) => c.kind, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'Kind'), + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + renderSimple( + c.kind, + ast, + r.template, + sink, + parent: r, + getters: _invisibleGetters['Kind']!, + ); + }, + ), + 'publicEnumValues': Property( + getValue: (CT_ c) => c.publicEnumValues, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'List', + ), + renderIterable: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + return c.publicEnumValues.map( + (e) => _render_Field(e, ast, r.template, sink, parent: r), + ); + }, + ), + 'relationshipsClass': Property( + getValue: (CT_ c) => c.relationshipsClass, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String( + c.relationshipsClass, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'sidebarPath': Property( + getValue: (CT_ c) => c.sidebarPath, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String( + c.sidebarPath, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + }, + ) as Map>; - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String(c.name, ast, r.template, sink, parent: r); - }, - ), - 'referenceChildren': Property( - getValue: (CT_ c) => c.referenceChildren, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'Map', - ), + _Renderer_Enum( + Enum context, + RendererBase? parent, + Template template, + StringSink sink, + ) : super(context, parent, template, sink); - isNullValue: (CT_ c) => false, + @override + Property? getProperty(String key) { + if (propertyMap().containsKey(key)) { + return propertyMap()[key]; + } else { + return null; + } + } +} - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - renderSimple( - c.referenceChildren, - ast, - r.template, - sink, - parent: r, - getters: _invisibleGetters['Map']!, - ); - }, - ), - 'referenceGrandparentOverrides': Property( - getValue: (CT_ c) => c.referenceGrandparentOverrides, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'Iterable', - ), +String renderEnum(EnumTemplateData context, Template template) { + var buffer = StringBuffer(); + _render_EnumTemplateData(context, template.ast, template, buffer); + return buffer.toString(); +} - isNullValue: (CT_ c) => c.referenceGrandparentOverrides == null, +void _render_EnumTemplateData( + EnumTemplateData context, + List ast, + Template template, + StringSink sink, { + RendererBase? parent, +}) { + var renderer = _Renderer_EnumTemplateData(context, parent, template, sink); + renderer.renderBlock(ast); +} - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - renderSimple( - c.referenceGrandparentOverrides, - ast, - r.template, - sink, - parent: r, - getters: _invisibleGetters['Iterable']!, - ); - }, - ), - 'referenceParents': Property( - getValue: (CT_ c) => c.referenceParents, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'Iterable', - ), - - renderIterable: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - return c.referenceParents.map( - (e) => renderSimple( - e, - ast, - r.template, - sink, - parent: r, - getters: _invisibleGetters['CommentReferable']!, - ), - ); - }, - ), - 'typeArguments': Property( - getValue: (CT_ c) => c.typeArguments, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'Iterable', - ), - - renderIterable: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - return c.typeArguments.map( - (e) => _render_ElementType( - e, - ast, - r.template, - sink, - parent: r, - ), - ); - }, - ), +class _Renderer_EnumTemplateData extends RendererBase { + static final Map _propertyMapCache = {}; + static Map> propertyMap< + CT_ extends EnumTemplateData>() => + _propertyMapCache.putIfAbsent( + CT_, + () => { + ..._Renderer_InheritingContainerTemplateData.propertyMap(), + 'eNum': Property( + getValue: (CT_ c) => c.eNum, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_Enum.propertyMap().getValue( + name, + ); + return nextProperty.renderVariable( + self.getValue(c) as Enum, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_Enum(c.eNum, ast, r.template, sink, parent: r); + }, + ), + 'self': Property( + getValue: (CT_ c) => c.self, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_Enum.propertyMap().getValue( + name, + ); + return nextProperty.renderVariable( + self.getValue(c) as Enum, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_Enum(c.self, ast, r.template, sink, parent: r); }, - ) - as Map>; + ), + }, + ) as Map>; - _Renderer_DefinedElementType( - DefinedElementType context, + _Renderer_EnumTemplateData( + EnumTemplateData context, RendererBase? parent, Template template, StringSink sink, ) : super(context, parent, template, sink); @override - Property? getProperty(String key) { - if (propertyMap().containsKey(key)) { - return propertyMap()[key]; + Property? getProperty(String key) { + if (propertyMap().containsKey(key)) { + return propertyMap()[key]; } else { return null; } } } -void _render_Documentable( - Documentable context, +void _render_Extension( + Extension context, List ast, Template template, StringSink sink, { RendererBase? parent, }) { - var renderer = _Renderer_Documentable(context, parent, template, sink); + var renderer = _Renderer_Extension(context, parent, template, sink); renderer.renderBlock(ast); } -class _Renderer_Documentable extends RendererBase { +class _Renderer_Extension extends RendererBase { static final Map _propertyMapCache = {}; - static Map> propertyMap() => + static Map> propertyMap() => _propertyMapCache.putIfAbsent( - CT_, - () => { - ..._Renderer_Object.propertyMap(), - ..._Renderer_Nameable.propertyMap(), - 'aboveSidebarPath': Property( - getValue: (CT_ c) => c.aboveSidebarPath, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, + CT_, + () => { + ..._Renderer_Container.propertyMap(), + 'allModelElements': Property( + getValue: (CT_ c) => c.allModelElements, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'List', + ), + renderIterable: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + return c.allModelElements.map( + (e) => _render_ModelElement( + e, + ast, + r.template, + sink, + parent: r, + ), + ); + }, + ), + 'alwaysApplies': Property( + getValue: (CT_ c) => c.alwaysApplies, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'bool'), + getBool: (CT_ c) => c.alwaysApplies, + ), + 'availableInstanceFieldsSorted': Property( + getValue: (CT_ c) => c.availableInstanceFieldsSorted, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'List', + ), + renderIterable: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + return c.availableInstanceFieldsSorted.map( + (e) => _render_Field(e, ast, r.template, sink, parent: r), + ); + }, + ), + 'availableInstanceMethodsSorted': Property( + getValue: (CT_ c) => c.availableInstanceMethodsSorted, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'List', + ), + renderIterable: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + return c.availableInstanceMethodsSorted.map( + (e) => _render_Method(e, ast, r.template, sink, parent: r), + ); + }, + ), + 'availableInstanceOperatorsSorted': Property( + getValue: (CT_ c) => c.availableInstanceOperatorsSorted, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'List', + ), + renderIterable: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + return c.availableInstanceOperatorsSorted.map( + (e) => _render_Operator( + e, + ast, + r.template, + sink, + parent: r, + ), + ); + }, + ), + 'declaredFields': Property( + getValue: (CT_ c) => c.declaredFields, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'List', + ), + renderIterable: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + return c.declaredFields.map( + (e) => _render_Field(e, ast, r.template, sink, parent: r), + ); + }, + ), + 'declaredMethods': Property( + getValue: (CT_ c) => c.declaredMethods, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'List', + ), + renderIterable: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + return c.declaredMethods.map( + (e) => _render_Method(e, ast, r.template, sink, parent: r), + ); + }, + ), + 'element': Property( + getValue: (CT_ c) => c.element, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'ExtensionElement2', + ), + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + renderSimple( + c.element, + ast, + r.template, + sink, + parent: r, + getters: _invisibleGetters['ExtensionElement2']!, + ); + }, + ), + 'enclosingElement': Property( + getValue: (CT_ c) => c.enclosingElement, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_Library.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as Library, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_Library( + c.enclosingElement, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'extendedElement': Property( + getValue: (CT_ c) => c.extendedElement, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = + _Renderer_ElementType.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as ElementType, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_ElementType( + c.extendedElement, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'instanceMethods': Property( + getValue: (CT_ c) => c.instanceMethods, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'Iterable', + ), + renderIterable: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + return c.instanceMethods.map( + (e) => _render_Method(e, ast, r.template, sink, parent: r), + ); + }, + ), + 'kind': Property( + getValue: (CT_ c) => c.kind, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'Kind'), + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + renderSimple( + c.kind, + ast, + r.template, + sink, + parent: r, + getters: _invisibleGetters['Kind']!, + ); + }, + ), + 'name': Property( + getValue: (CT_ c) => c.name, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String(c.name, ast, r.template, sink, parent: r); + }, + ), + 'referenceChildren': Property( + getValue: (CT_ c) => c.referenceChildren, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'Map', + ), + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + renderSimple( + c.referenceChildren, + ast, + r.template, + sink, + parent: r, + getters: _invisibleGetters['Map']!, + ); + }, + ), + 'relationshipsClass': Property( + getValue: (CT_ c) => c.relationshipsClass, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String( + c.relationshipsClass, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'sidebarPath': Property( + getValue: (CT_ c) => c.sidebarPath, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String( + c.sidebarPath, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'typeParameters': Property( + getValue: (CT_ c) => c.typeParameters, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'List', + ), + renderIterable: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + return c.typeParameters.map( + (e) => _render_TypeParameter( + e, + ast, + r.template, + sink, + parent: r, + ), + ); + }, + ), + }, + ) as Map>; - isNullValue: (CT_ c) => c.aboveSidebarPath == null, + _Renderer_Extension( + Extension context, + RendererBase? parent, + Template template, + StringSink sink, + ) : super(context, parent, template, sink); - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String( - c.aboveSidebarPath!, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'belowSidebarPath': Property( - getValue: (CT_ c) => c.belowSidebarPath, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => c.belowSidebarPath == null, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String( - c.belowSidebarPath!, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'config': Property( - getValue: (CT_ c) => c.config, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'DartdocOptionContext', - ), - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - renderSimple( - c.config, - ast, - r.template, - sink, - parent: r, - getters: _invisibleGetters['DartdocOptionContext']!, - ); - }, - ), - 'documentation': Property( - getValue: (CT_ c) => c.documentation, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => c.documentation == null, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String( - c.documentation!, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'documentationAsHtml': Property( - getValue: (CT_ c) => c.documentationAsHtml, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String( - c.documentationAsHtml, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'hasDocumentation': Property( - getValue: (CT_ c) => c.hasDocumentation, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'bool'), - - getBool: (CT_ c) => c.hasDocumentation, - ), - 'href': Property( - getValue: (CT_ c) => c.href, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => c.href == null, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String(c.href!, ast, r.template, sink, parent: r); - }, - ), - 'isDocumented': Property( - getValue: (CT_ c) => c.isDocumented, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'bool'), - - getBool: (CT_ c) => c.isDocumented, - ), - 'kind': Property( - getValue: (CT_ c) => c.kind, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'Kind'), - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - renderSimple( - c.kind, - ast, - r.template, - sink, - parent: r, - getters: _invisibleGetters['Kind']!, - ); - }, - ), - 'oneLineDoc': Property( - getValue: (CT_ c) => c.oneLineDoc, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String( - c.oneLineDoc, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'package': Property( - getValue: (CT_ c) => c.package, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_Package.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as Package, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, + @override + Property? getProperty(String key) { + if (propertyMap().containsKey(key)) { + return propertyMap()[key]; + } else { + return null; + } + } +} - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_Package( - c.package, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'packageGraph': Property( - getValue: (CT_ c) => c.packageGraph, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'PackageGraph', - ), +String renderExtension( + ExtensionTemplateData context, + Template template, +) { + var buffer = StringBuffer(); + _render_ExtensionTemplateData(context, template.ast, template, buffer); + return buffer.toString(); +} - isNullValue: (CT_ c) => false, +void _render_ExtensionTemplateData( + ExtensionTemplateData context, + List ast, + Template template, + StringSink sink, { + RendererBase? parent, +}) { + var renderer = _Renderer_ExtensionTemplateData( + context, + parent, + template, + sink, + ); + renderer.renderBlock(ast); +} - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - renderSimple( - c.packageGraph, - ast, - r.template, - sink, - parent: r, - getters: _invisibleGetters['PackageGraph']!, - ); - }, - ), +class _Renderer_ExtensionTemplateData + extends RendererBase> { + static final Map _propertyMapCache = {}; + static Map> propertyMap() => + _propertyMapCache.putIfAbsent( + CT_, + () => { + ..._Renderer_TemplateData.propertyMap(), + ..._Renderer_OneDirectoryDown.propertyMap(), + 'container': Property( + getValue: (CT_ c) => c.container, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = + _Renderer_Container.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as Container, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_Container( + c.container, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'extension': Property( + getValue: (CT_ c) => c.extension, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = + _Renderer_Extension.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as Extension, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_Extension( + c.extension, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'layoutTitle': Property( + getValue: (CT_ c) => c.layoutTitle, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String( + c.layoutTitle, + ast, + r.template, + sink, + parent: r, + ); }, - ) - as Map>; + ), + 'library': Property( + getValue: (CT_ c) => c.library, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_Library.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as Library, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_Library( + c.library, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'metaDescription': Property( + getValue: (CT_ c) => c.metaDescription, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String( + c.metaDescription, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'navLinks': Property( + getValue: (CT_ c) => c.navLinks, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'List', + ), + renderIterable: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + return c.navLinks.map( + (e) => _render_Documentable( + e, + ast, + r.template, + sink, + parent: r, + ), + ); + }, + ), + 'self': Property( + getValue: (CT_ c) => c.self, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = + _Renderer_Extension.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as Extension, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_Extension( + c.self, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'title': Property( + getValue: (CT_ c) => c.title, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String(c.title, ast, r.template, sink, parent: r); + }, + ), + }, + ) as Map>; - _Renderer_Documentable( - Documentable context, + _Renderer_ExtensionTemplateData( + ExtensionTemplateData context, RendererBase? parent, Template template, StringSink sink, ) : super(context, parent, template, sink); @override - Property? getProperty(String key) { - if (propertyMap().containsKey(key)) { - return propertyMap()[key]; + Property>? getProperty(String key) { + if (propertyMap>().containsKey(key)) { + return propertyMap>()[key]; } else { return null; } } } -class _Renderer_DocumentationComment - extends RendererBase { +void _render_ExtensionType( + ExtensionType context, + List ast, + Template template, + StringSink sink, { + RendererBase? parent, +}) { + var renderer = _Renderer_ExtensionType(context, parent, template, sink); + renderer.renderBlock(ast); +} + +class _Renderer_ExtensionType extends RendererBase { static final Map _propertyMapCache = {}; - static Map> - propertyMap() => + static Map> propertyMap() => _propertyMapCache.putIfAbsent( - CT_, - () => { - 'documentationAsHtml': Property( - getValue: (CT_ c) => c.documentationAsHtml, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String( - c.documentationAsHtml, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'documentationComment': Property( - getValue: (CT_ c) => c.documentationComment, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String( - c.documentationComment, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'documentationFrom': Property( - getValue: (CT_ c) => c.documentationFrom, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'List', - ), - - renderIterable: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - return c.documentationFrom.map( - (e) => renderSimple( - e, - ast, - r.template, - sink, - parent: r, - getters: _invisibleGetters['DocumentationComment']!, - ), - ); - }, - ), - 'documentationLocal': Property( - getValue: (CT_ c) => c.documentationLocal, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String( - c.documentationLocal, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'element': Property( - getValue: (CT_ c) => c.element, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'Element2', - ), - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - renderSimple( - c.element, - ast, - r.template, - sink, - parent: r, - getters: _invisibleGetters['Element2']!, - ); - }, - ), - 'elementDocumentation': Property( - getValue: (CT_ c) => c.elementDocumentation, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'Documentation', - ), - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - renderSimple( - c.elementDocumentation, - ast, - r.template, - sink, - parent: r, - getters: _invisibleGetters['Documentation']!, - ); - }, - ), - 'hasDocumentationComment': Property( - getValue: (CT_ c) => c.hasDocumentationComment, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'bool'), - - getBool: (CT_ c) => c.hasDocumentationComment, - ), - 'hasNodoc': Property( - getValue: (CT_ c) => c.hasNodoc, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'bool'), - - getBool: (CT_ c) => c.hasNodoc, - ), - 'needsPrecache': Property( - getValue: (CT_ c) => c.needsPrecache, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'bool'), - - getBool: (CT_ c) => c.needsPrecache, - ), - 'pathContext': Property( - getValue: (CT_ c) => c.pathContext, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'Context'), - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - renderSimple( - c.pathContext, - ast, - r.template, - sink, - parent: r, - getters: _invisibleGetters['Context']!, - ); - }, - ), - 'sourceFileName': Property( - getValue: (CT_ c) => c.sourceFileName, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => c.sourceFileName == null, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String( - c.sourceFileName!, - ast, - r.template, - sink, - parent: r, - ); - }, - ), + CT_, + () => { + ..._Renderer_InheritingContainer.propertyMap(), + ..._Renderer_Constructable.propertyMap(), + 'allModelElements': Property( + getValue: (CT_ c) => c.allModelElements, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'List', + ), + renderIterable: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + return c.allModelElements.map( + (e) => _render_ModelElement( + e, + ast, + r.template, + sink, + parent: r, + ), + ); + }, + ), + 'declaredFields': Property( + getValue: (CT_ c) => c.declaredFields, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'List', + ), + renderIterable: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + return c.declaredFields.map( + (e) => _render_Field(e, ast, r.template, sink, parent: r), + ); + }, + ), + 'element': Property( + getValue: (CT_ c) => c.element, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'ExtensionTypeElement2', + ), + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + renderSimple( + c.element, + ast, + r.template, + sink, + parent: r, + getters: _invisibleGetters['ExtensionTypeElement2']!, + ); + }, + ), + 'enclosingElement': Property( + getValue: (CT_ c) => c.enclosingElement, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_Library.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as Library, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_Library( + c.enclosingElement, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'fileName': Property( + getValue: (CT_ c) => c.fileName, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String( + c.fileName, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'inheritanceChain': Property( + getValue: (CT_ c) => c.inheritanceChain, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'List', + ), + renderIterable: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + return c.inheritanceChain.map( + (e) => _render_InheritingContainer( + e, + ast, + r.template, + sink, + parent: r, + ), + ); + }, + ), + 'isAbstract': Property( + getValue: (CT_ c) => c.isAbstract, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'bool'), + getBool: (CT_ c) => c.isAbstract, + ), + 'isBase': Property( + getValue: (CT_ c) => c.isBase, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'bool'), + getBool: (CT_ c) => c.isBase, + ), + 'isImplementableInterface': Property( + getValue: (CT_ c) => c.isImplementableInterface, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'bool'), + getBool: (CT_ c) => c.isImplementableInterface, + ), + 'isMixinClass': Property( + getValue: (CT_ c) => c.isMixinClass, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'bool'), + getBool: (CT_ c) => c.isMixinClass, + ), + 'isSealed': Property( + getValue: (CT_ c) => c.isSealed, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'bool'), + getBool: (CT_ c) => c.isSealed, + ), + 'kind': Property( + getValue: (CT_ c) => c.kind, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'Kind'), + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + renderSimple( + c.kind, + ast, + r.template, + sink, + parent: r, + getters: _invisibleGetters['Kind']!, + ); + }, + ), + 'referenceChildren': Property( + getValue: (CT_ c) => c.referenceChildren, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'Map', + ), + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + renderSimple( + c.referenceChildren, + ast, + r.template, + sink, + parent: r, + getters: _invisibleGetters['Map']!, + ); + }, + ), + 'relationshipsClass': Property( + getValue: (CT_ c) => c.relationshipsClass, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String( + c.relationshipsClass, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'representationType': Property( + getValue: (CT_ c) => c.representationType, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = + _Renderer_ElementType.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as ElementType, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_ElementType( + c.representationType, + ast, + r.template, + sink, + parent: r, + ); }, - ) - as Map>; + ), + 'sidebarPath': Property( + getValue: (CT_ c) => c.sidebarPath, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String( + c.sidebarPath, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + }, + ) as Map>; - _Renderer_DocumentationComment( - DocumentationComment context, + _Renderer_ExtensionType( + ExtensionType context, RendererBase? parent, Template template, StringSink sink, ) : super(context, parent, template, sink); @override - Property? getProperty(String key) { - if (propertyMap().containsKey(key)) { - return propertyMap()[key]; + Property? getProperty(String key) { + if (propertyMap().containsKey(key)) { + return propertyMap()[key]; } else { return null; } } } -void _render_ElementType( - ElementType context, +String renderExtensionType( + ExtensionTypeTemplateData context, + Template template, +) { + var buffer = StringBuffer(); + _render_ExtensionTypeTemplateData(context, template.ast, template, buffer); + return buffer.toString(); +} + +void _render_ExtensionTypeTemplateData( + ExtensionTypeTemplateData context, List ast, Template template, StringSink sink, { RendererBase? parent, }) { - var renderer = _Renderer_ElementType(context, parent, template, sink); + var renderer = _Renderer_ExtensionTypeTemplateData( + context, + parent, + template, + sink, + ); renderer.renderBlock(ast); } -class _Renderer_ElementType extends RendererBase { +class _Renderer_ExtensionTypeTemplateData + extends RendererBase> { static final Map _propertyMapCache = {}; - static Map> propertyMap() => + static Map> propertyMap() => _propertyMapCache.putIfAbsent( - CT_, - () => { - ..._Renderer_Object.propertyMap(), - ..._Renderer_CommentReferable.propertyMap(), - ..._Renderer_Nameable.propertyMap(), - 'breadcrumbName': Property( - getValue: (CT_ c) => c.breadcrumbName, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String( - c.breadcrumbName, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'displayName': Property( - getValue: (CT_ c) => c.displayName, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String( - c.displayName, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'isTypedef': Property( - getValue: (CT_ c) => c.isTypedef, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'bool'), - - getBool: (CT_ c) => c.isTypedef, - ), - 'library': Property( - getValue: (CT_ c) => c.library, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_Library.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as Library, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_Library( - c.library, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'linkedName': Property( - getValue: (CT_ c) => c.linkedName, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String( - c.linkedName, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'nameWithGenerics': Property( - getValue: (CT_ c) => c.nameWithGenerics, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String( - c.nameWithGenerics, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'nameWithGenericsPlain': Property( - getValue: (CT_ c) => c.nameWithGenericsPlain, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String( - c.nameWithGenericsPlain, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'nullabilitySuffix': Property( - getValue: (CT_ c) => c.nullabilitySuffix, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String( - c.nullabilitySuffix, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'packageGraph': Property( - getValue: (CT_ c) => c.packageGraph, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'PackageGraph', - ), - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - renderSimple( - c.packageGraph, - ast, - r.template, - sink, - parent: r, - getters: _invisibleGetters['PackageGraph']!, - ); - }, - ), - 'type': Property( - getValue: (CT_ c) => c.type, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'DartType', - ), - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - renderSimple( - c.type, - ast, - r.template, - sink, - parent: r, - getters: _invisibleGetters['DartType']!, - ); - }, - ), - 'typeArguments': Property( - getValue: (CT_ c) => c.typeArguments, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'Iterable', - ), - - renderIterable: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - return c.typeArguments.map( - (e) => _render_ElementType( - e, - ast, - r.template, - sink, - parent: r, - ), - ); - }, - ), + CT_, + () => { + ..._Renderer_TemplateData.propertyMap(), + ..._Renderer_OneDirectoryDown.propertyMap(), + 'container': Property( + getValue: (CT_ c) => c.container, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = + _Renderer_Container.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as Container, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_Container( + c.container, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'extensionType': Property( + getValue: (CT_ c) => c.extensionType, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = + _Renderer_ExtensionType.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as ExtensionType, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_ExtensionType( + c.extensionType, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'layoutTitle': Property( + getValue: (CT_ c) => c.layoutTitle, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); }, - ) - as Map>; + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String( + c.layoutTitle, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'library': Property( + getValue: (CT_ c) => c.library, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_Library.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as Library, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_Library( + c.library, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'metaDescription': Property( + getValue: (CT_ c) => c.metaDescription, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String( + c.metaDescription, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'navLinks': Property( + getValue: (CT_ c) => c.navLinks, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'List', + ), + renderIterable: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + return c.navLinks.map( + (e) => _render_Documentable( + e, + ast, + r.template, + sink, + parent: r, + ), + ); + }, + ), + 'self': Property( + getValue: (CT_ c) => c.self, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = + _Renderer_ExtensionType.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as ExtensionType, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_ExtensionType( + c.self, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'title': Property( + getValue: (CT_ c) => c.title, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String(c.title, ast, r.template, sink, parent: r); + }, + ), + }, + ) as Map>; - _Renderer_ElementType( - ElementType context, + _Renderer_ExtensionTypeTemplateData( + ExtensionTypeTemplateData context, RendererBase? parent, Template template, StringSink sink, ) : super(context, parent, template, sink); @override - Property? getProperty(String key) { - if (propertyMap().containsKey(key)) { - return propertyMap()[key]; + Property>? getProperty(String key) { + if (propertyMap>().containsKey(key)) { + return propertyMap>()[key]; } else { return null; } } } -void _render_Enum( - Enum context, +void _render_ExternalItem( + ExternalItem context, List ast, Template template, StringSink sink, { RendererBase? parent, }) { - var renderer = _Renderer_Enum(context, parent, template, sink); + var renderer = _Renderer_ExternalItem(context, parent, template, sink); renderer.renderBlock(ast); } -class _Renderer_Enum extends RendererBase { +class _Renderer_ExternalItem extends RendererBase { static final Map _propertyMapCache = {}; - static Map> propertyMap() => + static Map> propertyMap() => _propertyMapCache.putIfAbsent( - CT_, - () => { - ..._Renderer_InheritingContainer.propertyMap(), - ..._Renderer_Constructable.propertyMap(), - ..._Renderer_MixedInTypes.propertyMap(), - 'allModelElements': Property( - getValue: (CT_ c) => c.allModelElements, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'List', - ), - - renderIterable: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - return c.allModelElements.map( - (e) => _render_ModelElement( - e, - ast, - r.template, - sink, - parent: r, - ), - ); - }, - ), - 'constantFields': Property( - getValue: (CT_ c) => c.constantFields, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'Iterable', - ), - - renderIterable: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - return c.constantFields.map( - (e) => - _render_Field(e, ast, r.template, sink, parent: r), - ); - }, - ), - 'element': Property( - getValue: (CT_ c) => c.element, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'EnumElement2', - ), - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - renderSimple( - c.element, - ast, - r.template, - sink, - parent: r, - getters: _invisibleGetters['EnumElement2']!, - ); - }, - ), - 'fileName': Property( - getValue: (CT_ c) => c.fileName, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String( - c.fileName, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'inheritanceChain': Property( - getValue: (CT_ c) => c.inheritanceChain, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'List', - ), - - renderIterable: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - return c.inheritanceChain.map( - (e) => _render_InheritingContainer( - e, - ast, - r.template, - sink, - parent: r, - ), - ); - }, - ), - 'isAbstract': Property( - getValue: (CT_ c) => c.isAbstract, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'bool'), - - getBool: (CT_ c) => c.isAbstract, - ), - 'isBase': Property( - getValue: (CT_ c) => c.isBase, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'bool'), - - getBool: (CT_ c) => c.isBase, - ), - 'isImplementableInterface': Property( - getValue: (CT_ c) => c.isImplementableInterface, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'bool'), - - getBool: (CT_ c) => c.isImplementableInterface, - ), - 'isMixinClass': Property( - getValue: (CT_ c) => c.isMixinClass, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'bool'), - - getBool: (CT_ c) => c.isMixinClass, - ), - 'isSealed': Property( - getValue: (CT_ c) => c.isSealed, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'bool'), - - getBool: (CT_ c) => c.isSealed, - ), - 'kind': Property( - getValue: (CT_ c) => c.kind, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'Kind'), - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - renderSimple( - c.kind, - ast, - r.template, - sink, - parent: r, - getters: _invisibleGetters['Kind']!, - ); - }, - ), - 'publicEnumValues': Property( - getValue: (CT_ c) => c.publicEnumValues, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'List', - ), - - renderIterable: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - return c.publicEnumValues.map( - (e) => - _render_Field(e, ast, r.template, sink, parent: r), - ); - }, - ), - 'relationshipsClass': Property( - getValue: (CT_ c) => c.relationshipsClass, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String( - c.relationshipsClass, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'sidebarPath': Property( - getValue: (CT_ c) => c.sidebarPath, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String( - c.sidebarPath, - ast, - r.template, - sink, - parent: r, - ); - }, - ), + CT_, + () => { + ..._Renderer_Object.propertyMap(), + 'docs': Property( + getValue: (CT_ c) => c.docs, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String(c.docs, ast, r.template, sink, parent: r); }, - ) - as Map>; + ), + 'name': Property( + getValue: (CT_ c) => c.name, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String(c.name, ast, r.template, sink, parent: r); + }, + ), + 'url': Property( + getValue: (CT_ c) => c.url, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String(c.url, ast, r.template, sink, parent: r); + }, + ), + }, + ) as Map>; - _Renderer_Enum( - Enum context, + _Renderer_ExternalItem( + ExternalItem context, RendererBase? parent, Template template, StringSink sink, ) : super(context, parent, template, sink); @override - Property? getProperty(String key) { - if (propertyMap().containsKey(key)) { - return propertyMap()[key]; + Property? getProperty(String key) { + if (propertyMap().containsKey(key)) { + return propertyMap()[key]; } else { return null; } } } -String renderEnum(EnumTemplateData context, Template template) { - var buffer = StringBuffer(); - _render_EnumTemplateData(context, template.ast, template, buffer); - return buffer.toString(); -} - -void _render_EnumTemplateData( - EnumTemplateData context, - List ast, - Template template, - StringSink sink, { - RendererBase? parent, -}) { - var renderer = _Renderer_EnumTemplateData(context, parent, template, sink); - renderer.renderBlock(ast); -} - -class _Renderer_EnumTemplateData extends RendererBase { +class _Renderer_FeatureSet extends RendererBase { static final Map _propertyMapCache = {}; - static Map> - propertyMap() => + static Map> propertyMap() => _propertyMapCache.putIfAbsent( - CT_, - () => { - ..._Renderer_InheritingContainerTemplateData.propertyMap< - Enum, - CT_ - >(), - 'eNum': Property( - getValue: (CT_ c) => c.eNum, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_Enum.propertyMap().getValue( - name, - ); - return nextProperty.renderVariable( - self.getValue(c) as Enum, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_Enum(c.eNum, ast, r.template, sink, parent: r); - }, - ), - 'self': Property( - getValue: (CT_ c) => c.self, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_Enum.propertyMap().getValue( - name, - ); - return nextProperty.renderVariable( - self.getValue(c) as Enum, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_Enum(c.self, ast, r.template, sink, parent: r); - }, - ), + CT_, + () => { + 'displayedLanguageFeatures': Property( + getValue: (CT_ c) => c.displayedLanguageFeatures, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'Iterable', + ), + renderIterable: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + return c.displayedLanguageFeatures.map( + (e) => _render_LanguageFeature( + e, + ast, + r.template, + sink, + parent: r, + ), + ); + }, + ), + 'hasFeatureSet': Property( + getValue: (CT_ c) => c.hasFeatureSet, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'bool'), + getBool: (CT_ c) => c.hasFeatureSet, + ), + 'library': Property( + getValue: (CT_ c) => c.library, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_Library.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as Library, + nextProperty, + [...remainingNames.skip(1)], + ); }, - ) - as Map>; + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_Library( + c.library, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'packageGraph': Property( + getValue: (CT_ c) => c.packageGraph, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'PackageGraph', + ), + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + renderSimple( + c.packageGraph, + ast, + r.template, + sink, + parent: r, + getters: _invisibleGetters['PackageGraph']!, + ); + }, + ), + }, + ) as Map>; - _Renderer_EnumTemplateData( - EnumTemplateData context, + _Renderer_FeatureSet( + FeatureSet context, RendererBase? parent, Template template, StringSink sink, ) : super(context, parent, template, sink); @override - Property? getProperty(String key) { - if (propertyMap().containsKey(key)) { - return propertyMap()[key]; + Property? getProperty(String key) { + if (propertyMap().containsKey(key)) { + return propertyMap()[key]; } else { return null; } } } -void _render_Extension( - Extension context, +void _render_Field( + Field context, List ast, Template template, StringSink sink, { RendererBase? parent, }) { - var renderer = _Renderer_Extension(context, parent, template, sink); + var renderer = _Renderer_Field(context, parent, template, sink); renderer.renderBlock(ast); } -class _Renderer_Extension extends RendererBase { +class _Renderer_Field extends RendererBase { static final Map _propertyMapCache = {}; - static Map> propertyMap() => + static Map> propertyMap() => _propertyMapCache.putIfAbsent( - CT_, - () => { - ..._Renderer_Container.propertyMap(), - 'allModelElements': Property( - getValue: (CT_ c) => c.allModelElements, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'List', - ), - - renderIterable: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - return c.allModelElements.map( - (e) => _render_ModelElement( - e, - ast, - r.template, - sink, - parent: r, - ), - ); - }, - ), - 'alwaysApplies': Property( - getValue: (CT_ c) => c.alwaysApplies, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'bool'), - - getBool: (CT_ c) => c.alwaysApplies, - ), - 'availableInstanceFieldsSorted': Property( - getValue: (CT_ c) => c.availableInstanceFieldsSorted, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'List', - ), - - renderIterable: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - return c.availableInstanceFieldsSorted.map( - (e) => - _render_Field(e, ast, r.template, sink, parent: r), - ); - }, - ), - 'availableInstanceMethodsSorted': Property( - getValue: (CT_ c) => c.availableInstanceMethodsSorted, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'List', - ), - - renderIterable: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - return c.availableInstanceMethodsSorted.map( - (e) => - _render_Method(e, ast, r.template, sink, parent: r), - ); - }, - ), - 'availableInstanceOperatorsSorted': Property( - getValue: (CT_ c) => c.availableInstanceOperatorsSorted, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'List', - ), - - renderIterable: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - return c.availableInstanceOperatorsSorted.map( - (e) => _render_Operator( - e, - ast, - r.template, - sink, - parent: r, - ), - ); - }, - ), - 'declaredFields': Property( - getValue: (CT_ c) => c.declaredFields, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'List', - ), - - renderIterable: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - return c.declaredFields.map( - (e) => - _render_Field(e, ast, r.template, sink, parent: r), - ); - }, - ), - 'declaredMethods': Property( - getValue: (CT_ c) => c.declaredMethods, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'List', - ), - - renderIterable: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - return c.declaredMethods.map( - (e) => - _render_Method(e, ast, r.template, sink, parent: r), - ); - }, - ), - 'element': Property( - getValue: (CT_ c) => c.element, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'ExtensionElement2', - ), - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - renderSimple( - c.element, - ast, - r.template, - sink, - parent: r, - getters: _invisibleGetters['ExtensionElement2']!, - ); - }, - ), - 'enclosingElement': Property( - getValue: (CT_ c) => c.enclosingElement, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_Library.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as Library, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_Library( - c.enclosingElement, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'extendedElement': Property( - getValue: (CT_ c) => c.extendedElement, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_ElementType.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as ElementType, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_ElementType( - c.extendedElement, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'instanceMethods': Property( - getValue: (CT_ c) => c.instanceMethods, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'Iterable', - ), - - renderIterable: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - return c.instanceMethods.map( - (e) => - _render_Method(e, ast, r.template, sink, parent: r), - ); - }, - ), - 'kind': Property( - getValue: (CT_ c) => c.kind, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'Kind'), - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - renderSimple( - c.kind, - ast, - r.template, - sink, - parent: r, - getters: _invisibleGetters['Kind']!, - ); - }, - ), - 'name': Property( - getValue: (CT_ c) => c.name, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String(c.name, ast, r.template, sink, parent: r); - }, - ), - 'referenceChildren': Property( - getValue: (CT_ c) => c.referenceChildren, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'Map', - ), - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - renderSimple( - c.referenceChildren, - ast, - r.template, - sink, - parent: r, - getters: _invisibleGetters['Map']!, - ); - }, - ), - 'relationshipsClass': Property( - getValue: (CT_ c) => c.relationshipsClass, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String( - c.relationshipsClass, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'sidebarPath': Property( - getValue: (CT_ c) => c.sidebarPath, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String( - c.sidebarPath, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'typeParameters': Property( - getValue: (CT_ c) => c.typeParameters, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'List', - ), - - renderIterable: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - return c.typeParameters.map( - (e) => _render_TypeParameter( - e, - ast, - r.template, - sink, - parent: r, - ), - ); - }, - ), + CT_, + () => { + ..._Renderer_ModelElement.propertyMap(), + ..._Renderer_GetterSetterCombo.propertyMap(), + ..._Renderer_ContainerMember.propertyMap(), + ..._Renderer_Inheritable.propertyMap(), + 'aboveSidebarPath': Property( + getValue: (CT_ c) => c.aboveSidebarPath, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String( + c.aboveSidebarPath, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'attributes': Property( + getValue: (CT_ c) => c.attributes, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'Set', + ), + renderIterable: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + return c.attributes.map( + (e) => renderSimple( + e, + ast, + r.template, + sink, + parent: r, + getters: _invisibleGetters['Attribute']!, + ), + ); + }, + ), + 'belowSidebarPath': Property( + getValue: (CT_ c) => c.belowSidebarPath, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => c.belowSidebarPath == null, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String( + c.belowSidebarPath!, + ast, + r.template, + sink, + parent: r, + ); }, - ) - as Map>; + ), + 'documentation': Property( + getValue: (CT_ c) => c.documentation, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String( + c.documentation, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'element': Property( + getValue: (CT_ c) => c.element, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'FieldElement2', + ), + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + renderSimple( + c.element, + ast, + r.template, + sink, + parent: r, + getters: _invisibleGetters['FieldElement2']!, + ); + }, + ), + 'enclosingElement': Property( + getValue: (CT_ c) => c.enclosingElement, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = + _Renderer_Container.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as Container, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_Container( + c.enclosingElement, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'enclosingExtension': Property( + getValue: (CT_ c) => c.enclosingExtension, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = + _Renderer_Extension.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as Extension, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_Extension( + c.enclosingExtension, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'fileName': Property( + getValue: (CT_ c) => c.fileName, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String( + c.fileName, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'fullkind': Property( + getValue: (CT_ c) => c.fullkind, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String( + c.fullkind, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'getter': Property( + getValue: (CT_ c) => c.getter, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = + _Renderer_ContainerAccessor.propertyMap().getValue( + name, + ); + return nextProperty.renderVariable( + self.getValue(c) as ContainerAccessor, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => c.getter == null, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_ContainerAccessor( + c.getter!, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'href': Property( + getValue: (CT_ c) => c.href, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => c.href == null, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String(c.href!, ast, r.template, sink, parent: r); + }, + ), + 'isConst': Property( + getValue: (CT_ c) => c.isConst, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'bool'), + getBool: (CT_ c) => c.isConst, + ), + 'isCovariant': Property( + getValue: (CT_ c) => c.isCovariant, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'bool'), + getBool: (CT_ c) => c.isCovariant, + ), + 'isFinal': Property( + getValue: (CT_ c) => c.isFinal, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'bool'), + getBool: (CT_ c) => c.isFinal, + ), + 'isInherited': Property( + getValue: (CT_ c) => c.isInherited, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'bool'), + getBool: (CT_ c) => c.isInherited, + ), + 'isLate': Property( + getValue: (CT_ c) => c.isLate, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'bool'), + getBool: (CT_ c) => c.isLate, + ), + 'isProvidedByExtension': Property( + getValue: (CT_ c) => c.isProvidedByExtension, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'bool'), + getBool: (CT_ c) => c.isProvidedByExtension, + ), + 'isStatic': Property( + getValue: (CT_ c) => c.isStatic, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'bool'), + getBool: (CT_ c) => c.isStatic, + ), + 'kind': Property( + getValue: (CT_ c) => c.kind, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'Kind'), + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + renderSimple( + c.kind, + ast, + r.template, + sink, + parent: r, + getters: _invisibleGetters['Kind']!, + ); + }, + ), + 'overriddenElement': Property( + getValue: (CT_ c) => c.overriddenElement, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = + _Renderer_Inheritable.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as Inheritable, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => c.overriddenElement == null, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + renderSimple( + c.overriddenElement, + ast, + r.template, + sink, + parent: r, + getters: _invisibleGetters['Inheritable']!, + ); + }, + ), + 'setter': Property( + getValue: (CT_ c) => c.setter, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = + _Renderer_ContainerAccessor.propertyMap().getValue( + name, + ); + return nextProperty.renderVariable( + self.getValue(c) as ContainerAccessor, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => c.setter == null, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_ContainerAccessor( + c.setter!, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'sourceCode': Property( + getValue: (CT_ c) => c.sourceCode, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String( + c.sourceCode, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + }, + ) as Map>; - _Renderer_Extension( - Extension context, + _Renderer_Field( + Field context, RendererBase? parent, Template template, StringSink sink, ) : super(context, parent, template, sink); @override - Property? getProperty(String key) { - if (propertyMap().containsKey(key)) { - return propertyMap()[key]; + Property? getProperty(String key) { + if (propertyMap().containsKey(key)) { + return propertyMap()[key]; } else { return null; } } } -String renderExtension( - ExtensionTemplateData context, - Template template, -) { +String renderFunction(FunctionTemplateData context, Template template) { var buffer = StringBuffer(); - _render_ExtensionTemplateData(context, template.ast, template, buffer); + _render_FunctionTemplateData(context, template.ast, template, buffer); return buffer.toString(); } -void _render_ExtensionTemplateData( - ExtensionTemplateData context, +void _render_FunctionTemplateData( + FunctionTemplateData context, List ast, Template template, StringSink sink, { RendererBase? parent, }) { - var renderer = _Renderer_ExtensionTemplateData( + var renderer = _Renderer_FunctionTemplateData( context, parent, template, @@ -8052,14406 +9010,11269 @@ void _render_ExtensionTemplateData( renderer.renderBlock(ast); } -class _Renderer_ExtensionTemplateData - extends RendererBase> { +class _Renderer_FunctionTemplateData + extends RendererBase { static final Map _propertyMapCache = {}; - static Map> - propertyMap() => + static Map> propertyMap< + CT_ extends FunctionTemplateData>() => _propertyMapCache.putIfAbsent( - CT_, - () => { - ..._Renderer_TemplateData.propertyMap(), - ..._Renderer_OneDirectoryDown.propertyMap(), - 'container': Property( - getValue: (CT_ c) => c.container, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_Container.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as Container, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_Container( - c.container, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'extension': Property( - getValue: (CT_ c) => c.extension, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_Extension.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as Extension, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_Extension( - c.extension, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'layoutTitle': Property( - getValue: (CT_ c) => c.layoutTitle, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String( - c.layoutTitle, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'library': Property( - getValue: (CT_ c) => c.library, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_Library.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as Library, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_Library( - c.library, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'metaDescription': Property( - getValue: (CT_ c) => c.metaDescription, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String( - c.metaDescription, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'navLinks': Property( - getValue: (CT_ c) => c.navLinks, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'List', - ), - - renderIterable: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - return c.navLinks.map( - (e) => _render_Documentable( - e, - ast, - r.template, - sink, - parent: r, - ), - ); - }, - ), - 'self': Property( - getValue: (CT_ c) => c.self, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_Extension.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as Extension, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_Extension( - c.self, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'title': Property( - getValue: (CT_ c) => c.title, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String(c.title, ast, r.template, sink, parent: r); - }, - ), + CT_, + () => { + ..._Renderer_TemplateData.propertyMap(), + ..._Renderer_OneDirectoryDown.propertyMap(), + 'function': Property( + getValue: (CT_ c) => c.function, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = + _Renderer_ModelFunction.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as ModelFunction, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_ModelFunction( + c.function, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'layoutTitle': Property( + getValue: (CT_ c) => c.layoutTitle, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String( + c.layoutTitle, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'library': Property( + getValue: (CT_ c) => c.library, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_Library.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as Library, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_Library( + c.library, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'metaDescription': Property( + getValue: (CT_ c) => c.metaDescription, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String( + c.metaDescription, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'navLinks': Property( + getValue: (CT_ c) => c.navLinks, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'List', + ), + renderIterable: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + return c.navLinks.map( + (e) => _render_Documentable( + e, + ast, + r.template, + sink, + parent: r, + ), + ); + }, + ), + 'self': Property( + getValue: (CT_ c) => c.self, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = + _Renderer_ModelFunction.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as ModelFunction, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_ModelFunction( + c.self, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'title': Property( + getValue: (CT_ c) => c.title, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); }, - ) - as Map>; + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String(c.title, ast, r.template, sink, parent: r); + }, + ), + }, + ) as Map>; - _Renderer_ExtensionTemplateData( - ExtensionTemplateData context, + _Renderer_FunctionTemplateData( + FunctionTemplateData context, RendererBase? parent, Template template, StringSink sink, ) : super(context, parent, template, sink); @override - Property>? getProperty(String key) { - if (propertyMap>().containsKey(key)) { - return propertyMap>()[key]; + Property? getProperty(String key) { + if (propertyMap().containsKey(key)) { + return propertyMap()[key]; } else { return null; } } } -void _render_ExtensionType( - ExtensionType context, +void _render_FunctionTypedef( + FunctionTypedef context, List ast, Template template, StringSink sink, { RendererBase? parent, }) { - var renderer = _Renderer_ExtensionType(context, parent, template, sink); + var renderer = _Renderer_FunctionTypedef(context, parent, template, sink); renderer.renderBlock(ast); } -class _Renderer_ExtensionType extends RendererBase { +class _Renderer_FunctionTypedef extends RendererBase { static final Map _propertyMapCache = {}; - static Map> propertyMap() => - _propertyMapCache.putIfAbsent( + static Map> + propertyMap() => + _propertyMapCache.putIfAbsent( CT_, () => { - ..._Renderer_InheritingContainer.propertyMap(), - ..._Renderer_Constructable.propertyMap(), - 'allModelElements': Property( - getValue: (CT_ c) => c.allModelElements, + ..._Renderer_Typedef.propertyMap(), + 'modelType': Property( + getValue: (CT_ c) => c.modelType, renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'List', - ), - - renderIterable: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - return c.allModelElements.map( - (e) => _render_ModelElement( - e, - ast, - r.template, - sink, - parent: r, - ), - ); - }, + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = + _Renderer_Callable.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as Callable, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_Callable( + c.modelType, + ast, + r.template, + sink, + parent: r, + ); + }, ), - 'declaredFields': Property( - getValue: (CT_ c) => c.declaredFields, + 'referenceChildren': Property( + getValue: (CT_ c) => c.referenceChildren, renderVariable: (CT_ c, Property self, List remainingNames) => self.renderSimpleVariable( - c, - remainingNames, - 'List', - ), - - renderIterable: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - return c.declaredFields.map( - (e) => - _render_Field(e, ast, r.template, sink, parent: r), - ); - }, + c, + remainingNames, + 'Map', + ), + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + renderSimple( + c.referenceChildren, + ast, + r.template, + sink, + parent: r, + getters: _invisibleGetters['Map']!, + ); + }, ), - 'element': Property( - getValue: (CT_ c) => c.element, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'ExtensionTypeElement2', - ), + }, + ) as Map>; - isNullValue: (CT_ c) => false, + _Renderer_FunctionTypedef( + FunctionTypedef context, + RendererBase? parent, + Template template, + StringSink sink, + ) : super(context, parent, template, sink); - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - renderSimple( - c.element, - ast, - r.template, - sink, - parent: r, - getters: _invisibleGetters['ExtensionTypeElement2']!, - ); - }, - ), - 'enclosingElement': Property( - getValue: (CT_ c) => c.enclosingElement, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_Library.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as Library, - nextProperty, - [...remainingNames.skip(1)], - ); - }, + @override + Property? getProperty(String key) { + if (propertyMap().containsKey(key)) { + return propertyMap()[key]; + } else { + return null; + } + } +} - isNullValue: (CT_ c) => false, +class _Renderer_GetterSetterCombo extends RendererBase { + static final Map _propertyMapCache = {}; + static Map> propertyMap< + CT_ extends GetterSetterCombo>() => + _propertyMapCache.putIfAbsent( + CT_, + () => { + 'allAccessors': Property( + getValue: (CT_ c) => c.allAccessors, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'List', + ), + renderIterable: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + return c.allAccessors.map( + (e) => _render_Accessor( + e, + ast, + r.template, + sink, + parent: r, + ), + ); + }, + ), + 'annotations': Property( + getValue: (CT_ c) => c.annotations, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'List', + ), + renderIterable: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + return c.annotations.map( + (e) => _render_Annotation( + e, + ast, + r.template, + sink, + parent: r, + ), + ); + }, + ), + 'arrow': Property( + getValue: (CT_ c) => c.arrow, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String(c.arrow, ast, r.template, sink, parent: r); + }, + ), + 'characterLocation': Property( + getValue: (CT_ c) => c.characterLocation, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'CharacterLocation', + ), + isNullValue: (CT_ c) => c.characterLocation == null, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + renderSimple( + c.characterLocation, + ast, + r.template, + sink, + parent: r, + getters: _invisibleGetters['CharacterLocation']!, + ); + }, + ), + 'constantValue': Property( + getValue: (CT_ c) => c.constantValue, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String( + c.constantValue, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'constantValueBase': Property( + getValue: (CT_ c) => c.constantValueBase, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String( + c.constantValueBase, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'constantValueTruncated': Property( + getValue: (CT_ c) => c.constantValueTruncated, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String( + c.constantValueTruncated, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'documentationComment': Property( + getValue: (CT_ c) => c.documentationComment, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String( + c.documentationComment, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'documentationFrom': Property( + getValue: (CT_ c) => c.documentationFrom, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'List', + ), + renderIterable: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + return c.documentationFrom.map( + (e) => renderSimple( + e, + ast, + r.template, + sink, + parent: r, + getters: _invisibleGetters['DocumentationComment']!, + ), + ); + }, + ), + 'enclosingElement': Property( + getValue: (CT_ c) => c.enclosingElement, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = + _Renderer_ModelElement.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as ModelElement, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_ModelElement( + c.enclosingElement, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'fileName': Property( + getValue: (CT_ c) => c.fileName, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String( + c.fileName, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'getter': Property( + getValue: (CT_ c) => c.getter, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = + _Renderer_Accessor.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as Accessor, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => c.getter == null, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_Accessor( + c.getter!, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'getterSetterBothAvailable': Property( + getValue: (CT_ c) => c.getterSetterBothAvailable, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'bool'), + getBool: (CT_ c) => c.getterSetterBothAvailable, + ), + 'hasAccessorsWithDocs': Property( + getValue: (CT_ c) => c.hasAccessorsWithDocs, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'bool'), + getBool: (CT_ c) => c.hasAccessorsWithDocs, + ), + 'hasConstantValueForDisplay': Property( + getValue: (CT_ c) => c.hasConstantValueForDisplay, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'bool'), + getBool: (CT_ c) => c.hasConstantValueForDisplay, + ), + 'hasDocumentationComment': Property( + getValue: (CT_ c) => c.hasDocumentationComment, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'bool'), + getBool: (CT_ c) => c.hasDocumentationComment, + ), + 'hasExplicitGetter': Property( + getValue: (CT_ c) => c.hasExplicitGetter, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'bool'), + getBool: (CT_ c) => c.hasExplicitGetter, + ), + 'hasExplicitSetter': Property( + getValue: (CT_ c) => c.hasExplicitSetter, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'bool'), + getBool: (CT_ c) => c.hasExplicitSetter, + ), + 'hasGetter': Property( + getValue: (CT_ c) => c.hasGetter, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'bool'), + getBool: (CT_ c) => c.hasGetter, + ), + 'hasGetterOrSetter': Property( + getValue: (CT_ c) => c.hasGetterOrSetter, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'bool'), + getBool: (CT_ c) => c.hasGetterOrSetter, + ), + 'hasParameters': Property( + getValue: (CT_ c) => c.hasParameters, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'bool'), + getBool: (CT_ c) => c.hasParameters, + ), + 'hasPublicGetter': Property( + getValue: (CT_ c) => c.hasPublicGetter, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'bool'), + getBool: (CT_ c) => c.hasPublicGetter, + ), + 'hasPublicGetterNoSetter': Property( + getValue: (CT_ c) => c.hasPublicGetterNoSetter, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'bool'), + getBool: (CT_ c) => c.hasPublicGetterNoSetter, + ), + 'hasPublicSetter': Property( + getValue: (CT_ c) => c.hasPublicSetter, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'bool'), + getBool: (CT_ c) => c.hasPublicSetter, + ), + 'hasSetter': Property( + getValue: (CT_ c) => c.hasSetter, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'bool'), + getBool: (CT_ c) => c.hasSetter, + ), + 'isCallable': Property( + getValue: (CT_ c) => c.isCallable, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'bool'), + getBool: (CT_ c) => c.isCallable, + ), + 'isInherited': Property( + getValue: (CT_ c) => c.isInherited, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'bool'), + getBool: (CT_ c) => c.isInherited, + ), + 'isPublic': Property( + getValue: (CT_ c) => c.isPublic, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'bool'), + getBool: (CT_ c) => c.isPublic, + ), + 'linkedParamsNoMetadata': Property( + getValue: (CT_ c) => c.linkedParamsNoMetadata, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => c.linkedParamsNoMetadata == null, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String( + c.linkedParamsNoMetadata!, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'modelType': Property( + getValue: (CT_ c) => c.modelType, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = + _Renderer_ElementType.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as ElementType, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_ElementType( + c.modelType, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'name': Property( + getValue: (CT_ c) => c.name, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String(c.name, ast, r.template, sink, parent: r); + }, + ), + 'oneLineDoc': Property( + getValue: (CT_ c) => c.oneLineDoc, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String( + c.oneLineDoc, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'parameters': Property( + getValue: (CT_ c) => c.parameters, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'List', + ), + renderIterable: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + return c.parameters.map( + (e) => _render_Parameter( + e, + ast, + r.template, + sink, + parent: r, + ), + ); + }, + ), + 'readOnly': Property( + getValue: (CT_ c) => c.readOnly, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'bool'), + getBool: (CT_ c) => c.readOnly, + ), + 'readWrite': Property( + getValue: (CT_ c) => c.readWrite, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'bool'), + getBool: (CT_ c) => c.readWrite, + ), + 'referenceChildren': Property( + getValue: (CT_ c) => c.referenceChildren, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'Map', + ), + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + renderSimple( + c.referenceChildren, + ast, + r.template, + sink, + parent: r, + getters: _invisibleGetters['Map']!, + ); + }, + ), + 'setter': Property( + getValue: (CT_ c) => c.setter, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = + _Renderer_Accessor.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as Accessor, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => c.setter == null, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_Accessor( + c.setter!, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'writeOnly': Property( + getValue: (CT_ c) => c.writeOnly, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'bool'), + getBool: (CT_ c) => c.writeOnly, + ), + }, + ) as Map>; - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_Library( - c.enclosingElement, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'fileName': Property( - getValue: (CT_ c) => c.fileName, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, + _Renderer_GetterSetterCombo( + GetterSetterCombo context, + RendererBase? parent, + Template template, + StringSink sink, + ) : super(context, parent, template, sink); - isNullValue: (CT_ c) => false, + @override + Property? getProperty(String key) { + if (propertyMap().containsKey(key)) { + return propertyMap()[key]; + } else { + return null; + } + } +} - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String( - c.fileName, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'inheritanceChain': Property( - getValue: (CT_ c) => c.inheritanceChain, +class _Renderer_HasNoPage extends RendererBase { + static final Map _propertyMapCache = {}; + static Map> propertyMap() => + _propertyMapCache.putIfAbsent( + CT_, + () => { + 'aboveSidebarPath': Property( + getValue: (CT_ c) => c.aboveSidebarPath, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => c.aboveSidebarPath == null, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String( + c.aboveSidebarPath!, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'belowSidebarPath': Property( + getValue: (CT_ c) => c.belowSidebarPath, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => c.belowSidebarPath == null, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String( + c.belowSidebarPath!, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'filePath': Property( + getValue: (CT_ c) => c.filePath, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String( + c.filePath, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + }, + ) as Map>; + + _Renderer_HasNoPage( + HasNoPage context, + RendererBase? parent, + Template template, + StringSink sink, + ) : super(context, parent, template, sink); + + @override + Property? getProperty(String key) { + if (propertyMap().containsKey(key)) { + return propertyMap()[key]; + } else { + return null; + } + } +} + +class _Renderer_Inheritable extends RendererBase { + static final Map _propertyMapCache = {}; + static Map> propertyMap() => + _propertyMapCache.putIfAbsent( + CT_, + () => { + 'attributes': Property( + getValue: (CT_ c) => c.attributes, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'Set', + ), + renderIterable: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + return c.attributes.map( + (e) => renderSimple( + e, + ast, + r.template, + sink, + parent: r, + getters: _invisibleGetters['Attribute']!, + ), + ); + }, + ), + 'canonicalLibrary': Property( + getValue: (CT_ c) => c.canonicalLibrary, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_Library.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as Library, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => c.canonicalLibrary == null, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_Library( + c.canonicalLibrary!, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'canonicalModelElement': Property( + getValue: (CT_ c) => c.canonicalModelElement, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = + _Renderer_ModelElement.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as ModelElement, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => c.canonicalModelElement == null, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_ModelElement( + c.canonicalModelElement!, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'isCovariant': Property( + getValue: (CT_ c) => c.isCovariant, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'bool'), + getBool: (CT_ c) => c.isCovariant, + ), + 'isInherited': Property( + getValue: (CT_ c) => c.isInherited, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'bool'), + getBool: (CT_ c) => c.isInherited, + ), + 'isOverride': Property( + getValue: (CT_ c) => c.isOverride, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'bool'), + getBool: (CT_ c) => c.isOverride, + ), + 'overriddenDepth': Property( + getValue: (CT_ c) => c.overriddenDepth, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'int'), + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + renderSimple( + c.overriddenDepth, + ast, + r.template, + sink, + parent: r, + getters: _invisibleGetters['int']!, + ); + }, + ), + 'overriddenElement': Property( + getValue: (CT_ c) => c.overriddenElement, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = + _Renderer_Inheritable.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as Inheritable, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => c.overriddenElement == null, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + renderSimple( + c.overriddenElement, + ast, + r.template, + sink, + parent: r, + getters: _invisibleGetters['Inheritable']!, + ); + }, + ), + }, + ) as Map>; + + _Renderer_Inheritable( + Inheritable context, + RendererBase? parent, + Template template, + StringSink sink, + ) : super(context, parent, template, sink); + + @override + Property? getProperty(String key) { + if (propertyMap().containsKey(key)) { + return propertyMap()[key]; + } else { + return null; + } + } +} + +void _render_InheritingContainer( + InheritingContainer context, + List ast, + Template template, + StringSink sink, { + RendererBase? parent, +}) { + var renderer = _Renderer_InheritingContainer(context, parent, template, sink); + renderer.renderBlock(ast); +} + +class _Renderer_InheritingContainer extends RendererBase { + static final Map _propertyMapCache = {}; + static Map> + propertyMap() => + _propertyMapCache.putIfAbsent( + CT_, + () => { + ..._Renderer_Container.propertyMap(), + 'allModelElements': Property( + getValue: (CT_ c) => c.allModelElements, renderVariable: (CT_ c, Property self, List remainingNames) => self.renderSimpleVariable( - c, - remainingNames, - 'List', - ), - - renderIterable: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - return c.inheritanceChain.map( - (e) => _render_InheritingContainer( - e, - ast, - r.template, - sink, - parent: r, - ), - ); - }, + c, + remainingNames, + 'List', + ), + renderIterable: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + return c.allModelElements.map( + (e) => _render_ModelElement( + e, + ast, + r.template, + sink, + parent: r, + ), + ); + }, ), - 'isAbstract': Property( - getValue: (CT_ c) => c.isAbstract, + 'availableInstanceFieldsSorted': Property( + getValue: (CT_ c) => c.availableInstanceFieldsSorted, renderVariable: (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'bool'), - - getBool: (CT_ c) => c.isAbstract, + self.renderSimpleVariable( + c, + remainingNames, + 'List', + ), + renderIterable: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + return c.availableInstanceFieldsSorted.map( + (e) => _render_Field(e, ast, r.template, sink, parent: r), + ); + }, ), - 'isBase': Property( - getValue: (CT_ c) => c.isBase, + 'availableInstanceMethodsSorted': Property( + getValue: (CT_ c) => c.availableInstanceMethodsSorted, renderVariable: (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'bool'), - - getBool: (CT_ c) => c.isBase, + self.renderSimpleVariable( + c, + remainingNames, + 'List', + ), + renderIterable: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + return c.availableInstanceMethodsSorted.map( + (e) => _render_Method(e, ast, r.template, sink, parent: r), + ); + }, ), - 'isImplementableInterface': Property( - getValue: (CT_ c) => c.isImplementableInterface, + 'availableInstanceOperatorsSorted': Property( + getValue: (CT_ c) => c.availableInstanceOperatorsSorted, renderVariable: (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'bool'), - - getBool: (CT_ c) => c.isImplementableInterface, + self.renderSimpleVariable( + c, + remainingNames, + 'List', + ), + renderIterable: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + return c.availableInstanceOperatorsSorted.map( + (e) => _render_Operator( + e, + ast, + r.template, + sink, + parent: r, + ), + ); + }, ), - 'isMixinClass': Property( - getValue: (CT_ c) => c.isMixinClass, + 'constantFields': Property( + getValue: (CT_ c) => c.constantFields, renderVariable: (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'bool'), - - getBool: (CT_ c) => c.isMixinClass, + self.renderSimpleVariable( + c, + remainingNames, + 'Iterable', + ), + renderIterable: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + return c.constantFields.map( + (e) => _render_Field(e, ast, r.template, sink, parent: r), + ); + }, ), - 'isSealed': Property( - getValue: (CT_ c) => c.isSealed, + 'containerModifiers': Property( + getValue: (CT_ c) => c.containerModifiers, renderVariable: (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'bool'), - - getBool: (CT_ c) => c.isSealed, + self.renderSimpleVariable( + c, + remainingNames, + 'List', + ), + renderIterable: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + return c.containerModifiers.map( + (e) => renderSimple( + e, + ast, + r.template, + sink, + parent: r, + getters: _invisibleGetters['ContainerModifier']!, + ), + ); + }, ), - 'kind': Property( - getValue: (CT_ c) => c.kind, + 'declaredFields': Property( + getValue: (CT_ c) => c.declaredFields, renderVariable: (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'Kind'), - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - renderSimple( - c.kind, - ast, - r.template, - sink, - parent: r, - getters: _invisibleGetters['Kind']!, - ); - }, + self.renderSimpleVariable( + c, + remainingNames, + 'Iterable', + ), + renderIterable: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + return c.declaredFields.map( + (e) => _render_Field(e, ast, r.template, sink, parent: r), + ); + }, ), - 'referenceChildren': Property( - getValue: (CT_ c) => c.referenceChildren, + 'declaredMethods': Property( + getValue: (CT_ c) => c.declaredMethods, renderVariable: (CT_ c, Property self, List remainingNames) => self.renderSimpleVariable( - c, - remainingNames, - 'Map', - ), - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - renderSimple( - c.referenceChildren, - ast, - r.template, - sink, - parent: r, - getters: _invisibleGetters['Map']!, - ); - }, + c, + remainingNames, + 'List', + ), + renderIterable: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + return c.declaredMethods.map( + (e) => _render_Method(e, ast, r.template, sink, parent: r), + ); + }, ), - 'relationshipsClass': Property( - getValue: (CT_ c) => c.relationshipsClass, + 'definingContainer': Property( + getValue: (CT_ c) => c.definingContainer, renderVariable: (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String( - c.relationshipsClass, - ast, - r.template, - sink, - parent: r, - ); - }, + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = + _Renderer_InheritingContainer.propertyMap().getValue( + name, + ); + return nextProperty.renderVariable( + self.getValue(c) as InheritingContainer, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_InheritingContainer( + c.definingContainer, + ast, + r.template, + sink, + parent: r, + ); + }, ), - 'representationType': Property( - getValue: (CT_ c) => c.representationType, + 'displayedLanguageFeatures': Property( + getValue: (CT_ c) => c.displayedLanguageFeatures, renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_ElementType.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as ElementType, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_ElementType( - c.representationType, - ast, - r.template, - sink, - parent: r, - ); - }, + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'List', + ), + renderIterable: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + return c.displayedLanguageFeatures.map( + (e) => _render_LanguageFeature( + e, + ast, + r.template, + sink, + parent: r, + ), + ); + }, ), - 'sidebarPath': Property( - getValue: (CT_ c) => c.sidebarPath, + 'element': Property( + getValue: (CT_ c) => c.element, renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String( - c.sidebarPath, - ast, - r.template, - sink, - parent: r, - ); - }, + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'InterfaceElement2', + ), + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + renderSimple( + c.element, + ast, + r.template, + sink, + parent: r, + getters: _invisibleGetters['InterfaceElement2']!, + ); + }, ), - }, - ) - as Map>; - - _Renderer_ExtensionType( - ExtensionType context, - RendererBase? parent, - Template template, - StringSink sink, - ) : super(context, parent, template, sink); - - @override - Property? getProperty(String key) { - if (propertyMap().containsKey(key)) { - return propertyMap()[key]; - } else { - return null; - } - } -} - -String renderExtensionType( - ExtensionTypeTemplateData context, - Template template, -) { - var buffer = StringBuffer(); - _render_ExtensionTypeTemplateData(context, template.ast, template, buffer); - return buffer.toString(); -} - -void _render_ExtensionTypeTemplateData( - ExtensionTypeTemplateData context, - List ast, - Template template, - StringSink sink, { - RendererBase? parent, -}) { - var renderer = _Renderer_ExtensionTypeTemplateData( - context, - parent, - template, - sink, - ); - renderer.renderBlock(ast); -} - -class _Renderer_ExtensionTypeTemplateData - extends RendererBase> { - static final Map _propertyMapCache = {}; - static Map> propertyMap< - T extends ExtensionType, - CT_ extends ExtensionTypeTemplateData - >() => - _propertyMapCache.putIfAbsent( - CT_, - () => { - ..._Renderer_TemplateData.propertyMap(), - ..._Renderer_OneDirectoryDown.propertyMap(), - 'container': Property( - getValue: (CT_ c) => c.container, + 'enclosingElement': Property( + getValue: (CT_ c) => c.enclosingElement, renderVariable: (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_Container.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as Container, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_Container( - c.container, - ast, - r.template, - sink, - parent: r, - ); - }, + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = + _Renderer_Library.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as Library, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_Library( + c.enclosingElement, + ast, + r.template, + sink, + parent: r, + ); + }, ), - 'extensionType': Property( - getValue: (CT_ c) => c.extensionType, + 'fullkind': Property( + getValue: (CT_ c) => c.fullkind, renderVariable: (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_ExtensionType.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as ExtensionType, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_ExtensionType( - c.extensionType, - ast, - r.template, - sink, - parent: r, - ); - }, + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = + _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String( + c.fullkind, + ast, + r.template, + sink, + parent: r, + ); + }, ), - 'layoutTitle': Property( - getValue: (CT_ c) => c.layoutTitle, + 'hasModifiers': Property( + getValue: (CT_ c) => c.hasModifiers, renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String( - c.layoutTitle, - ast, - r.template, - sink, - parent: r, - ); - }, + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'bool'), + getBool: (CT_ c) => c.hasModifiers, ), - 'library': Property( - getValue: (CT_ c) => c.library, + 'hasPotentiallyApplicableExtensions': Property( + getValue: (CT_ c) => c.hasPotentiallyApplicableExtensions, renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_Library.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as Library, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_Library( - c.library, - ast, - r.template, - sink, - parent: r, - ); - }, + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'bool'), + getBool: (CT_ c) => c.hasPotentiallyApplicableExtensions, ), - 'metaDescription': Property( - getValue: (CT_ c) => c.metaDescription, + 'hasPublicImplementers': Property( + getValue: (CT_ c) => c.hasPublicImplementers, renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String( - c.metaDescription, - ast, - r.template, - sink, - parent: r, - ); - }, + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'bool'), + getBool: (CT_ c) => c.hasPublicImplementers, ), - 'navLinks': Property( - getValue: (CT_ c) => c.navLinks, + 'hasPublicInterfaces': Property( + getValue: (CT_ c) => c.hasPublicInterfaces, renderVariable: (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'List', - ), - - renderIterable: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - return c.navLinks.map( - (e) => _render_Documentable( - e, - ast, - r.template, - sink, - parent: r, - ), - ); - }, + self.renderSimpleVariable(c, remainingNames, 'bool'), + getBool: (CT_ c) => c.hasPublicInterfaces, ), - 'self': Property( - getValue: (CT_ c) => c.self, + 'hasPublicSuperChainReversed': Property( + getValue: (CT_ c) => c.hasPublicSuperChainReversed, renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_ExtensionType.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as ExtensionType, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_ExtensionType( - c.self, - ast, - r.template, - sink, - parent: r, - ); - }, + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'bool'), + getBool: (CT_ c) => c.hasPublicSuperChainReversed, ), - 'title': Property( - getValue: (CT_ c) => c.title, + 'inheritanceChain': Property( + getValue: (CT_ c) => c.inheritanceChain, renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String(c.title, ast, r.template, sink, parent: r); - }, + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'List', + ), + renderIterable: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + return c.inheritanceChain.map( + (e) => _render_InheritingContainer( + e, + ast, + r.template, + sink, + parent: r, + ), + ); + }, ), - }, - ) - as Map>; - - _Renderer_ExtensionTypeTemplateData( - ExtensionTypeTemplateData context, - RendererBase? parent, - Template template, - StringSink sink, - ) : super(context, parent, template, sink); - - @override - Property>? getProperty(String key) { - if (propertyMap>().containsKey(key)) { - return propertyMap>()[key]; - } else { - return null; - } - } -} - -void _render_ExternalItem( - ExternalItem context, - List ast, - Template template, - StringSink sink, { - RendererBase? parent, -}) { - var renderer = _Renderer_ExternalItem(context, parent, template, sink); - renderer.renderBlock(ast); -} - -class _Renderer_ExternalItem extends RendererBase { - static final Map _propertyMapCache = {}; - static Map> propertyMap() => - _propertyMapCache.putIfAbsent( - CT_, - () => { - ..._Renderer_Object.propertyMap(), - 'docs': Property( - getValue: (CT_ c) => c.docs, + 'instanceFields': Property( + getValue: (CT_ c) => c.instanceFields, renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String(c.docs, ast, r.template, sink, parent: r); - }, + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'Iterable', + ), + renderIterable: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + return c.instanceFields.map( + (e) => _render_Field(e, ast, r.template, sink, parent: r), + ); + }, ), - 'name': Property( - getValue: (CT_ c) => c.name, + 'instanceMethods': Property( + getValue: (CT_ c) => c.instanceMethods, renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String(c.name, ast, r.template, sink, parent: r); - }, + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'Iterable', + ), + renderIterable: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + return c.instanceMethods.map( + (e) => _render_Method(e, ast, r.template, sink, parent: r), + ); + }, ), - 'url': Property( - getValue: (CT_ c) => c.url, + 'instanceOperators': Property( + getValue: (CT_ c) => c.instanceOperators, renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String(c.url, ast, r.template, sink, parent: r); - }, + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'Iterable', + ), + renderIterable: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + return c.instanceOperators.map( + (e) => _render_Operator( + e, + ast, + r.template, + sink, + parent: r, + ), + ); + }, ), - }, - ) - as Map>; - - _Renderer_ExternalItem( - ExternalItem context, - RendererBase? parent, - Template template, - StringSink sink, - ) : super(context, parent, template, sink); - - @override - Property? getProperty(String key) { - if (propertyMap().containsKey(key)) { - return propertyMap()[key]; - } else { - return null; - } - } -} - -class _Renderer_FeatureSet extends RendererBase { - static final Map _propertyMapCache = {}; - static Map> propertyMap() => - _propertyMapCache.putIfAbsent( - CT_, - () => { - 'displayedLanguageFeatures': Property( - getValue: (CT_ c) => c.displayedLanguageFeatures, + 'interfaceElements': Property( + getValue: (CT_ c) => c.interfaceElements, renderVariable: (CT_ c, Property self, List remainingNames) => self.renderSimpleVariable( - c, - remainingNames, - 'Iterable', - ), - - renderIterable: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - return c.displayedLanguageFeatures.map( - (e) => _render_LanguageFeature( - e, - ast, - r.template, - sink, - parent: r, - ), - ); - }, + c, + remainingNames, + 'List', + ), + renderIterable: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + return c.interfaceElements.map( + (e) => _render_InheritingContainer( + e, + ast, + r.template, + sink, + parent: r, + ), + ); + }, ), - 'hasFeatureSet': Property( - getValue: (CT_ c) => c.hasFeatureSet, + 'isAbstract': Property( + getValue: (CT_ c) => c.isAbstract, renderVariable: (CT_ c, Property self, List remainingNames) => self.renderSimpleVariable(c, remainingNames, 'bool'), - - getBool: (CT_ c) => c.hasFeatureSet, + getBool: (CT_ c) => c.isAbstract, + ), + 'isBase': Property( + getValue: (CT_ c) => c.isBase, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'bool'), + getBool: (CT_ c) => c.isBase, + ), + 'isCanonical': Property( + getValue: (CT_ c) => c.isCanonical, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'bool'), + getBool: (CT_ c) => c.isCanonical, + ), + 'isFinal': Property( + getValue: (CT_ c) => c.isFinal, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'bool'), + getBool: (CT_ c) => c.isFinal, + ), + 'isImplementableInterface': Property( + getValue: (CT_ c) => c.isImplementableInterface, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'bool'), + getBool: (CT_ c) => c.isImplementableInterface, + ), + 'isMixinClass': Property( + getValue: (CT_ c) => c.isMixinClass, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'bool'), + getBool: (CT_ c) => c.isMixinClass, + ), + 'isSealed': Property( + getValue: (CT_ c) => c.isSealed, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'bool'), + getBool: (CT_ c) => c.isSealed, ), - 'library': Property( - getValue: (CT_ c) => c.library, + 'modelType': Property( + getValue: (CT_ c) => c.modelType, renderVariable: (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_Library.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as Library, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_Library( - c.library, - ast, - r.template, - sink, - parent: r, - ); - }, + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = + _Renderer_DefinedElementType.propertyMap().getValue( + name, + ); + return nextProperty.renderVariable( + self.getValue(c) as DefinedElementType, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_DefinedElementType( + c.modelType, + ast, + r.template, + sink, + parent: r, + ); + }, ), - 'packageGraph': Property( - getValue: (CT_ c) => c.packageGraph, + 'potentiallyApplicableExtensionsSorted': Property( + getValue: (CT_ c) => c.potentiallyApplicableExtensionsSorted, renderVariable: (CT_ c, Property self, List remainingNames) => self.renderSimpleVariable( - c, - remainingNames, - 'PackageGraph', - ), - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - renderSimple( - c.packageGraph, - ast, - r.template, - sink, - parent: r, - getters: _invisibleGetters['PackageGraph']!, - ); - }, - ), - }, - ) - as Map>; - - _Renderer_FeatureSet( - FeatureSet context, - RendererBase? parent, - Template template, - StringSink sink, - ) : super(context, parent, template, sink); - - @override - Property? getProperty(String key) { - if (propertyMap().containsKey(key)) { - return propertyMap()[key]; - } else { - return null; - } - } -} - -void _render_Field( - Field context, - List ast, - Template template, - StringSink sink, { - RendererBase? parent, -}) { - var renderer = _Renderer_Field(context, parent, template, sink); - renderer.renderBlock(ast); -} - -class _Renderer_Field extends RendererBase { - static final Map _propertyMapCache = {}; - static Map> propertyMap() => - _propertyMapCache.putIfAbsent( - CT_, - () => { - ..._Renderer_ModelElement.propertyMap(), - ..._Renderer_GetterSetterCombo.propertyMap(), - ..._Renderer_ContainerMember.propertyMap(), - ..._Renderer_Inheritable.propertyMap(), - 'aboveSidebarPath': Property( - getValue: (CT_ c) => c.aboveSidebarPath, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String( - c.aboveSidebarPath, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'attributes': Property( - getValue: (CT_ c) => c.attributes, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'Set', - ), - - renderIterable: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - return c.attributes.map( - (e) => renderSimple( - e, - ast, - r.template, - sink, - parent: r, - getters: _invisibleGetters['Attribute']!, - ), - ); - }, - ), - 'belowSidebarPath': Property( - getValue: (CT_ c) => c.belowSidebarPath, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => c.belowSidebarPath == null, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String( - c.belowSidebarPath!, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'documentation': Property( - getValue: (CT_ c) => c.documentation, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String( - c.documentation, - ast, - r.template, - sink, - parent: r, - ); - }, + c, + remainingNames, + 'List', + ), + renderIterable: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + return c.potentiallyApplicableExtensionsSorted.map( + (e) => _render_Extension( + e, + ast, + r.template, + sink, + parent: r, + ), + ); + }, ), - 'element': Property( - getValue: (CT_ c) => c.element, + 'publicImplementersSorted': Property( + getValue: (CT_ c) => c.publicImplementersSorted, renderVariable: (CT_ c, Property self, List remainingNames) => self.renderSimpleVariable( - c, - remainingNames, - 'FieldElement2', - ), - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - renderSimple( - c.element, - ast, - r.template, - sink, - parent: r, - getters: _invisibleGetters['FieldElement2']!, - ); - }, - ), - 'enclosingElement': Property( - getValue: (CT_ c) => c.enclosingElement, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_Container.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as Container, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_Container( - c.enclosingElement, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'enclosingExtension': Property( - getValue: (CT_ c) => c.enclosingExtension, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_Extension.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as Extension, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_Extension( - c.enclosingExtension, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'fileName': Property( - getValue: (CT_ c) => c.fileName, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String( - c.fileName, - ast, - r.template, - sink, - parent: r, - ); - }, + c, + remainingNames, + 'List', + ), + renderIterable: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + return c.publicImplementersSorted.map( + (e) => _render_InheritingContainer( + e, + ast, + r.template, + sink, + parent: r, + ), + ); + }, ), - 'fullkind': Property( - getValue: (CT_ c) => c.fullkind, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String( - c.fullkind, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'getter': Property( - getValue: (CT_ c) => c.getter, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = - _Renderer_ContainerAccessor.propertyMap().getValue( - name, - ); - return nextProperty.renderVariable( - self.getValue(c) as ContainerAccessor, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => c.getter == null, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_ContainerAccessor( - c.getter!, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'href': Property( - getValue: (CT_ c) => c.href, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => c.href == null, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String(c.href!, ast, r.template, sink, parent: r); - }, - ), - 'isConst': Property( - getValue: (CT_ c) => c.isConst, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'bool'), - - getBool: (CT_ c) => c.isConst, - ), - 'isCovariant': Property( - getValue: (CT_ c) => c.isCovariant, + 'publicInheritedInstanceFields': Property( + getValue: (CT_ c) => c.publicInheritedInstanceFields, renderVariable: (CT_ c, Property self, List remainingNames) => self.renderSimpleVariable(c, remainingNames, 'bool'), - - getBool: (CT_ c) => c.isCovariant, + getBool: (CT_ c) => c.publicInheritedInstanceFields, ), - 'isFinal': Property( - getValue: (CT_ c) => c.isFinal, + 'publicInheritedInstanceMethods': Property( + getValue: (CT_ c) => c.publicInheritedInstanceMethods, renderVariable: (CT_ c, Property self, List remainingNames) => self.renderSimpleVariable(c, remainingNames, 'bool'), - - getBool: (CT_ c) => c.isFinal, + getBool: (CT_ c) => c.publicInheritedInstanceMethods, ), - 'isInherited': Property( - getValue: (CT_ c) => c.isInherited, + 'publicInheritedInstanceOperators': Property( + getValue: (CT_ c) => c.publicInheritedInstanceOperators, renderVariable: (CT_ c, Property self, List remainingNames) => self.renderSimpleVariable(c, remainingNames, 'bool'), - - getBool: (CT_ c) => c.isInherited, + getBool: (CT_ c) => c.publicInheritedInstanceOperators, ), - 'isLate': Property( - getValue: (CT_ c) => c.isLate, + 'publicInterfaceElements': Property( + getValue: (CT_ c) => c.publicInterfaceElements, renderVariable: (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'bool'), - - getBool: (CT_ c) => c.isLate, + self.renderSimpleVariable( + c, + remainingNames, + 'Iterable', + ), + renderIterable: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + return c.publicInterfaceElements.map( + (e) => _render_InheritingContainer( + e, + ast, + r.template, + sink, + parent: r, + ), + ); + }, ), - 'isProvidedByExtension': Property( - getValue: (CT_ c) => c.isProvidedByExtension, + 'publicInterfaces': Property( + getValue: (CT_ c) => c.publicInterfaces, renderVariable: (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'bool'), - - getBool: (CT_ c) => c.isProvidedByExtension, + self.renderSimpleVariable( + c, + remainingNames, + 'List', + ), + renderIterable: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + return c.publicInterfaces.map( + (e) => _render_DefinedElementType( + e, + ast, + r.template, + sink, + parent: r, + ), + ); + }, ), - 'isStatic': Property( - getValue: (CT_ c) => c.isStatic, + 'publicSuperChainReversed': Property( + getValue: (CT_ c) => c.publicSuperChainReversed, renderVariable: (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'bool'), - - getBool: (CT_ c) => c.isStatic, + self.renderSimpleVariable( + c, + remainingNames, + 'Iterable', + ), + renderIterable: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + return c.publicSuperChainReversed.map( + (e) => _render_DefinedElementType( + e, + ast, + r.template, + sink, + parent: r, + ), + ); + }, ), - 'kind': Property( - getValue: (CT_ c) => c.kind, + 'superChain': Property( + getValue: (CT_ c) => c.superChain, renderVariable: (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'Kind'), - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - renderSimple( - c.kind, - ast, - r.template, - sink, - parent: r, - getters: _invisibleGetters['Kind']!, - ); - }, - ), - 'overriddenElement': Property( - getValue: (CT_ c) => c.overriddenElement, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_Inheritable.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as Inheritable, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => c.overriddenElement == null, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - renderSimple( - c.overriddenElement, - ast, - r.template, - sink, - parent: r, - getters: _invisibleGetters['Inheritable']!, - ); - }, + self.renderSimpleVariable( + c, + remainingNames, + 'List', + ), + renderIterable: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + return c.superChain.map( + (e) => _render_DefinedElementType( + e, + ast, + r.template, + sink, + parent: r, + ), + ); + }, ), - 'setter': Property( - getValue: (CT_ c) => c.setter, + 'supertype': Property( + getValue: (CT_ c) => c.supertype, renderVariable: (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = - _Renderer_ContainerAccessor.propertyMap().getValue( - name, - ); - return nextProperty.renderVariable( - self.getValue(c) as ContainerAccessor, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => c.setter == null, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_ContainerAccessor( - c.setter!, - ast, - r.template, - sink, - parent: r, - ); - }, + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = + _Renderer_DefinedElementType.propertyMap().getValue( + name, + ); + return nextProperty.renderVariable( + self.getValue(c) as DefinedElementType, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => c.supertype == null, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_DefinedElementType( + c.supertype!, + ast, + r.template, + sink, + parent: r, + ); + }, ), - 'sourceCode': Property( - getValue: (CT_ c) => c.sourceCode, + 'typeParameters': Property( + getValue: (CT_ c) => c.typeParameters, renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String( - c.sourceCode, - ast, - r.template, - sink, - parent: r, - ); - }, + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'List', + ), + renderIterable: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + return c.typeParameters.map( + (e) => _render_TypeParameter( + e, + ast, + r.template, + sink, + parent: r, + ), + ); + }, ), }, - ) - as Map>; + ) as Map>; - _Renderer_Field( - Field context, + _Renderer_InheritingContainer( + InheritingContainer context, RendererBase? parent, Template template, StringSink sink, ) : super(context, parent, template, sink); @override - Property? getProperty(String key) { - if (propertyMap().containsKey(key)) { - return propertyMap()[key]; + Property? getProperty(String key) { + if (propertyMap().containsKey(key)) { + return propertyMap()[key]; } else { return null; } } } -String renderFunction(FunctionTemplateData context, Template template) { - var buffer = StringBuffer(); - _render_FunctionTemplateData(context, template.ast, template, buffer); - return buffer.toString(); +class _Renderer_InheritingContainerTemplateData + extends RendererBase> { + static final Map _propertyMapCache = {}; + static Map> propertyMap() => + _propertyMapCache.putIfAbsent( + CT_, + () => { + ..._Renderer_TemplateData.propertyMap(), + ..._Renderer_OneDirectoryDown.propertyMap(), + 'clazz': Property( + getValue: (CT_ c) => c.clazz, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = + _Renderer_InheritingContainer.propertyMap().getValue( + name, + ); + return nextProperty.renderVariable( + self.getValue(c) as InheritingContainer, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_InheritingContainer( + c.clazz, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'container': Property( + getValue: (CT_ c) => c.container, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = + _Renderer_Container.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as Container, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_Container( + c.container, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'layoutTitle': Property( + getValue: (CT_ c) => c.layoutTitle, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String( + c.layoutTitle, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'library': Property( + getValue: (CT_ c) => c.library, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_Library.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as Library, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_Library( + c.library, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'metaDescription': Property( + getValue: (CT_ c) => c.metaDescription, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String( + c.metaDescription, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'navLinks': Property( + getValue: (CT_ c) => c.navLinks, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'List', + ), + renderIterable: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + return c.navLinks.map( + (e) => _render_Documentable( + e, + ast, + r.template, + sink, + parent: r, + ), + ); + }, + ), + 'self': Property( + getValue: (CT_ c) => c.self, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = + _Renderer_InheritingContainer.propertyMap().getValue( + name, + ); + return nextProperty.renderVariable( + self.getValue(c) as InheritingContainer, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_InheritingContainer( + c.self, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'title': Property( + getValue: (CT_ c) => c.title, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String(c.title, ast, r.template, sink, parent: r); + }, + ), + }, + ) as Map>; + + _Renderer_InheritingContainerTemplateData( + InheritingContainerTemplateData context, + RendererBase? parent, + Template template, + StringSink sink, + ) : super(context, parent, template, sink); + + @override + Property>? getProperty(String key) { + if (propertyMap>().containsKey(key)) { + return propertyMap>()[key]; + } else { + return null; + } + } } -void _render_FunctionTemplateData( - FunctionTemplateData context, +void _render_LanguageFeature( + LanguageFeature context, List ast, Template template, StringSink sink, { RendererBase? parent, }) { - var renderer = _Renderer_FunctionTemplateData( - context, - parent, - template, - sink, - ); + var renderer = _Renderer_LanguageFeature(context, parent, template, sink); renderer.renderBlock(ast); } -class _Renderer_FunctionTemplateData - extends RendererBase { +class _Renderer_LanguageFeature extends RendererBase { static final Map _propertyMapCache = {}; - static Map> - propertyMap() => + static Map> propertyMap< + CT_ extends LanguageFeature>() => _propertyMapCache.putIfAbsent( - CT_, - () => { - ..._Renderer_TemplateData.propertyMap(), - ..._Renderer_OneDirectoryDown.propertyMap(), - 'function': Property( - getValue: (CT_ c) => c.function, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_ModelFunction.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as ModelFunction, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, + CT_, + () => { + ..._Renderer_Object.propertyMap(), + 'featureDescription': Property( + getValue: (CT_ c) => c.featureDescription, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => c.featureDescription == null, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String( + c.featureDescription!, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'featureLabel': Property( + getValue: (CT_ c) => c.featureLabel, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String( + c.featureLabel, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'featureUrl': Property( + getValue: (CT_ c) => c.featureUrl, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => c.featureUrl == null, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String( + c.featureUrl!, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'name': Property( + getValue: (CT_ c) => c.name, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String(c.name, ast, r.template, sink, parent: r); + }, + ), + }, + ) as Map>; - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_ModelFunction( - c.function, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'layoutTitle': Property( - getValue: (CT_ c) => c.layoutTitle, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String( - c.layoutTitle, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'library': Property( - getValue: (CT_ c) => c.library, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_Library.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as Library, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_Library( - c.library, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'metaDescription': Property( - getValue: (CT_ c) => c.metaDescription, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String( - c.metaDescription, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'navLinks': Property( - getValue: (CT_ c) => c.navLinks, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'List', - ), - - renderIterable: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - return c.navLinks.map( - (e) => _render_Documentable( - e, - ast, - r.template, - sink, - parent: r, - ), - ); - }, - ), - 'self': Property( - getValue: (CT_ c) => c.self, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_ModelFunction.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as ModelFunction, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_ModelFunction( - c.self, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'title': Property( - getValue: (CT_ c) => c.title, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String(c.title, ast, r.template, sink, parent: r); - }, - ), - }, - ) - as Map>; - - _Renderer_FunctionTemplateData( - FunctionTemplateData context, + _Renderer_LanguageFeature( + LanguageFeature context, RendererBase? parent, Template template, StringSink sink, ) : super(context, parent, template, sink); @override - Property? getProperty(String key) { - if (propertyMap().containsKey(key)) { - return propertyMap()[key]; + Property? getProperty(String key) { + if (propertyMap().containsKey(key)) { + return propertyMap()[key]; } else { return null; } } } -void _render_FunctionTypedef( - FunctionTypedef context, +void _render_Library( + Library context, List ast, Template template, StringSink sink, { RendererBase? parent, }) { - var renderer = _Renderer_FunctionTypedef(context, parent, template, sink); + var renderer = _Renderer_Library(context, parent, template, sink); renderer.renderBlock(ast); } -class _Renderer_FunctionTypedef extends RendererBase { +class _Renderer_Library extends RendererBase { static final Map _propertyMapCache = {}; - static Map> - propertyMap() => + static Map> propertyMap() => _propertyMapCache.putIfAbsent( - CT_, - () => { - ..._Renderer_Typedef.propertyMap(), - 'modelType': Property( - getValue: (CT_ c) => c.modelType, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_Callable.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as Callable, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_Callable( - c.modelType, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'referenceChildren': Property( - getValue: (CT_ c) => c.referenceChildren, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'Map', - ), - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - renderSimple( - c.referenceChildren, - ast, - r.template, - sink, - parent: r, - getters: _invisibleGetters['Map']!, - ); - }, - ), + CT_, + () => { + ..._Renderer_ModelElement.propertyMap(), + ..._Renderer_Categorization.propertyMap(), + ..._Renderer_TopLevelContainer.propertyMap(), + ..._Renderer_CanonicalFor.propertyMap(), + 'aboveSidebarPath': Property( + getValue: (CT_ c) => c.aboveSidebarPath, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => c.aboveSidebarPath == null, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String( + c.aboveSidebarPath!, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'allModelElements': Property( + getValue: (CT_ c) => c.allModelElements, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'List', + ), + renderIterable: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + return c.allModelElements.map( + (e) => _render_ModelElement( + e, + ast, + r.template, + sink, + parent: r, + ), + ); + }, + ), + 'belowSidebarPath': Property( + getValue: (CT_ c) => c.belowSidebarPath, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String( + c.belowSidebarPath, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'breadcrumbName': Property( + getValue: (CT_ c) => c.breadcrumbName, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String( + c.breadcrumbName, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'characterLocation': Property( + getValue: (CT_ c) => c.characterLocation, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'CharacterLocation', + ), + isNullValue: (CT_ c) => c.characterLocation == null, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + renderSimple( + c.characterLocation, + ast, + r.template, + sink, + parent: r, + getters: _invisibleGetters['CharacterLocation']!, + ); + }, + ), + 'classes': Property( + getValue: (CT_ c) => c.classes, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'Iterable', + ), + renderIterable: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + return c.classes.map( + (e) => _render_Class(e, ast, r.template, sink, parent: r), + ); + }, + ), + 'classesAndExceptions': Property( + getValue: (CT_ c) => c.classesAndExceptions, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'List', + ), + renderIterable: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + return c.classesAndExceptions.map( + (e) => _render_Class(e, ast, r.template, sink, parent: r), + ); + }, + ), + 'constants': Property( + getValue: (CT_ c) => c.constants, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'Iterable', + ), + renderIterable: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + return c.constants.map( + (e) => _render_TopLevelVariable( + e, + ast, + r.template, + sink, + parent: r, + ), + ); + }, + ), + 'dirName': Property( + getValue: (CT_ c) => c.dirName, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String( + c.dirName, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'displayName': Property( + getValue: (CT_ c) => c.displayName, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String( + c.displayName, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'element': Property( + getValue: (CT_ c) => c.element, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'LibraryElement2', + ), + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + renderSimple( + c.element, + ast, + r.template, + sink, + parent: r, + getters: _invisibleGetters['LibraryElement2']!, + ); + }, + ), + 'enclosingElement': Property( + getValue: (CT_ c) => c.enclosingElement, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = + _Renderer_ModelElement.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as ModelElement, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => c.enclosingElement == null, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_ModelElement( + c.enclosingElement!, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'enums': Property( + getValue: (CT_ c) => c.enums, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'List', + ), + renderIterable: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + return c.enums.map( + (e) => _render_Enum(e, ast, r.template, sink, parent: r), + ); }, - ) - as Map>; + ), + 'exceptions': Property( + getValue: (CT_ c) => c.exceptions, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'List', + ), + renderIterable: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + return c.exceptions.map( + (e) => _render_Class(e, ast, r.template, sink, parent: r), + ); + }, + ), + 'extensionTypes': Property( + getValue: (CT_ c) => c.extensionTypes, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'List', + ), + renderIterable: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + return c.extensionTypes.map( + (e) => _render_ExtensionType( + e, + ast, + r.template, + sink, + parent: r, + ), + ); + }, + ), + 'extensions': Property( + getValue: (CT_ c) => c.extensions, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'List', + ), + renderIterable: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + return c.extensions.map( + (e) => _render_Extension( + e, + ast, + r.template, + sink, + parent: r, + ), + ); + }, + ), + 'fileName': Property( + getValue: (CT_ c) => c.fileName, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String( + c.fileName, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'filePath': Property( + getValue: (CT_ c) => c.filePath, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String( + c.filePath, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'functions': Property( + getValue: (CT_ c) => c.functions, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'List', + ), + renderIterable: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + return c.functions.map( + (e) => _render_ModelFunction( + e, + ast, + r.template, + sink, + parent: r, + ), + ); + }, + ), + 'href': Property( + getValue: (CT_ c) => c.href, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => c.href == null, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String(c.href!, ast, r.template, sink, parent: r); + }, + ), + 'isAnonymous': Property( + getValue: (CT_ c) => c.isAnonymous, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'bool'), + getBool: (CT_ c) => c.isAnonymous, + ), + 'isInSdk': Property( + getValue: (CT_ c) => c.isInSdk, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'bool'), + getBool: (CT_ c) => c.isInSdk, + ), + 'isPublic': Property( + getValue: (CT_ c) => c.isPublic, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'bool'), + getBool: (CT_ c) => c.isPublic, + ), + 'kind': Property( + getValue: (CT_ c) => c.kind, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'Kind'), + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + renderSimple( + c.kind, + ast, + r.template, + sink, + parent: r, + getters: _invisibleGetters['Kind']!, + ); + }, + ), + 'library': Property( + getValue: (CT_ c) => c.library, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_Library.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as Library, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_Library( + c.library, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'mixins': Property( + getValue: (CT_ c) => c.mixins, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'List', + ), + renderIterable: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + return c.mixins.map( + (e) => _render_Mixin(e, ast, r.template, sink, parent: r), + ); + }, + ), + 'name': Property( + getValue: (CT_ c) => c.name, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String(c.name, ast, r.template, sink, parent: r); + }, + ), + 'package': Property( + getValue: (CT_ c) => c.package, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_Package.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as Package, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_Package( + c.package, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'packageMeta': Property( + getValue: (CT_ c) => c.packageMeta, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'PackageMeta', + ), + isNullValue: (CT_ c) => c.packageMeta == null, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + renderSimple( + c.packageMeta, + ast, + r.template, + sink, + parent: r, + getters: _invisibleGetters['PackageMeta']!, + ); + }, + ), + 'packageName': Property( + getValue: (CT_ c) => c.packageName, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String( + c.packageName, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'properties': Property( + getValue: (CT_ c) => c.properties, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'List', + ), + renderIterable: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + return c.properties.map( + (e) => _render_TopLevelVariable( + e, + ast, + r.template, + sink, + parent: r, + ), + ); + }, + ), + 'redirectingPath': Property( + getValue: (CT_ c) => c.redirectingPath, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String( + c.redirectingPath, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'referenceChildren': Property( + getValue: (CT_ c) => c.referenceChildren, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'Map', + ), + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + renderSimple( + c.referenceChildren, + ast, + r.template, + sink, + parent: r, + getters: _invisibleGetters['Map']!, + ); + }, + ), + 'referenceParents': Property( + getValue: (CT_ c) => c.referenceParents, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'Iterable', + ), + renderIterable: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + return c.referenceParents.map( + (e) => renderSimple( + e, + ast, + r.template, + sink, + parent: r, + getters: _invisibleGetters['CommentReferable']!, + ), + ); + }, + ), + 'scope': Property( + getValue: (CT_ c) => c.scope, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'Scope'), + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + renderSimple( + c.scope, + ast, + r.template, + sink, + parent: r, + getters: _invisibleGetters['Scope']!, + ); + }, + ), + 'sidebarPath': Property( + getValue: (CT_ c) => c.sidebarPath, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String( + c.sidebarPath, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'typedefs': Property( + getValue: (CT_ c) => c.typedefs, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'List', + ), + renderIterable: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + return c.typedefs.map( + (e) => _render_Typedef( + e, + ast, + r.template, + sink, + parent: r, + ), + ); + }, + ), + 'unitElement': Property( + getValue: (CT_ c) => c.unitElement, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'LibraryFragment', + ), + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + renderSimple( + c.unitElement, + ast, + r.template, + sink, + parent: r, + getters: _invisibleGetters['LibraryFragment']!, + ); + }, + ), + }, + ) as Map>; - _Renderer_FunctionTypedef( - FunctionTypedef context, + _Renderer_Library( + Library context, RendererBase? parent, Template template, StringSink sink, ) : super(context, parent, template, sink); @override - Property? getProperty(String key) { - if (propertyMap().containsKey(key)) { - return propertyMap()[key]; + Property? getProperty(String key) { + if (propertyMap().containsKey(key)) { + return propertyMap()[key]; } else { return null; } } } -class _Renderer_GetterSetterCombo extends RendererBase { +class _Renderer_LibraryContainer extends RendererBase { static final Map _propertyMapCache = {}; static Map> - propertyMap() => - _propertyMapCache.putIfAbsent( + propertyMap() => + _propertyMapCache.putIfAbsent( CT_, () => { - 'allAccessors': Property( - getValue: (CT_ c) => c.allAccessors, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'List', - ), - - renderIterable: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - return c.allAccessors.map( - (e) => _render_Accessor( - e, - ast, - r.template, - sink, - parent: r, - ), - ); - }, - ), - 'annotations': Property( - getValue: (CT_ c) => c.annotations, + ..._Renderer_Object.propertyMap(), + 'containerOrder': Property( + getValue: (CT_ c) => c.containerOrder, renderVariable: (CT_ c, Property self, List remainingNames) => self.renderSimpleVariable( - c, - remainingNames, - 'List', - ), - - renderIterable: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - return c.annotations.map( - (e) => _render_Annotation( - e, - ast, - r.template, - sink, - parent: r, - ), - ); - }, + c, + remainingNames, + 'List', + ), + renderIterable: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + return c.containerOrder.map( + (e) => _render_String(e, ast, r.template, sink, parent: r), + ); + }, ), - 'arrow': Property( - getValue: (CT_ c) => c.arrow, + 'enclosingName': Property( + getValue: (CT_ c) => c.enclosingName, renderVariable: (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String(c.arrow, ast, r.template, sink, parent: r); - }, + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = + _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String( + c.enclosingName, + ast, + r.template, + sink, + parent: r, + ); + }, ), - 'characterLocation': Property( - getValue: (CT_ c) => c.characterLocation, + 'hasPublicLibraries': Property( + getValue: (CT_ c) => c.hasPublicLibraries, renderVariable: (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'CharacterLocation', - ), - - isNullValue: (CT_ c) => c.characterLocation == null, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - renderSimple( - c.characterLocation, - ast, - r.template, - sink, - parent: r, - getters: _invisibleGetters['CharacterLocation']!, - ); - }, - ), - 'constantValue': Property( - getValue: (CT_ c) => c.constantValue, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String( - c.constantValue, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'constantValueBase': Property( - getValue: (CT_ c) => c.constantValueBase, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String( - c.constantValueBase, - ast, - r.template, - sink, - parent: r, - ); - }, + self.renderSimpleVariable(c, remainingNames, 'bool'), + getBool: (CT_ c) => c.hasPublicLibraries, ), - 'constantValueTruncated': Property( - getValue: (CT_ c) => c.constantValueTruncated, + 'isSdk': Property( + getValue: (CT_ c) => c.isSdk, renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String( - c.constantValueTruncated, - ast, - r.template, - sink, - parent: r, - ); - }, + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'bool'), + getBool: (CT_ c) => c.isSdk, ), - 'documentationComment': Property( - getValue: (CT_ c) => c.documentationComment, + 'libraries': Property( + getValue: (CT_ c) => c.libraries, renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String( - c.documentationComment, - ast, - r.template, - sink, - parent: r, - ); - }, + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'List', + ), + renderIterable: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + return c.libraries.map( + (e) => _render_Library( + e, + ast, + r.template, + sink, + parent: r, + ), + ); + }, ), - 'documentationFrom': Property( - getValue: (CT_ c) => c.documentationFrom, + 'publicLibrariesSorted': Property( + getValue: (CT_ c) => c.publicLibrariesSorted, renderVariable: (CT_ c, Property self, List remainingNames) => self.renderSimpleVariable( - c, - remainingNames, - 'List', - ), - - renderIterable: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - return c.documentationFrom.map( - (e) => renderSimple( - e, - ast, - r.template, - sink, - parent: r, - getters: _invisibleGetters['DocumentationComment']!, - ), - ); - }, + c, + remainingNames, + 'List', + ), + renderIterable: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + return c.publicLibrariesSorted.map( + (e) => _render_Library( + e, + ast, + r.template, + sink, + parent: r, + ), + ); + }, ), - 'enclosingElement': Property( - getValue: (CT_ c) => c.enclosingElement, + 'sortKey': Property( + getValue: (CT_ c) => c.sortKey, renderVariable: (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_ModelElement.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as ModelElement, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_ModelElement( - c.enclosingElement, - ast, - r.template, - sink, - parent: r, - ); - }, + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = + _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String( + c.sortKey, + ast, + r.template, + sink, + parent: r, + ); + }, ), - 'fileName': Property( - getValue: (CT_ c) => c.fileName, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, + }, + ) as Map>; - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String( - c.fileName, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'getter': Property( - getValue: (CT_ c) => c.getter, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_Accessor.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as Accessor, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => c.getter == null, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_Accessor( - c.getter!, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'getterSetterBothAvailable': Property( - getValue: (CT_ c) => c.getterSetterBothAvailable, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'bool'), + _Renderer_LibraryContainer( + LibraryContainer context, + RendererBase? parent, + Template template, + StringSink sink, + ) : super(context, parent, template, sink); - getBool: (CT_ c) => c.getterSetterBothAvailable, - ), - 'hasAccessorsWithDocs': Property( - getValue: (CT_ c) => c.hasAccessorsWithDocs, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'bool'), + @override + Property? getProperty(String key) { + if (propertyMap().containsKey(key)) { + return propertyMap()[key]; + } else { + return null; + } + } +} - getBool: (CT_ c) => c.hasAccessorsWithDocs, - ), - 'hasConstantValueForDisplay': Property( - getValue: (CT_ c) => c.hasConstantValueForDisplay, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'bool'), +String renderLibrary(LibraryTemplateData context, Template template) { + var buffer = StringBuffer(); + _render_LibraryTemplateData(context, template.ast, template, buffer); + return buffer.toString(); +} - getBool: (CT_ c) => c.hasConstantValueForDisplay, - ), - 'hasDocumentationComment': Property( - getValue: (CT_ c) => c.hasDocumentationComment, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'bool'), +void _render_LibraryTemplateData( + LibraryTemplateData context, + List ast, + Template template, + StringSink sink, { + RendererBase? parent, +}) { + var renderer = _Renderer_LibraryTemplateData(context, parent, template, sink); + renderer.renderBlock(ast); +} - getBool: (CT_ c) => c.hasDocumentationComment, - ), - 'hasExplicitGetter': Property( - getValue: (CT_ c) => c.hasExplicitGetter, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'bool'), - - getBool: (CT_ c) => c.hasExplicitGetter, - ), - 'hasExplicitSetter': Property( - getValue: (CT_ c) => c.hasExplicitSetter, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'bool'), - - getBool: (CT_ c) => c.hasExplicitSetter, - ), - 'hasGetter': Property( - getValue: (CT_ c) => c.hasGetter, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'bool'), - - getBool: (CT_ c) => c.hasGetter, - ), - 'hasGetterOrSetter': Property( - getValue: (CT_ c) => c.hasGetterOrSetter, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'bool'), - - getBool: (CT_ c) => c.hasGetterOrSetter, - ), - 'hasParameters': Property( - getValue: (CT_ c) => c.hasParameters, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'bool'), - - getBool: (CT_ c) => c.hasParameters, - ), - 'hasPublicGetter': Property( - getValue: (CT_ c) => c.hasPublicGetter, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'bool'), - - getBool: (CT_ c) => c.hasPublicGetter, - ), - 'hasPublicGetterNoSetter': Property( - getValue: (CT_ c) => c.hasPublicGetterNoSetter, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'bool'), - - getBool: (CT_ c) => c.hasPublicGetterNoSetter, - ), - 'hasPublicSetter': Property( - getValue: (CT_ c) => c.hasPublicSetter, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'bool'), - - getBool: (CT_ c) => c.hasPublicSetter, - ), - 'hasSetter': Property( - getValue: (CT_ c) => c.hasSetter, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'bool'), - - getBool: (CT_ c) => c.hasSetter, - ), - 'isCallable': Property( - getValue: (CT_ c) => c.isCallable, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'bool'), - - getBool: (CT_ c) => c.isCallable, - ), - 'isInherited': Property( - getValue: (CT_ c) => c.isInherited, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'bool'), - - getBool: (CT_ c) => c.isInherited, - ), - 'isPublic': Property( - getValue: (CT_ c) => c.isPublic, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'bool'), - - getBool: (CT_ c) => c.isPublic, - ), - 'linkedParamsNoMetadata': Property( - getValue: (CT_ c) => c.linkedParamsNoMetadata, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => c.linkedParamsNoMetadata == null, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String( - c.linkedParamsNoMetadata!, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'modelType': Property( - getValue: (CT_ c) => c.modelType, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_ElementType.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as ElementType, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_ElementType( - c.modelType, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'name': Property( - getValue: (CT_ c) => c.name, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String(c.name, ast, r.template, sink, parent: r); - }, - ), - 'oneLineDoc': Property( - getValue: (CT_ c) => c.oneLineDoc, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String( - c.oneLineDoc, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'parameters': Property( - getValue: (CT_ c) => c.parameters, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'List', - ), - - renderIterable: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - return c.parameters.map( - (e) => _render_Parameter( - e, - ast, - r.template, - sink, - parent: r, - ), - ); - }, - ), - 'readOnly': Property( - getValue: (CT_ c) => c.readOnly, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'bool'), - - getBool: (CT_ c) => c.readOnly, - ), - 'readWrite': Property( - getValue: (CT_ c) => c.readWrite, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'bool'), +class _Renderer_LibraryTemplateData extends RendererBase { + static final Map _propertyMapCache = {}; + static Map> propertyMap< + CT_ extends LibraryTemplateData>() => + _propertyMapCache.putIfAbsent( + CT_, + () => { + ..._Renderer_TemplateData.propertyMap(), + ..._Renderer_OneDirectoryDown.propertyMap(), + 'layoutTitle': Property( + getValue: (CT_ c) => c.layoutTitle, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String( + c.layoutTitle, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'library': Property( + getValue: (CT_ c) => c.library, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_Library.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as Library, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_Library( + c.library, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'metaDescription': Property( + getValue: (CT_ c) => c.metaDescription, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String( + c.metaDescription, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'navLinks': Property( + getValue: (CT_ c) => c.navLinks, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'List', + ), + renderIterable: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + return c.navLinks.map( + (e) => _render_Documentable( + e, + ast, + r.template, + sink, + parent: r, + ), + ); + }, + ), + 'self': Property( + getValue: (CT_ c) => c.self, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_Library.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as Library, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_Library(c.self, ast, r.template, sink, parent: r); + }, + ), + 'title': Property( + getValue: (CT_ c) => c.title, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String(c.title, ast, r.template, sink, parent: r); + }, + ), + }, + ) as Map>; - getBool: (CT_ c) => c.readWrite, - ), - 'referenceChildren': Property( - getValue: (CT_ c) => c.referenceChildren, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'Map', - ), + _Renderer_LibraryTemplateData( + LibraryTemplateData context, + RendererBase? parent, + Template template, + StringSink sink, + ) : super(context, parent, template, sink); - isNullValue: (CT_ c) => false, + @override + Property? getProperty(String key) { + if (propertyMap().containsKey(key)) { + return propertyMap()[key]; + } else { + return null; + } + } +} - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - renderSimple( - c.referenceChildren, - ast, - r.template, - sink, - parent: r, - getters: _invisibleGetters['Map']!, - ); - }, - ), - 'setter': Property( - getValue: (CT_ c) => c.setter, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_Accessor.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as Accessor, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => c.setter == null, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_Accessor( - c.setter!, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'writeOnly': Property( - getValue: (CT_ c) => c.writeOnly, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'bool'), +String renderLibraryRedirect(LibraryTemplateData context, Template template) { + var buffer = StringBuffer(); + _render_LibraryTemplateData(context, template.ast, template, buffer); + return buffer.toString(); +} - getBool: (CT_ c) => c.writeOnly, - ), +class _Renderer_Locatable extends RendererBase { + static final Map _propertyMapCache = {}; + static Map> propertyMap() => + _propertyMapCache.putIfAbsent( + CT_, + () => { + 'documentationFrom': Property( + getValue: (CT_ c) => c.documentationFrom, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'List', + ), + renderIterable: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + return c.documentationFrom.map( + (e) => renderSimple( + e, + ast, + r.template, + sink, + parent: r, + getters: _invisibleGetters['Locatable']!, + ), + ); + }, + ), + 'documentationIsLocal': Property( + getValue: (CT_ c) => c.documentationIsLocal, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'bool'), + getBool: (CT_ c) => c.documentationIsLocal, + ), + 'fullyQualifiedName': Property( + getValue: (CT_ c) => c.fullyQualifiedName, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String( + c.fullyQualifiedName, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'href': Property( + getValue: (CT_ c) => c.href, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => c.href == null, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String(c.href!, ast, r.template, sink, parent: r); }, - ) - as Map>; + ), + 'isCanonical': Property( + getValue: (CT_ c) => c.isCanonical, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'bool'), + getBool: (CT_ c) => c.isCanonical, + ), + 'location': Property( + getValue: (CT_ c) => c.location, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String( + c.location, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + }, + ) as Map>; - _Renderer_GetterSetterCombo( - GetterSetterCombo context, + _Renderer_Locatable( + Locatable context, RendererBase? parent, Template template, StringSink sink, ) : super(context, parent, template, sink); @override - Property? getProperty(String key) { - if (propertyMap().containsKey(key)) { - return propertyMap()[key]; + Property? getProperty(String key) { + if (propertyMap().containsKey(key)) { + return propertyMap()[key]; } else { return null; } } } -class _Renderer_HasNoPage extends RendererBase { +class _Renderer_MarkdownFileDocumentation + extends RendererBase { static final Map _propertyMapCache = {}; - static Map> propertyMap() => + static Map> propertyMap< + CT_ extends MarkdownFileDocumentation>() => _propertyMapCache.putIfAbsent( - CT_, - () => { - 'aboveSidebarPath': Property( - getValue: (CT_ c) => c.aboveSidebarPath, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => c.aboveSidebarPath == null, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String( - c.aboveSidebarPath!, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'belowSidebarPath': Property( - getValue: (CT_ c) => c.belowSidebarPath, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => c.belowSidebarPath == null, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String( - c.belowSidebarPath!, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'filePath': Property( - getValue: (CT_ c) => c.filePath, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String( - c.filePath, - ast, - r.template, - sink, - parent: r, - ); - }, - ), + CT_, + () => { + 'documentation': Property( + getValue: (CT_ c) => c.documentation, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String( + c.documentation, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'documentationAsHtml': Property( + getValue: (CT_ c) => c.documentationAsHtml, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String( + c.documentationAsHtml, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'documentationFile': Property( + getValue: (CT_ c) => c.documentationFile, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'File'), + isNullValue: (CT_ c) => c.documentationFile == null, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + renderSimple( + c.documentationFile, + ast, + r.template, + sink, + parent: r, + getters: _invisibleGetters['File']!, + ); + }, + ), + 'documentedWhere': Property( + getValue: (CT_ c) => c.documentedWhere, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'DocumentLocation', + ), + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + renderSimple( + c.documentedWhere, + ast, + r.template, + sink, + parent: r, + getters: _invisibleGetters['DocumentLocation']!, + ); }, - ) - as Map>; + ), + 'hasDocumentation': Property( + getValue: (CT_ c) => c.hasDocumentation, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'bool'), + getBool: (CT_ c) => c.hasDocumentation, + ), + 'isDocumented': Property( + getValue: (CT_ c) => c.isDocumented, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'bool'), + getBool: (CT_ c) => c.isDocumented, + ), + 'location': Property( + getValue: (CT_ c) => c.location, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String( + c.location, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'oneLineDoc': Property( + getValue: (CT_ c) => c.oneLineDoc, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String( + c.oneLineDoc, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + }, + ) as Map>; - _Renderer_HasNoPage( - HasNoPage context, + _Renderer_MarkdownFileDocumentation( + MarkdownFileDocumentation context, RendererBase? parent, Template template, StringSink sink, ) : super(context, parent, template, sink); @override - Property? getProperty(String key) { - if (propertyMap().containsKey(key)) { - return propertyMap()[key]; + Property? getProperty(String key) { + if (propertyMap().containsKey(key)) { + return propertyMap()[key]; } else { return null; } } } -class _Renderer_Inheritable extends RendererBase { +void _render_Method( + Method context, + List ast, + Template template, + StringSink sink, { + RendererBase? parent, +}) { + var renderer = _Renderer_Method(context, parent, template, sink); + renderer.renderBlock(ast); +} + +class _Renderer_Method extends RendererBase { static final Map _propertyMapCache = {}; - static Map> propertyMap() => + static Map> propertyMap() => _propertyMapCache.putIfAbsent( - CT_, - () => { - 'attributes': Property( - getValue: (CT_ c) => c.attributes, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'Set', - ), - - renderIterable: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - return c.attributes.map( - (e) => renderSimple( - e, - ast, - r.template, - sink, - parent: r, - getters: _invisibleGetters['Attribute']!, - ), - ); - }, - ), - 'canonicalLibrary': Property( - getValue: (CT_ c) => c.canonicalLibrary, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_Library.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as Library, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => c.canonicalLibrary == null, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_Library( - c.canonicalLibrary!, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'canonicalModelElement': Property( - getValue: (CT_ c) => c.canonicalModelElement, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_ModelElement.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as ModelElement, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => c.canonicalModelElement == null, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_ModelElement( - c.canonicalModelElement!, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'isCovariant': Property( - getValue: (CT_ c) => c.isCovariant, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'bool'), + CT_, + () => { + ..._Renderer_ModelElement.propertyMap(), + ..._Renderer_ContainerMember.propertyMap(), + ..._Renderer_Inheritable.propertyMap(), + ..._Renderer_TypeParameters.propertyMap(), + 'aboveSidebarPath': Property( + getValue: (CT_ c) => c.aboveSidebarPath, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String( + c.aboveSidebarPath, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'attributes': Property( + getValue: (CT_ c) => c.attributes, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'Set', + ), + renderIterable: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + return c.attributes.map( + (e) => renderSimple( + e, + ast, + r.template, + sink, + parent: r, + getters: _invisibleGetters['Attribute']!, + ), + ); + }, + ), + 'belowSidebarPath': Property( + getValue: (CT_ c) => c.belowSidebarPath, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => c.belowSidebarPath == null, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String( + c.belowSidebarPath!, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'characterLocation': Property( + getValue: (CT_ c) => c.characterLocation, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'CharacterLocation', + ), + isNullValue: (CT_ c) => c.characterLocation == null, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + renderSimple( + c.characterLocation, + ast, + r.template, + sink, + parent: r, + getters: _invisibleGetters['CharacterLocation']!, + ); + }, + ), + 'element': Property( + getValue: (CT_ c) => c.element, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'MethodElement2', + ), + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + renderSimple( + c.element, + ast, + r.template, + sink, + parent: r, + getters: _invisibleGetters['MethodElement2']!, + ); + }, + ), + 'enclosingElement': Property( + getValue: (CT_ c) => c.enclosingElement, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = + _Renderer_Container.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as Container, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_Container( + c.enclosingElement, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'enclosingExtension': Property( + getValue: (CT_ c) => c.enclosingExtension, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = + _Renderer_Extension.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as Extension, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_Extension( + c.enclosingExtension, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'fullkind': Property( + getValue: (CT_ c) => c.fullkind, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String( + c.fullkind, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'href': Property( + getValue: (CT_ c) => c.href, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => c.href == null, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String(c.href!, ast, r.template, sink, parent: r); + }, + ), + 'isCovariant': Property( + getValue: (CT_ c) => c.isCovariant, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'bool'), + getBool: (CT_ c) => c.isCovariant, + ), + 'isInherited': Property( + getValue: (CT_ c) => c.isInherited, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'bool'), + getBool: (CT_ c) => c.isInherited, + ), + 'isOperator': Property( + getValue: (CT_ c) => c.isOperator, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'bool'), + getBool: (CT_ c) => c.isOperator, + ), + 'isProvidedByExtension': Property( + getValue: (CT_ c) => c.isProvidedByExtension, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'bool'), + getBool: (CT_ c) => c.isProvidedByExtension, + ), + 'isStatic': Property( + getValue: (CT_ c) => c.isStatic, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'bool'), + getBool: (CT_ c) => c.isStatic, + ), + 'kind': Property( + getValue: (CT_ c) => c.kind, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'Kind'), + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + renderSimple( + c.kind, + ast, + r.template, + sink, + parent: r, + getters: _invisibleGetters['Kind']!, + ); + }, + ), + 'modelType': Property( + getValue: (CT_ c) => c.modelType, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = + _Renderer_Callable.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as Callable, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_Callable( + c.modelType, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'originalMember': Property( + getValue: (CT_ c) => c.originalMember, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'ExecutableMember', + ), + isNullValue: (CT_ c) => c.originalMember == null, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + renderSimple( + c.originalMember, + ast, + r.template, + sink, + parent: r, + getters: _invisibleGetters['ExecutableMember']!, + ); + }, + ), + 'overriddenElement': Property( + getValue: (CT_ c) => c.overriddenElement, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_Method.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as Method, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => c.overriddenElement == null, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_Method( + c.overriddenElement!, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'referenceChildren': Property( + getValue: (CT_ c) => c.referenceChildren, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'Map', + ), + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + renderSimple( + c.referenceChildren, + ast, + r.template, + sink, + parent: r, + getters: _invisibleGetters['Map']!, + ); + }, + ), + 'typeParameters': Property( + getValue: (CT_ c) => c.typeParameters, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'List', + ), + renderIterable: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + return c.typeParameters.map( + (e) => _render_TypeParameter( + e, + ast, + r.template, + sink, + parent: r, + ), + ); + }, + ), + }, + ) as Map>; - getBool: (CT_ c) => c.isCovariant, - ), - 'isInherited': Property( - getValue: (CT_ c) => c.isInherited, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'bool'), + _Renderer_Method( + Method context, + RendererBase? parent, + Template template, + StringSink sink, + ) : super(context, parent, template, sink); - getBool: (CT_ c) => c.isInherited, - ), - 'isOverride': Property( - getValue: (CT_ c) => c.isOverride, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'bool'), + @override + Property? getProperty(String key) { + if (propertyMap().containsKey(key)) { + return propertyMap()[key]; + } else { + return null; + } + } +} - getBool: (CT_ c) => c.isOverride, - ), - 'overriddenDepth': Property( - getValue: (CT_ c) => c.overriddenDepth, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'int'), +String renderMethod(MethodTemplateData context, Template template) { + var buffer = StringBuffer(); + _render_MethodTemplateData(context, template.ast, template, buffer); + return buffer.toString(); +} - isNullValue: (CT_ c) => false, +void _render_MethodTemplateData( + MethodTemplateData context, + List ast, + Template template, + StringSink sink, { + RendererBase? parent, +}) { + var renderer = _Renderer_MethodTemplateData(context, parent, template, sink); + renderer.renderBlock(ast); +} - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - renderSimple( - c.overriddenDepth, - ast, - r.template, - sink, - parent: r, - getters: _invisibleGetters['int']!, - ); - }, - ), - 'overriddenElement': Property( - getValue: (CT_ c) => c.overriddenElement, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_Inheritable.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as Inheritable, - nextProperty, - [...remainingNames.skip(1)], - ); - }, +class _Renderer_MethodTemplateData extends RendererBase { + static final Map _propertyMapCache = {}; + static Map> propertyMap< + CT_ extends MethodTemplateData>() => + _propertyMapCache.putIfAbsent( + CT_, + () => { + ..._Renderer_TemplateData.propertyMap(), + ..._Renderer_TwoDirectoriesDown.propertyMap(), + 'container': Property( + getValue: (CT_ c) => c.container, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = + _Renderer_Container.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as Container, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_Container( + c.container, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'layoutTitle': Property( + getValue: (CT_ c) => c.layoutTitle, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String( + c.layoutTitle, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'library': Property( + getValue: (CT_ c) => c.library, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_Library.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as Library, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_Library( + c.library, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'metaDescription': Property( + getValue: (CT_ c) => c.metaDescription, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String( + c.metaDescription, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'method': Property( + getValue: (CT_ c) => c.method, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_Method.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as Method, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_Method( + c.method, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'navLinks': Property( + getValue: (CT_ c) => c.navLinks, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'List', + ), + renderIterable: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + return c.navLinks.map( + (e) => _render_Documentable( + e, + ast, + r.template, + sink, + parent: r, + ), + ); + }, + ), + 'navLinksWithGenerics': Property( + getValue: (CT_ c) => c.navLinksWithGenerics, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'List', + ), + renderIterable: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + return c.navLinksWithGenerics.map( + (e) => _render_Container( + e, + ast, + r.template, + sink, + parent: r, + ), + ); + }, + ), + 'self': Property( + getValue: (CT_ c) => c.self, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_Method.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as Method, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_Method(c.self, ast, r.template, sink, parent: r); + }, + ), + 'title': Property( + getValue: (CT_ c) => c.title, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String(c.title, ast, r.template, sink, parent: r); + }, + ), + }, + ) as Map>; - isNullValue: (CT_ c) => c.overriddenElement == null, + _Renderer_MethodTemplateData( + MethodTemplateData context, + RendererBase? parent, + Template template, + StringSink sink, + ) : super(context, parent, template, sink); - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - renderSimple( - c.overriddenElement, - ast, - r.template, - sink, - parent: r, - getters: _invisibleGetters['Inheritable']!, - ); - }, - ), + @override + Property? getProperty(String key) { + if (propertyMap().containsKey(key)) { + return propertyMap()[key]; + } else { + return null; + } + } +} + +class _Renderer_MixedInTypes extends RendererBase { + static final Map _propertyMapCache = {}; + static Map> propertyMap() => + _propertyMapCache.putIfAbsent( + CT_, + () => { + 'hasModifiers': Property( + getValue: (CT_ c) => c.hasModifiers, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'bool'), + getBool: (CT_ c) => c.hasModifiers, + ), + 'hasPublicMixedInTypes': Property( + getValue: (CT_ c) => c.hasPublicMixedInTypes, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'bool'), + getBool: (CT_ c) => c.hasPublicMixedInTypes, + ), + 'mixedInTypes': Property( + getValue: (CT_ c) => c.mixedInTypes, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'List', + ), + renderIterable: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + return c.mixedInTypes.map( + (e) => _render_DefinedElementType( + e, + ast, + r.template, + sink, + parent: r, + ), + ); }, - ) - as Map>; + ), + 'publicMixedInTypes': Property( + getValue: (CT_ c) => c.publicMixedInTypes, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'Iterable', + ), + renderIterable: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + return c.publicMixedInTypes.map( + (e) => _render_DefinedElementType( + e, + ast, + r.template, + sink, + parent: r, + ), + ); + }, + ), + }, + ) as Map>; - _Renderer_Inheritable( - Inheritable context, + _Renderer_MixedInTypes( + MixedInTypes context, RendererBase? parent, Template template, StringSink sink, ) : super(context, parent, template, sink); @override - Property? getProperty(String key) { - if (propertyMap().containsKey(key)) { - return propertyMap()[key]; + Property? getProperty(String key) { + if (propertyMap().containsKey(key)) { + return propertyMap()[key]; } else { return null; } } } -void _render_InheritingContainer( - InheritingContainer context, +void _render_Mixin( + Mixin context, List ast, Template template, StringSink sink, { RendererBase? parent, }) { - var renderer = _Renderer_InheritingContainer(context, parent, template, sink); + var renderer = _Renderer_Mixin(context, parent, template, sink); renderer.renderBlock(ast); } -class _Renderer_InheritingContainer extends RendererBase { +class _Renderer_Mixin extends RendererBase { static final Map _propertyMapCache = {}; - static Map> - propertyMap() => + static Map> propertyMap() => _propertyMapCache.putIfAbsent( + CT_, + () => { + ..._Renderer_InheritingContainer.propertyMap(), + 'element': Property( + getValue: (CT_ c) => c.element, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'MixinElement2', + ), + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + renderSimple( + c.element, + ast, + r.template, + sink, + parent: r, + getters: _invisibleGetters['MixinElement2']!, + ); + }, + ), + 'fileName': Property( + getValue: (CT_ c) => c.fileName, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String( + c.fileName, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'hasModifiers': Property( + getValue: (CT_ c) => c.hasModifiers, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'bool'), + getBool: (CT_ c) => c.hasModifiers, + ), + 'hasPublicSuperclassConstraints': Property( + getValue: (CT_ c) => c.hasPublicSuperclassConstraints, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'bool'), + getBool: (CT_ c) => c.hasPublicSuperclassConstraints, + ), + 'inheritanceChain': Property( + getValue: (CT_ c) => c.inheritanceChain, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'List', + ), + renderIterable: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + return c.inheritanceChain.map( + (e) => _render_InheritingContainer( + e, + ast, + r.template, + sink, + parent: r, + ), + ); + }, + ), + 'isAbstract': Property( + getValue: (CT_ c) => c.isAbstract, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'bool'), + getBool: (CT_ c) => c.isAbstract, + ), + 'isBase': Property( + getValue: (CT_ c) => c.isBase, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'bool'), + getBool: (CT_ c) => c.isBase, + ), + 'isFinal': Property( + getValue: (CT_ c) => c.isFinal, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'bool'), + getBool: (CT_ c) => c.isFinal, + ), + 'isImplementableInterface': Property( + getValue: (CT_ c) => c.isImplementableInterface, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'bool'), + getBool: (CT_ c) => c.isImplementableInterface, + ), + 'isMixinClass': Property( + getValue: (CT_ c) => c.isMixinClass, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'bool'), + getBool: (CT_ c) => c.isMixinClass, + ), + 'isSealed': Property( + getValue: (CT_ c) => c.isSealed, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'bool'), + getBool: (CT_ c) => c.isSealed, + ), + 'kind': Property( + getValue: (CT_ c) => c.kind, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'Kind'), + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + renderSimple( + c.kind, + ast, + r.template, + sink, + parent: r, + getters: _invisibleGetters['Kind']!, + ); + }, + ), + 'publicSuperclassConstraints': Property( + getValue: (CT_ c) => c.publicSuperclassConstraints, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'Iterable', + ), + renderIterable: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + return c.publicSuperclassConstraints.map( + (e) => _render_ParameterizedElementType( + e, + ast, + r.template, + sink, + parent: r, + ), + ); + }, + ), + 'relationshipsClass': Property( + getValue: (CT_ c) => c.relationshipsClass, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String( + c.relationshipsClass, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'sidebarPath': Property( + getValue: (CT_ c) => c.sidebarPath, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String( + c.sidebarPath, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'superclassConstraints': Property( + getValue: (CT_ c) => c.superclassConstraints, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'List', + ), + renderIterable: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + return c.superclassConstraints.map( + (e) => _render_ParameterizedElementType( + e, + ast, + r.template, + sink, + parent: r, + ), + ); + }, + ), + }, + ) as Map>; + + _Renderer_Mixin( + Mixin context, + RendererBase? parent, + Template template, + StringSink sink, + ) : super(context, parent, template, sink); + + @override + Property? getProperty(String key) { + if (propertyMap().containsKey(key)) { + return propertyMap()[key]; + } else { + return null; + } + } +} + +String renderMixin(MixinTemplateData context, Template template) { + var buffer = StringBuffer(); + _render_MixinTemplateData(context, template.ast, template, buffer); + return buffer.toString(); +} + +void _render_MixinTemplateData( + MixinTemplateData context, + List ast, + Template template, + StringSink sink, { + RendererBase? parent, +}) { + var renderer = _Renderer_MixinTemplateData(context, parent, template, sink); + renderer.renderBlock(ast); +} + +class _Renderer_MixinTemplateData extends RendererBase { + static final Map _propertyMapCache = {}; + static Map> + propertyMap() => + _propertyMapCache.putIfAbsent( CT_, () => { - ..._Renderer_Container.propertyMap(), - 'allModelElements': Property( - getValue: (CT_ c) => c.allModelElements, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'List', - ), - - renderIterable: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - return c.allModelElements.map( - (e) => _render_ModelElement( - e, - ast, - r.template, - sink, - parent: r, - ), - ); - }, - ), - 'availableInstanceFieldsSorted': Property( - getValue: (CT_ c) => c.availableInstanceFieldsSorted, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'List', - ), - - renderIterable: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - return c.availableInstanceFieldsSorted.map( - (e) => - _render_Field(e, ast, r.template, sink, parent: r), - ); - }, - ), - 'availableInstanceMethodsSorted': Property( - getValue: (CT_ c) => c.availableInstanceMethodsSorted, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'List', - ), - - renderIterable: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - return c.availableInstanceMethodsSorted.map( - (e) => - _render_Method(e, ast, r.template, sink, parent: r), - ); - }, - ), - 'availableInstanceOperatorsSorted': Property( - getValue: (CT_ c) => c.availableInstanceOperatorsSorted, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'List', - ), - - renderIterable: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - return c.availableInstanceOperatorsSorted.map( - (e) => _render_Operator( - e, - ast, - r.template, - sink, - parent: r, - ), - ); - }, - ), - 'constantFields': Property( - getValue: (CT_ c) => c.constantFields, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'Iterable', - ), - - renderIterable: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - return c.constantFields.map( - (e) => - _render_Field(e, ast, r.template, sink, parent: r), - ); - }, - ), - 'containerModifiers': Property( - getValue: (CT_ c) => c.containerModifiers, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'List', - ), - - renderIterable: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - return c.containerModifiers.map( - (e) => renderSimple( - e, - ast, - r.template, - sink, - parent: r, - getters: _invisibleGetters['ContainerModifier']!, - ), - ); - }, - ), - 'declaredFields': Property( - getValue: (CT_ c) => c.declaredFields, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'Iterable', - ), - - renderIterable: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - return c.declaredFields.map( - (e) => - _render_Field(e, ast, r.template, sink, parent: r), - ); - }, - ), - 'declaredMethods': Property( - getValue: (CT_ c) => c.declaredMethods, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'List', - ), - - renderIterable: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - return c.declaredMethods.map( - (e) => - _render_Method(e, ast, r.template, sink, parent: r), - ); - }, - ), - 'definingContainer': Property( - getValue: (CT_ c) => c.definingContainer, + ..._Renderer_InheritingContainerTemplateData.propertyMap(), + 'mixin': Property( + getValue: (CT_ c) => c.mixin, renderVariable: (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = - _Renderer_InheritingContainer.propertyMap().getValue( - name, - ); - return nextProperty.renderVariable( - self.getValue(c) as InheritingContainer, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_InheritingContainer( - c.definingContainer, - ast, - r.template, - sink, - parent: r, - ); - }, + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_Mixin.propertyMap().getValue( + name, + ); + return nextProperty.renderVariable( + self.getValue(c) as Mixin, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_Mixin(c.mixin, ast, r.template, sink, parent: r); + }, ), - 'displayedLanguageFeatures': Property( - getValue: (CT_ c) => c.displayedLanguageFeatures, + 'self': Property( + getValue: (CT_ c) => c.self, renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'List', - ), - - renderIterable: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - return c.displayedLanguageFeatures.map( - (e) => _render_LanguageFeature( - e, - ast, - r.template, - sink, - parent: r, - ), - ); - }, + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_Mixin.propertyMap().getValue( + name, + ); + return nextProperty.renderVariable( + self.getValue(c) as Mixin, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_Mixin(c.self, ast, r.template, sink, parent: r); + }, ), - 'element': Property( - getValue: (CT_ c) => c.element, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'InterfaceElement2', - ), + }, + ) as Map>; - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - renderSimple( - c.element, - ast, - r.template, - sink, - parent: r, - getters: _invisibleGetters['InterfaceElement2']!, - ); - }, - ), - 'enclosingElement': Property( - getValue: (CT_ c) => c.enclosingElement, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_Library.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as Library, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_Library( - c.enclosingElement, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'fullkind': Property( - getValue: (CT_ c) => c.fullkind, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String( - c.fullkind, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'hasModifiers': Property( - getValue: (CT_ c) => c.hasModifiers, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'bool'), - - getBool: (CT_ c) => c.hasModifiers, - ), - 'hasPotentiallyApplicableExtensions': Property( - getValue: (CT_ c) => c.hasPotentiallyApplicableExtensions, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'bool'), - - getBool: (CT_ c) => c.hasPotentiallyApplicableExtensions, - ), - 'hasPublicImplementers': Property( - getValue: (CT_ c) => c.hasPublicImplementers, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'bool'), - - getBool: (CT_ c) => c.hasPublicImplementers, - ), - 'hasPublicInterfaces': Property( - getValue: (CT_ c) => c.hasPublicInterfaces, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'bool'), - - getBool: (CT_ c) => c.hasPublicInterfaces, - ), - 'hasPublicSuperChainReversed': Property( - getValue: (CT_ c) => c.hasPublicSuperChainReversed, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'bool'), - - getBool: (CT_ c) => c.hasPublicSuperChainReversed, - ), - 'inheritanceChain': Property( - getValue: (CT_ c) => c.inheritanceChain, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'List', - ), - - renderIterable: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - return c.inheritanceChain.map( - (e) => _render_InheritingContainer( - e, - ast, - r.template, - sink, - parent: r, - ), - ); - }, - ), - 'instanceFields': Property( - getValue: (CT_ c) => c.instanceFields, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'Iterable', - ), - - renderIterable: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - return c.instanceFields.map( - (e) => - _render_Field(e, ast, r.template, sink, parent: r), - ); - }, - ), - 'instanceMethods': Property( - getValue: (CT_ c) => c.instanceMethods, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'Iterable', - ), - - renderIterable: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - return c.instanceMethods.map( - (e) => - _render_Method(e, ast, r.template, sink, parent: r), - ); - }, - ), - 'instanceOperators': Property( - getValue: (CT_ c) => c.instanceOperators, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'Iterable', - ), - - renderIterable: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - return c.instanceOperators.map( - (e) => _render_Operator( - e, - ast, - r.template, - sink, - parent: r, - ), - ); - }, - ), - 'interfaceElements': Property( - getValue: (CT_ c) => c.interfaceElements, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'List', - ), - - renderIterable: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - return c.interfaceElements.map( - (e) => _render_InheritingContainer( - e, - ast, - r.template, - sink, - parent: r, - ), - ); - }, - ), - 'isAbstract': Property( - getValue: (CT_ c) => c.isAbstract, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'bool'), - - getBool: (CT_ c) => c.isAbstract, - ), - 'isBase': Property( - getValue: (CT_ c) => c.isBase, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'bool'), - - getBool: (CT_ c) => c.isBase, - ), - 'isCanonical': Property( - getValue: (CT_ c) => c.isCanonical, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'bool'), - - getBool: (CT_ c) => c.isCanonical, - ), - 'isFinal': Property( - getValue: (CT_ c) => c.isFinal, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'bool'), - - getBool: (CT_ c) => c.isFinal, - ), - 'isImplementableInterface': Property( - getValue: (CT_ c) => c.isImplementableInterface, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'bool'), - - getBool: (CT_ c) => c.isImplementableInterface, - ), - 'isMixinClass': Property( - getValue: (CT_ c) => c.isMixinClass, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'bool'), - - getBool: (CT_ c) => c.isMixinClass, - ), - 'isSealed': Property( - getValue: (CT_ c) => c.isSealed, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'bool'), - - getBool: (CT_ c) => c.isSealed, - ), - 'modelType': Property( - getValue: (CT_ c) => c.modelType, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = - _Renderer_DefinedElementType.propertyMap().getValue( - name, - ); - return nextProperty.renderVariable( - self.getValue(c) as DefinedElementType, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_DefinedElementType( - c.modelType, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'potentiallyApplicableExtensionsSorted': Property( - getValue: (CT_ c) => c.potentiallyApplicableExtensionsSorted, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'List', - ), - - renderIterable: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - return c.potentiallyApplicableExtensionsSorted.map( - (e) => _render_Extension( - e, - ast, - r.template, - sink, - parent: r, - ), - ); - }, - ), - 'publicImplementersSorted': Property( - getValue: (CT_ c) => c.publicImplementersSorted, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'List', - ), - - renderIterable: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - return c.publicImplementersSorted.map( - (e) => _render_InheritingContainer( - e, - ast, - r.template, - sink, - parent: r, - ), - ); - }, - ), - 'publicInheritedInstanceFields': Property( - getValue: (CT_ c) => c.publicInheritedInstanceFields, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'bool'), - - getBool: (CT_ c) => c.publicInheritedInstanceFields, - ), - 'publicInheritedInstanceMethods': Property( - getValue: (CT_ c) => c.publicInheritedInstanceMethods, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'bool'), - - getBool: (CT_ c) => c.publicInheritedInstanceMethods, - ), - 'publicInheritedInstanceOperators': Property( - getValue: (CT_ c) => c.publicInheritedInstanceOperators, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'bool'), - - getBool: (CT_ c) => c.publicInheritedInstanceOperators, - ), - 'publicInterfaceElements': Property( - getValue: (CT_ c) => c.publicInterfaceElements, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'Iterable', - ), - - renderIterable: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - return c.publicInterfaceElements.map( - (e) => _render_InheritingContainer( - e, - ast, - r.template, - sink, - parent: r, - ), - ); - }, - ), - 'publicInterfaces': Property( - getValue: (CT_ c) => c.publicInterfaces, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'List', - ), - - renderIterable: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - return c.publicInterfaces.map( - (e) => _render_DefinedElementType( - e, - ast, - r.template, - sink, - parent: r, - ), - ); - }, - ), - 'publicSuperChainReversed': Property( - getValue: (CT_ c) => c.publicSuperChainReversed, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'Iterable', - ), - - renderIterable: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - return c.publicSuperChainReversed.map( - (e) => _render_DefinedElementType( - e, - ast, - r.template, - sink, - parent: r, - ), - ); - }, - ), - 'superChain': Property( - getValue: (CT_ c) => c.superChain, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'List', - ), - - renderIterable: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - return c.superChain.map( - (e) => _render_DefinedElementType( - e, - ast, - r.template, - sink, - parent: r, - ), - ); - }, - ), - 'supertype': Property( - getValue: (CT_ c) => c.supertype, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = - _Renderer_DefinedElementType.propertyMap().getValue( - name, - ); - return nextProperty.renderVariable( - self.getValue(c) as DefinedElementType, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => c.supertype == null, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_DefinedElementType( - c.supertype!, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'typeParameters': Property( - getValue: (CT_ c) => c.typeParameters, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'List', - ), - - renderIterable: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - return c.typeParameters.map( - (e) => _render_TypeParameter( - e, - ast, - r.template, - sink, - parent: r, - ), - ); - }, - ), - }, - ) - as Map>; - - _Renderer_InheritingContainer( - InheritingContainer context, - RendererBase? parent, - Template template, - StringSink sink, - ) : super(context, parent, template, sink); - - @override - Property? getProperty(String key) { - if (propertyMap().containsKey(key)) { - return propertyMap()[key]; - } else { - return null; - } - } -} - -class _Renderer_InheritingContainerTemplateData - extends RendererBase> { - static final Map _propertyMapCache = {}; - static Map> propertyMap< - T extends InheritingContainer, - CT_ extends InheritingContainerTemplateData - >() => - _propertyMapCache.putIfAbsent( - CT_, - () => { - ..._Renderer_TemplateData.propertyMap(), - ..._Renderer_OneDirectoryDown.propertyMap(), - 'clazz': Property( - getValue: (CT_ c) => c.clazz, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = - _Renderer_InheritingContainer.propertyMap().getValue( - name, - ); - return nextProperty.renderVariable( - self.getValue(c) as InheritingContainer, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_InheritingContainer( - c.clazz, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'container': Property( - getValue: (CT_ c) => c.container, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_Container.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as Container, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_Container( - c.container, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'layoutTitle': Property( - getValue: (CT_ c) => c.layoutTitle, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String( - c.layoutTitle, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'library': Property( - getValue: (CT_ c) => c.library, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_Library.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as Library, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_Library( - c.library, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'metaDescription': Property( - getValue: (CT_ c) => c.metaDescription, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String( - c.metaDescription, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'navLinks': Property( - getValue: (CT_ c) => c.navLinks, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'List', - ), - - renderIterable: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - return c.navLinks.map( - (e) => _render_Documentable( - e, - ast, - r.template, - sink, - parent: r, - ), - ); - }, - ), - 'self': Property( - getValue: (CT_ c) => c.self, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = - _Renderer_InheritingContainer.propertyMap().getValue( - name, - ); - return nextProperty.renderVariable( - self.getValue(c) as InheritingContainer, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_InheritingContainer( - c.self, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'title': Property( - getValue: (CT_ c) => c.title, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String(c.title, ast, r.template, sink, parent: r); - }, - ), - }, - ) - as Map>; - - _Renderer_InheritingContainerTemplateData( - InheritingContainerTemplateData context, - RendererBase? parent, - Template template, - StringSink sink, - ) : super(context, parent, template, sink); - - @override - Property>? getProperty(String key) { - if (propertyMap>().containsKey(key)) { - return propertyMap>()[key]; - } else { - return null; - } - } -} - -void _render_LanguageFeature( - LanguageFeature context, - List ast, - Template template, - StringSink sink, { - RendererBase? parent, -}) { - var renderer = _Renderer_LanguageFeature(context, parent, template, sink); - renderer.renderBlock(ast); -} - -class _Renderer_LanguageFeature extends RendererBase { - static final Map _propertyMapCache = {}; - static Map> - propertyMap() => - _propertyMapCache.putIfAbsent( - CT_, - () => { - ..._Renderer_Object.propertyMap(), - 'featureDescription': Property( - getValue: (CT_ c) => c.featureDescription, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => c.featureDescription == null, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String( - c.featureDescription!, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'featureLabel': Property( - getValue: (CT_ c) => c.featureLabel, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String( - c.featureLabel, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'featureUrl': Property( - getValue: (CT_ c) => c.featureUrl, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => c.featureUrl == null, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String( - c.featureUrl!, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'name': Property( - getValue: (CT_ c) => c.name, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String(c.name, ast, r.template, sink, parent: r); - }, - ), - }, - ) - as Map>; - - _Renderer_LanguageFeature( - LanguageFeature context, - RendererBase? parent, - Template template, - StringSink sink, - ) : super(context, parent, template, sink); - - @override - Property? getProperty(String key) { - if (propertyMap().containsKey(key)) { - return propertyMap()[key]; - } else { - return null; - } - } -} - -void _render_Library( - Library context, - List ast, - Template template, - StringSink sink, { - RendererBase? parent, -}) { - var renderer = _Renderer_Library(context, parent, template, sink); - renderer.renderBlock(ast); -} - -class _Renderer_Library extends RendererBase { - static final Map _propertyMapCache = {}; - static Map> propertyMap() => - _propertyMapCache.putIfAbsent( - CT_, - () => { - ..._Renderer_ModelElement.propertyMap(), - ..._Renderer_Categorization.propertyMap(), - ..._Renderer_TopLevelContainer.propertyMap(), - ..._Renderer_CanonicalFor.propertyMap(), - 'aboveSidebarPath': Property( - getValue: (CT_ c) => c.aboveSidebarPath, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => c.aboveSidebarPath == null, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String( - c.aboveSidebarPath!, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'allModelElements': Property( - getValue: (CT_ c) => c.allModelElements, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'List', - ), - - renderIterable: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - return c.allModelElements.map( - (e) => _render_ModelElement( - e, - ast, - r.template, - sink, - parent: r, - ), - ); - }, - ), - 'belowSidebarPath': Property( - getValue: (CT_ c) => c.belowSidebarPath, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String( - c.belowSidebarPath, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'breadcrumbName': Property( - getValue: (CT_ c) => c.breadcrumbName, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String( - c.breadcrumbName, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'characterLocation': Property( - getValue: (CT_ c) => c.characterLocation, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'CharacterLocation', - ), - - isNullValue: (CT_ c) => c.characterLocation == null, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - renderSimple( - c.characterLocation, - ast, - r.template, - sink, - parent: r, - getters: _invisibleGetters['CharacterLocation']!, - ); - }, - ), - 'classes': Property( - getValue: (CT_ c) => c.classes, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'Iterable', - ), - - renderIterable: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - return c.classes.map( - (e) => - _render_Class(e, ast, r.template, sink, parent: r), - ); - }, - ), - 'classesAndExceptions': Property( - getValue: (CT_ c) => c.classesAndExceptions, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'List', - ), - - renderIterable: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - return c.classesAndExceptions.map( - (e) => - _render_Class(e, ast, r.template, sink, parent: r), - ); - }, - ), - 'constants': Property( - getValue: (CT_ c) => c.constants, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'Iterable', - ), - - renderIterable: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - return c.constants.map( - (e) => _render_TopLevelVariable( - e, - ast, - r.template, - sink, - parent: r, - ), - ); - }, - ), - 'dirName': Property( - getValue: (CT_ c) => c.dirName, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String( - c.dirName, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'displayName': Property( - getValue: (CT_ c) => c.displayName, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String( - c.displayName, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'element': Property( - getValue: (CT_ c) => c.element, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'LibraryElement2', - ), - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - renderSimple( - c.element, - ast, - r.template, - sink, - parent: r, - getters: _invisibleGetters['LibraryElement2']!, - ); - }, - ), - 'enclosingElement': Property( - getValue: (CT_ c) => c.enclosingElement, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_ModelElement.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as ModelElement, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => c.enclosingElement == null, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_ModelElement( - c.enclosingElement!, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'enums': Property( - getValue: (CT_ c) => c.enums, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'List', - ), - - renderIterable: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - return c.enums.map( - (e) => - _render_Enum(e, ast, r.template, sink, parent: r), - ); - }, - ), - 'exceptions': Property( - getValue: (CT_ c) => c.exceptions, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'List', - ), - - renderIterable: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - return c.exceptions.map( - (e) => - _render_Class(e, ast, r.template, sink, parent: r), - ); - }, - ), - 'extensionTypes': Property( - getValue: (CT_ c) => c.extensionTypes, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'List', - ), - - renderIterable: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - return c.extensionTypes.map( - (e) => _render_ExtensionType( - e, - ast, - r.template, - sink, - parent: r, - ), - ); - }, - ), - 'extensions': Property( - getValue: (CT_ c) => c.extensions, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'List', - ), - - renderIterable: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - return c.extensions.map( - (e) => _render_Extension( - e, - ast, - r.template, - sink, - parent: r, - ), - ); - }, - ), - 'fileName': Property( - getValue: (CT_ c) => c.fileName, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String( - c.fileName, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'filePath': Property( - getValue: (CT_ c) => c.filePath, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String( - c.filePath, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'functions': Property( - getValue: (CT_ c) => c.functions, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'List', - ), - - renderIterable: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - return c.functions.map( - (e) => _render_ModelFunction( - e, - ast, - r.template, - sink, - parent: r, - ), - ); - }, - ), - 'href': Property( - getValue: (CT_ c) => c.href, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => c.href == null, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String(c.href!, ast, r.template, sink, parent: r); - }, - ), - 'isAnonymous': Property( - getValue: (CT_ c) => c.isAnonymous, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'bool'), - - getBool: (CT_ c) => c.isAnonymous, - ), - 'isInSdk': Property( - getValue: (CT_ c) => c.isInSdk, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'bool'), - - getBool: (CT_ c) => c.isInSdk, - ), - 'isPublic': Property( - getValue: (CT_ c) => c.isPublic, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'bool'), - - getBool: (CT_ c) => c.isPublic, - ), - 'kind': Property( - getValue: (CT_ c) => c.kind, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'Kind'), - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - renderSimple( - c.kind, - ast, - r.template, - sink, - parent: r, - getters: _invisibleGetters['Kind']!, - ); - }, - ), - 'library': Property( - getValue: (CT_ c) => c.library, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_Library.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as Library, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_Library( - c.library, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'mixins': Property( - getValue: (CT_ c) => c.mixins, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'List', - ), - - renderIterable: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - return c.mixins.map( - (e) => - _render_Mixin(e, ast, r.template, sink, parent: r), - ); - }, - ), - 'name': Property( - getValue: (CT_ c) => c.name, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String(c.name, ast, r.template, sink, parent: r); - }, - ), - 'package': Property( - getValue: (CT_ c) => c.package, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_Package.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as Package, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_Package( - c.package, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'packageMeta': Property( - getValue: (CT_ c) => c.packageMeta, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'PackageMeta', - ), - - isNullValue: (CT_ c) => c.packageMeta == null, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - renderSimple( - c.packageMeta, - ast, - r.template, - sink, - parent: r, - getters: _invisibleGetters['PackageMeta']!, - ); - }, - ), - 'packageName': Property( - getValue: (CT_ c) => c.packageName, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String( - c.packageName, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'properties': Property( - getValue: (CT_ c) => c.properties, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'List', - ), - - renderIterable: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - return c.properties.map( - (e) => _render_TopLevelVariable( - e, - ast, - r.template, - sink, - parent: r, - ), - ); - }, - ), - 'redirectingPath': Property( - getValue: (CT_ c) => c.redirectingPath, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String( - c.redirectingPath, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'referenceChildren': Property( - getValue: (CT_ c) => c.referenceChildren, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'Map', - ), - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - renderSimple( - c.referenceChildren, - ast, - r.template, - sink, - parent: r, - getters: _invisibleGetters['Map']!, - ); - }, - ), - 'referenceParents': Property( - getValue: (CT_ c) => c.referenceParents, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'Iterable', - ), - - renderIterable: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - return c.referenceParents.map( - (e) => renderSimple( - e, - ast, - r.template, - sink, - parent: r, - getters: _invisibleGetters['CommentReferable']!, - ), - ); - }, - ), - 'scope': Property( - getValue: (CT_ c) => c.scope, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'Scope'), - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - renderSimple( - c.scope, - ast, - r.template, - sink, - parent: r, - getters: _invisibleGetters['Scope']!, - ); - }, - ), - 'sidebarPath': Property( - getValue: (CT_ c) => c.sidebarPath, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String( - c.sidebarPath, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'typedefs': Property( - getValue: (CT_ c) => c.typedefs, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'List', - ), - - renderIterable: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - return c.typedefs.map( - (e) => _render_Typedef( - e, - ast, - r.template, - sink, - parent: r, - ), - ); - }, - ), - 'unitElement': Property( - getValue: (CT_ c) => c.unitElement, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'LibraryFragment', - ), - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - renderSimple( - c.unitElement, - ast, - r.template, - sink, - parent: r, - getters: _invisibleGetters['LibraryFragment']!, - ); - }, - ), - }, - ) - as Map>; - - _Renderer_Library( - Library context, - RendererBase? parent, - Template template, - StringSink sink, - ) : super(context, parent, template, sink); - - @override - Property? getProperty(String key) { - if (propertyMap().containsKey(key)) { - return propertyMap()[key]; - } else { - return null; - } - } -} - -class _Renderer_LibraryContainer extends RendererBase { - static final Map _propertyMapCache = {}; - static Map> - propertyMap() => - _propertyMapCache.putIfAbsent( - CT_, - () => { - ..._Renderer_Object.propertyMap(), - 'containerOrder': Property( - getValue: (CT_ c) => c.containerOrder, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'List', - ), - - renderIterable: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - return c.containerOrder.map( - (e) => - _render_String(e, ast, r.template, sink, parent: r), - ); - }, - ), - 'enclosingName': Property( - getValue: (CT_ c) => c.enclosingName, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String( - c.enclosingName, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'hasPublicLibraries': Property( - getValue: (CT_ c) => c.hasPublicLibraries, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'bool'), - - getBool: (CT_ c) => c.hasPublicLibraries, - ), - 'isSdk': Property( - getValue: (CT_ c) => c.isSdk, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'bool'), - - getBool: (CT_ c) => c.isSdk, - ), - 'libraries': Property( - getValue: (CT_ c) => c.libraries, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'List', - ), - - renderIterable: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - return c.libraries.map( - (e) => _render_Library( - e, - ast, - r.template, - sink, - parent: r, - ), - ); - }, - ), - 'publicLibrariesSorted': Property( - getValue: (CT_ c) => c.publicLibrariesSorted, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'List', - ), - - renderIterable: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - return c.publicLibrariesSorted.map( - (e) => _render_Library( - e, - ast, - r.template, - sink, - parent: r, - ), - ); - }, - ), - 'sortKey': Property( - getValue: (CT_ c) => c.sortKey, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String( - c.sortKey, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - }, - ) - as Map>; - - _Renderer_LibraryContainer( - LibraryContainer context, - RendererBase? parent, - Template template, - StringSink sink, - ) : super(context, parent, template, sink); - - @override - Property? getProperty(String key) { - if (propertyMap().containsKey(key)) { - return propertyMap()[key]; - } else { - return null; - } - } -} - -String renderLibrary(LibraryTemplateData context, Template template) { - var buffer = StringBuffer(); - _render_LibraryTemplateData(context, template.ast, template, buffer); - return buffer.toString(); -} - -void _render_LibraryTemplateData( - LibraryTemplateData context, - List ast, - Template template, - StringSink sink, { - RendererBase? parent, -}) { - var renderer = _Renderer_LibraryTemplateData(context, parent, template, sink); - renderer.renderBlock(ast); -} - -class _Renderer_LibraryTemplateData extends RendererBase { - static final Map _propertyMapCache = {}; - static Map> - propertyMap() => - _propertyMapCache.putIfAbsent( - CT_, - () => { - ..._Renderer_TemplateData.propertyMap(), - ..._Renderer_OneDirectoryDown.propertyMap(), - 'layoutTitle': Property( - getValue: (CT_ c) => c.layoutTitle, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String( - c.layoutTitle, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'library': Property( - getValue: (CT_ c) => c.library, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_Library.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as Library, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_Library( - c.library, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'metaDescription': Property( - getValue: (CT_ c) => c.metaDescription, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String( - c.metaDescription, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'navLinks': Property( - getValue: (CT_ c) => c.navLinks, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'List', - ), - - renderIterable: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - return c.navLinks.map( - (e) => _render_Documentable( - e, - ast, - r.template, - sink, - parent: r, - ), - ); - }, - ), - 'self': Property( - getValue: (CT_ c) => c.self, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_Library.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as Library, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_Library(c.self, ast, r.template, sink, parent: r); - }, - ), - 'title': Property( - getValue: (CT_ c) => c.title, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String(c.title, ast, r.template, sink, parent: r); - }, - ), - }, - ) - as Map>; - - _Renderer_LibraryTemplateData( - LibraryTemplateData context, - RendererBase? parent, - Template template, - StringSink sink, - ) : super(context, parent, template, sink); - - @override - Property? getProperty(String key) { - if (propertyMap().containsKey(key)) { - return propertyMap()[key]; - } else { - return null; - } - } -} - -String renderLibraryRedirect(LibraryTemplateData context, Template template) { - var buffer = StringBuffer(); - _render_LibraryTemplateData(context, template.ast, template, buffer); - return buffer.toString(); -} - -class _Renderer_Locatable extends RendererBase { - static final Map _propertyMapCache = {}; - static Map> propertyMap() => - _propertyMapCache.putIfAbsent( - CT_, - () => { - 'documentationFrom': Property( - getValue: (CT_ c) => c.documentationFrom, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'List', - ), - - renderIterable: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - return c.documentationFrom.map( - (e) => renderSimple( - e, - ast, - r.template, - sink, - parent: r, - getters: _invisibleGetters['Locatable']!, - ), - ); - }, - ), - 'documentationIsLocal': Property( - getValue: (CT_ c) => c.documentationIsLocal, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'bool'), - - getBool: (CT_ c) => c.documentationIsLocal, - ), - 'fullyQualifiedName': Property( - getValue: (CT_ c) => c.fullyQualifiedName, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String( - c.fullyQualifiedName, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'href': Property( - getValue: (CT_ c) => c.href, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => c.href == null, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String(c.href!, ast, r.template, sink, parent: r); - }, - ), - 'isCanonical': Property( - getValue: (CT_ c) => c.isCanonical, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'bool'), - - getBool: (CT_ c) => c.isCanonical, - ), - 'location': Property( - getValue: (CT_ c) => c.location, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String( - c.location, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - }, - ) - as Map>; - - _Renderer_Locatable( - Locatable context, - RendererBase? parent, - Template template, - StringSink sink, - ) : super(context, parent, template, sink); - - @override - Property? getProperty(String key) { - if (propertyMap().containsKey(key)) { - return propertyMap()[key]; - } else { - return null; - } - } -} - -class _Renderer_MarkdownFileDocumentation - extends RendererBase { - static final Map _propertyMapCache = {}; - static Map> - propertyMap() => - _propertyMapCache.putIfAbsent( - CT_, - () => { - 'documentation': Property( - getValue: (CT_ c) => c.documentation, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String( - c.documentation, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'documentationAsHtml': Property( - getValue: (CT_ c) => c.documentationAsHtml, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String( - c.documentationAsHtml, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'documentationFile': Property( - getValue: (CT_ c) => c.documentationFile, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'File'), - - isNullValue: (CT_ c) => c.documentationFile == null, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - renderSimple( - c.documentationFile, - ast, - r.template, - sink, - parent: r, - getters: _invisibleGetters['File']!, - ); - }, - ), - 'documentedWhere': Property( - getValue: (CT_ c) => c.documentedWhere, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'DocumentLocation', - ), - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - renderSimple( - c.documentedWhere, - ast, - r.template, - sink, - parent: r, - getters: _invisibleGetters['DocumentLocation']!, - ); - }, - ), - 'hasDocumentation': Property( - getValue: (CT_ c) => c.hasDocumentation, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'bool'), - - getBool: (CT_ c) => c.hasDocumentation, - ), - 'isDocumented': Property( - getValue: (CT_ c) => c.isDocumented, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'bool'), - - getBool: (CT_ c) => c.isDocumented, - ), - 'location': Property( - getValue: (CT_ c) => c.location, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String( - c.location, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'oneLineDoc': Property( - getValue: (CT_ c) => c.oneLineDoc, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String( - c.oneLineDoc, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - }, - ) - as Map>; - - _Renderer_MarkdownFileDocumentation( - MarkdownFileDocumentation context, - RendererBase? parent, - Template template, - StringSink sink, - ) : super(context, parent, template, sink); - - @override - Property? getProperty(String key) { - if (propertyMap().containsKey(key)) { - return propertyMap()[key]; - } else { - return null; - } - } -} - -void _render_Method( - Method context, - List ast, - Template template, - StringSink sink, { - RendererBase? parent, -}) { - var renderer = _Renderer_Method(context, parent, template, sink); - renderer.renderBlock(ast); -} - -class _Renderer_Method extends RendererBase { - static final Map _propertyMapCache = {}; - static Map> propertyMap() => - _propertyMapCache.putIfAbsent( - CT_, - () => { - ..._Renderer_ModelElement.propertyMap(), - ..._Renderer_ContainerMember.propertyMap(), - ..._Renderer_Inheritable.propertyMap(), - ..._Renderer_TypeParameters.propertyMap(), - 'aboveSidebarPath': Property( - getValue: (CT_ c) => c.aboveSidebarPath, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String( - c.aboveSidebarPath, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'attributes': Property( - getValue: (CT_ c) => c.attributes, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'Set', - ), - - renderIterable: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - return c.attributes.map( - (e) => renderSimple( - e, - ast, - r.template, - sink, - parent: r, - getters: _invisibleGetters['Attribute']!, - ), - ); - }, - ), - 'belowSidebarPath': Property( - getValue: (CT_ c) => c.belowSidebarPath, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => c.belowSidebarPath == null, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String( - c.belowSidebarPath!, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'characterLocation': Property( - getValue: (CT_ c) => c.characterLocation, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'CharacterLocation', - ), - - isNullValue: (CT_ c) => c.characterLocation == null, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - renderSimple( - c.characterLocation, - ast, - r.template, - sink, - parent: r, - getters: _invisibleGetters['CharacterLocation']!, - ); - }, - ), - 'element': Property( - getValue: (CT_ c) => c.element, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'MethodElement2', - ), - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - renderSimple( - c.element, - ast, - r.template, - sink, - parent: r, - getters: _invisibleGetters['MethodElement2']!, - ); - }, - ), - 'enclosingElement': Property( - getValue: (CT_ c) => c.enclosingElement, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_Container.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as Container, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_Container( - c.enclosingElement, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'enclosingExtension': Property( - getValue: (CT_ c) => c.enclosingExtension, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_Extension.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as Extension, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_Extension( - c.enclosingExtension, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'fullkind': Property( - getValue: (CT_ c) => c.fullkind, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String( - c.fullkind, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'href': Property( - getValue: (CT_ c) => c.href, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => c.href == null, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String(c.href!, ast, r.template, sink, parent: r); - }, - ), - 'isCovariant': Property( - getValue: (CT_ c) => c.isCovariant, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'bool'), - - getBool: (CT_ c) => c.isCovariant, - ), - 'isInherited': Property( - getValue: (CT_ c) => c.isInherited, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'bool'), - - getBool: (CT_ c) => c.isInherited, - ), - 'isOperator': Property( - getValue: (CT_ c) => c.isOperator, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'bool'), - - getBool: (CT_ c) => c.isOperator, - ), - 'isProvidedByExtension': Property( - getValue: (CT_ c) => c.isProvidedByExtension, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'bool'), - - getBool: (CT_ c) => c.isProvidedByExtension, - ), - 'isStatic': Property( - getValue: (CT_ c) => c.isStatic, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'bool'), - - getBool: (CT_ c) => c.isStatic, - ), - 'kind': Property( - getValue: (CT_ c) => c.kind, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'Kind'), - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - renderSimple( - c.kind, - ast, - r.template, - sink, - parent: r, - getters: _invisibleGetters['Kind']!, - ); - }, - ), - 'modelType': Property( - getValue: (CT_ c) => c.modelType, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_Callable.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as Callable, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_Callable( - c.modelType, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'originalMember': Property( - getValue: (CT_ c) => c.originalMember, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'ExecutableMember', - ), - - isNullValue: (CT_ c) => c.originalMember == null, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - renderSimple( - c.originalMember, - ast, - r.template, - sink, - parent: r, - getters: _invisibleGetters['ExecutableMember']!, - ); - }, - ), - 'overriddenElement': Property( - getValue: (CT_ c) => c.overriddenElement, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_Method.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as Method, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => c.overriddenElement == null, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_Method( - c.overriddenElement!, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'referenceChildren': Property( - getValue: (CT_ c) => c.referenceChildren, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'Map', - ), - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - renderSimple( - c.referenceChildren, - ast, - r.template, - sink, - parent: r, - getters: _invisibleGetters['Map']!, - ); - }, - ), - 'typeParameters': Property( - getValue: (CT_ c) => c.typeParameters, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'List', - ), - - renderIterable: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - return c.typeParameters.map( - (e) => _render_TypeParameter( - e, - ast, - r.template, - sink, - parent: r, - ), - ); - }, - ), - }, - ) - as Map>; - - _Renderer_Method( - Method context, - RendererBase? parent, - Template template, - StringSink sink, - ) : super(context, parent, template, sink); - - @override - Property? getProperty(String key) { - if (propertyMap().containsKey(key)) { - return propertyMap()[key]; - } else { - return null; - } - } -} - -String renderMethod(MethodTemplateData context, Template template) { - var buffer = StringBuffer(); - _render_MethodTemplateData(context, template.ast, template, buffer); - return buffer.toString(); -} - -void _render_MethodTemplateData( - MethodTemplateData context, - List ast, - Template template, - StringSink sink, { - RendererBase? parent, -}) { - var renderer = _Renderer_MethodTemplateData(context, parent, template, sink); - renderer.renderBlock(ast); -} - -class _Renderer_MethodTemplateData extends RendererBase { - static final Map _propertyMapCache = {}; - static Map> - propertyMap() => - _propertyMapCache.putIfAbsent( - CT_, - () => { - ..._Renderer_TemplateData.propertyMap(), - ..._Renderer_TwoDirectoriesDown.propertyMap(), - 'container': Property( - getValue: (CT_ c) => c.container, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_Container.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as Container, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_Container( - c.container, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'layoutTitle': Property( - getValue: (CT_ c) => c.layoutTitle, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String( - c.layoutTitle, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'library': Property( - getValue: (CT_ c) => c.library, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_Library.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as Library, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_Library( - c.library, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'metaDescription': Property( - getValue: (CT_ c) => c.metaDescription, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String( - c.metaDescription, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'method': Property( - getValue: (CT_ c) => c.method, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_Method.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as Method, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_Method( - c.method, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'navLinks': Property( - getValue: (CT_ c) => c.navLinks, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'List', - ), - - renderIterable: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - return c.navLinks.map( - (e) => _render_Documentable( - e, - ast, - r.template, - sink, - parent: r, - ), - ); - }, - ), - 'navLinksWithGenerics': Property( - getValue: (CT_ c) => c.navLinksWithGenerics, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'List', - ), - - renderIterable: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - return c.navLinksWithGenerics.map( - (e) => _render_Container( - e, - ast, - r.template, - sink, - parent: r, - ), - ); - }, - ), - 'self': Property( - getValue: (CT_ c) => c.self, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_Method.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as Method, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_Method(c.self, ast, r.template, sink, parent: r); - }, - ), - 'title': Property( - getValue: (CT_ c) => c.title, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String(c.title, ast, r.template, sink, parent: r); - }, - ), - }, - ) - as Map>; - - _Renderer_MethodTemplateData( - MethodTemplateData context, - RendererBase? parent, - Template template, - StringSink sink, - ) : super(context, parent, template, sink); - - @override - Property? getProperty(String key) { - if (propertyMap().containsKey(key)) { - return propertyMap()[key]; - } else { - return null; - } - } -} - -class _Renderer_MixedInTypes extends RendererBase { - static final Map _propertyMapCache = {}; - static Map> propertyMap() => - _propertyMapCache.putIfAbsent( - CT_, - () => { - 'hasModifiers': Property( - getValue: (CT_ c) => c.hasModifiers, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'bool'), - - getBool: (CT_ c) => c.hasModifiers, - ), - 'hasPublicMixedInTypes': Property( - getValue: (CT_ c) => c.hasPublicMixedInTypes, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'bool'), - - getBool: (CT_ c) => c.hasPublicMixedInTypes, - ), - 'mixedInTypes': Property( - getValue: (CT_ c) => c.mixedInTypes, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'List', - ), - - renderIterable: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - return c.mixedInTypes.map( - (e) => _render_DefinedElementType( - e, - ast, - r.template, - sink, - parent: r, - ), - ); - }, - ), - 'publicMixedInTypes': Property( - getValue: (CT_ c) => c.publicMixedInTypes, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'Iterable', - ), - - renderIterable: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - return c.publicMixedInTypes.map( - (e) => _render_DefinedElementType( - e, - ast, - r.template, - sink, - parent: r, - ), - ); - }, - ), - }, - ) - as Map>; - - _Renderer_MixedInTypes( - MixedInTypes context, - RendererBase? parent, - Template template, - StringSink sink, - ) : super(context, parent, template, sink); - - @override - Property? getProperty(String key) { - if (propertyMap().containsKey(key)) { - return propertyMap()[key]; - } else { - return null; - } - } -} - -void _render_Mixin( - Mixin context, - List ast, - Template template, - StringSink sink, { - RendererBase? parent, -}) { - var renderer = _Renderer_Mixin(context, parent, template, sink); - renderer.renderBlock(ast); -} - -class _Renderer_Mixin extends RendererBase { - static final Map _propertyMapCache = {}; - static Map> propertyMap() => - _propertyMapCache.putIfAbsent( - CT_, - () => { - ..._Renderer_InheritingContainer.propertyMap(), - 'element': Property( - getValue: (CT_ c) => c.element, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'MixinElement2', - ), - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - renderSimple( - c.element, - ast, - r.template, - sink, - parent: r, - getters: _invisibleGetters['MixinElement2']!, - ); - }, - ), - 'fileName': Property( - getValue: (CT_ c) => c.fileName, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String( - c.fileName, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'hasModifiers': Property( - getValue: (CT_ c) => c.hasModifiers, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'bool'), - - getBool: (CT_ c) => c.hasModifiers, - ), - 'hasPublicSuperclassConstraints': Property( - getValue: (CT_ c) => c.hasPublicSuperclassConstraints, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'bool'), - - getBool: (CT_ c) => c.hasPublicSuperclassConstraints, - ), - 'inheritanceChain': Property( - getValue: (CT_ c) => c.inheritanceChain, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'List', - ), - - renderIterable: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - return c.inheritanceChain.map( - (e) => _render_InheritingContainer( - e, - ast, - r.template, - sink, - parent: r, - ), - ); - }, - ), - 'isAbstract': Property( - getValue: (CT_ c) => c.isAbstract, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'bool'), - - getBool: (CT_ c) => c.isAbstract, - ), - 'isBase': Property( - getValue: (CT_ c) => c.isBase, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'bool'), - - getBool: (CT_ c) => c.isBase, - ), - 'isFinal': Property( - getValue: (CT_ c) => c.isFinal, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'bool'), - - getBool: (CT_ c) => c.isFinal, - ), - 'isImplementableInterface': Property( - getValue: (CT_ c) => c.isImplementableInterface, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'bool'), - - getBool: (CT_ c) => c.isImplementableInterface, - ), - 'isMixinClass': Property( - getValue: (CT_ c) => c.isMixinClass, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'bool'), - - getBool: (CT_ c) => c.isMixinClass, - ), - 'isSealed': Property( - getValue: (CT_ c) => c.isSealed, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'bool'), - - getBool: (CT_ c) => c.isSealed, - ), - 'kind': Property( - getValue: (CT_ c) => c.kind, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'Kind'), - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - renderSimple( - c.kind, - ast, - r.template, - sink, - parent: r, - getters: _invisibleGetters['Kind']!, - ); - }, - ), - 'publicSuperclassConstraints': Property( - getValue: (CT_ c) => c.publicSuperclassConstraints, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'Iterable', - ), - - renderIterable: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - return c.publicSuperclassConstraints.map( - (e) => _render_ParameterizedElementType( - e, - ast, - r.template, - sink, - parent: r, - ), - ); - }, - ), - 'relationshipsClass': Property( - getValue: (CT_ c) => c.relationshipsClass, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String( - c.relationshipsClass, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'sidebarPath': Property( - getValue: (CT_ c) => c.sidebarPath, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String( - c.sidebarPath, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'superclassConstraints': Property( - getValue: (CT_ c) => c.superclassConstraints, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'List', - ), - - renderIterable: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - return c.superclassConstraints.map( - (e) => _render_ParameterizedElementType( - e, - ast, - r.template, - sink, - parent: r, - ), - ); - }, - ), - }, - ) - as Map>; - - _Renderer_Mixin( - Mixin context, - RendererBase? parent, - Template template, - StringSink sink, - ) : super(context, parent, template, sink); - - @override - Property? getProperty(String key) { - if (propertyMap().containsKey(key)) { - return propertyMap()[key]; - } else { - return null; - } - } -} - -String renderMixin(MixinTemplateData context, Template template) { - var buffer = StringBuffer(); - _render_MixinTemplateData(context, template.ast, template, buffer); - return buffer.toString(); -} - -void _render_MixinTemplateData( - MixinTemplateData context, - List ast, - Template template, - StringSink sink, { - RendererBase? parent, -}) { - var renderer = _Renderer_MixinTemplateData(context, parent, template, sink); - renderer.renderBlock(ast); -} - -class _Renderer_MixinTemplateData extends RendererBase { - static final Map _propertyMapCache = {}; - static Map> - propertyMap() => - _propertyMapCache.putIfAbsent( - CT_, - () => { - ..._Renderer_InheritingContainerTemplateData.propertyMap< - Mixin, - CT_ - >(), - 'mixin': Property( - getValue: (CT_ c) => c.mixin, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_Mixin.propertyMap().getValue( - name, - ); - return nextProperty.renderVariable( - self.getValue(c) as Mixin, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_Mixin(c.mixin, ast, r.template, sink, parent: r); - }, - ), - 'self': Property( - getValue: (CT_ c) => c.self, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_Mixin.propertyMap().getValue( - name, - ); - return nextProperty.renderVariable( - self.getValue(c) as Mixin, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_Mixin(c.self, ast, r.template, sink, parent: r); - }, - ), - }, - ) - as Map>; - - _Renderer_MixinTemplateData( - MixinTemplateData context, - RendererBase? parent, - Template template, - StringSink sink, - ) : super(context, parent, template, sink); - - @override - Property? getProperty(String key) { - if (propertyMap().containsKey(key)) { - return propertyMap()[key]; - } else { - return null; - } - } -} - -void _render_ModelElement( - ModelElement context, - List ast, - Template template, - StringSink sink, { - RendererBase? parent, -}) { - var renderer = _Renderer_ModelElement(context, parent, template, sink); - renderer.renderBlock(ast); -} - -class _Renderer_ModelElement extends RendererBase { - static final Map _propertyMapCache = {}; - static Map> propertyMap() => - _propertyMapCache.putIfAbsent( - CT_, - () => { - ..._Renderer_Object.propertyMap(), - ..._Renderer_CommentReferable.propertyMap(), - ..._Renderer_Warnable.propertyMap(), - ..._Renderer_Locatable.propertyMap(), - ..._Renderer_Nameable.propertyMap(), - ..._Renderer_SourceCode.propertyMap(), - ..._Renderer_FeatureSet.propertyMap(), - ..._Renderer_DocumentationComment.propertyMap(), - 'annotations': Property( - getValue: (CT_ c) => c.annotations, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'List', - ), - - renderIterable: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - return c.annotations.map( - (e) => _render_Annotation( - e, - ast, - r.template, - sink, - parent: r, - ), - ); - }, - ), - 'attributes': Property( - getValue: (CT_ c) => c.attributes, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'Set', - ), - - renderIterable: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - return c.attributes.map( - (e) => renderSimple( - e, - ast, - r.template, - sink, - parent: r, - getters: _invisibleGetters['Attribute']!, - ), - ); - }, - ), - 'attributesAsString': Property( - getValue: (CT_ c) => c.attributesAsString, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String( - c.attributesAsString, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'canonicalLibrary': Property( - getValue: (CT_ c) => c.canonicalLibrary, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_Library.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as Library, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => c.canonicalLibrary == null, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_Library( - c.canonicalLibrary!, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'canonicalLibraryOrThrow': Property( - getValue: (CT_ c) => c.canonicalLibraryOrThrow, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_Library.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as Library, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_Library( - c.canonicalLibraryOrThrow, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'canonicalModelElement': Property( - getValue: (CT_ c) => c.canonicalModelElement, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_ModelElement.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as ModelElement, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => c.canonicalModelElement == null, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_ModelElement( - c.canonicalModelElement!, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'characterLocation': Property( - getValue: (CT_ c) => c.characterLocation, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'CharacterLocation', - ), - - isNullValue: (CT_ c) => c.characterLocation == null, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - renderSimple( - c.characterLocation, - ast, - r.template, - sink, - parent: r, - getters: _invisibleGetters['CharacterLocation']!, - ); - }, - ), - 'config': Property( - getValue: (CT_ c) => c.config, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'DartdocOptionContext', - ), - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - renderSimple( - c.config, - ast, - r.template, - sink, - parent: r, - getters: _invisibleGetters['DartdocOptionContext']!, - ); - }, - ), - 'displayedCategories': Property( - getValue: (CT_ c) => c.displayedCategories, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'Iterable', - ), - - renderIterable: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - return c.displayedCategories.map( - (e) => _render_Category( - e!, - ast, - r.template, - sink, - parent: r, - ), - ); - }, - ), - 'documentation': Property( - getValue: (CT_ c) => c.documentation, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String( - c.documentation, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'element': Property( - getValue: (CT_ c) => c.element, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'Element2', - ), - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - renderSimple( - c.element, - ast, - r.template, - sink, - parent: r, - getters: _invisibleGetters['Element2']!, - ); - }, - ), - 'enclosingElement': Property( - getValue: (CT_ c) => c.enclosingElement, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_ModelElement.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as ModelElement, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => c.enclosingElement == null, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_ModelElement( - c.enclosingElement!, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'fileName': Property( - getValue: (CT_ c) => c.fileName, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String( - c.fileName, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'filePath': Property( - getValue: (CT_ c) => c.filePath, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String( - c.filePath, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'fullyQualifiedName': Property( - getValue: (CT_ c) => c.fullyQualifiedName, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String( - c.fullyQualifiedName, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'hasAnnotations': Property( - getValue: (CT_ c) => c.hasAnnotations, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'bool'), - - getBool: (CT_ c) => c.hasAnnotations, - ), - 'hasAttributes': Property( - getValue: (CT_ c) => c.hasAttributes, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'bool'), - - getBool: (CT_ c) => c.hasAttributes, - ), - 'hasCategoryNames': Property( - getValue: (CT_ c) => c.hasCategoryNames, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'bool'), - - getBool: (CT_ c) => c.hasCategoryNames, - ), - 'hasDocumentation': Property( - getValue: (CT_ c) => c.hasDocumentation, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'bool'), - - getBool: (CT_ c) => c.hasDocumentation, - ), - 'hasParameters': Property( - getValue: (CT_ c) => c.hasParameters, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'bool'), - - getBool: (CT_ c) => c.hasParameters, - ), - 'hasSourceHref': Property( - getValue: (CT_ c) => c.hasSourceHref, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'bool'), - - getBool: (CT_ c) => c.hasSourceHref, - ), - 'href': Property( - getValue: (CT_ c) => c.href, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => c.href == null, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String(c.href!, ast, r.template, sink, parent: r); - }, - ), - 'htmlId': Property( - getValue: (CT_ c) => c.htmlId, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String( - c.htmlId, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'isCallable': Property( - getValue: (CT_ c) => c.isCallable, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'bool'), - - getBool: (CT_ c) => c.isCallable, - ), - 'isCanonical': Property( - getValue: (CT_ c) => c.isCanonical, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'bool'), - - getBool: (CT_ c) => c.isCanonical, - ), - 'isConst': Property( - getValue: (CT_ c) => c.isConst, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'bool'), - - getBool: (CT_ c) => c.isConst, - ), - 'isDeprecated': Property( - getValue: (CT_ c) => c.isDeprecated, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'bool'), - - getBool: (CT_ c) => c.isDeprecated, - ), - 'isDocumented': Property( - getValue: (CT_ c) => c.isDocumented, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'bool'), - - getBool: (CT_ c) => c.isDocumented, - ), - 'isEnumValue': Property( - getValue: (CT_ c) => c.isEnumValue, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'bool'), - - getBool: (CT_ c) => c.isEnumValue, - ), - 'isFinal': Property( - getValue: (CT_ c) => c.isFinal, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'bool'), - - getBool: (CT_ c) => c.isFinal, - ), - 'isLate': Property( - getValue: (CT_ c) => c.isLate, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'bool'), - - getBool: (CT_ c) => c.isLate, - ), - 'isPublic': Property( - getValue: (CT_ c) => c.isPublic, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'bool'), - - getBool: (CT_ c) => c.isPublic, - ), - 'isPublicAndPackageDocumented': Property( - getValue: (CT_ c) => c.isPublicAndPackageDocumented, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'bool'), - - getBool: (CT_ c) => c.isPublicAndPackageDocumented, - ), - 'kind': Property( - getValue: (CT_ c) => c.kind, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'Kind'), - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - renderSimple( - c.kind, - ast, - r.template, - sink, - parent: r, - getters: _invisibleGetters['Kind']!, - ); - }, - ), - 'library': Property( - getValue: (CT_ c) => c.library, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_Library.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as Library, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_Library( - c.library, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'linkedName': Property( - getValue: (CT_ c) => c.linkedName, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String( - c.linkedName, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'linkedObjectType': Property( - getValue: (CT_ c) => c.linkedObjectType, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String( - c.linkedObjectType, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'linkedParams': Property( - getValue: (CT_ c) => c.linkedParams, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String( - c.linkedParams, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'linkedParamsLines': Property( - getValue: (CT_ c) => c.linkedParamsLines, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String( - c.linkedParamsLines, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'linkedParamsNoMetadata': Property( - getValue: (CT_ c) => c.linkedParamsNoMetadata, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => c.linkedParamsNoMetadata == null, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String( - c.linkedParamsNoMetadata!, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'location': Property( - getValue: (CT_ c) => c.location, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String( - c.location, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'modelNode': Property( - getValue: (CT_ c) => c.modelNode, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'ModelNode', - ), - - isNullValue: (CT_ c) => c.modelNode == null, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - renderSimple( - c.modelNode, - ast, - r.template, - sink, - parent: r, - getters: _invisibleGetters['ModelNode']!, - ); - }, - ), - 'name': Property( - getValue: (CT_ c) => c.name, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String(c.name, ast, r.template, sink, parent: r); - }, - ), - 'oneLineDoc': Property( - getValue: (CT_ c) => c.oneLineDoc, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String( - c.oneLineDoc, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'originalMember': Property( - getValue: (CT_ c) => c.originalMember, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'Member'), - - isNullValue: (CT_ c) => c.originalMember == null, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - renderSimple( - c.originalMember, - ast, - r.template, - sink, - parent: r, - getters: _invisibleGetters['Member']!, - ); - }, - ), - 'package': Property( - getValue: (CT_ c) => c.package, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_Package.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as Package, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_Package( - c.package, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'packageGraph': Property( - getValue: (CT_ c) => c.packageGraph, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'PackageGraph', - ), - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - renderSimple( - c.packageGraph, - ast, - r.template, - sink, - parent: r, - getters: _invisibleGetters['PackageGraph']!, - ); - }, - ), - 'parameters': Property( - getValue: (CT_ c) => c.parameters, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'List', - ), - - renderIterable: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - return c.parameters.map( - (e) => _render_Parameter( - e, - ast, - r.template, - sink, - parent: r, - ), - ); - }, - ), - 'pathContext': Property( - getValue: (CT_ c) => c.pathContext, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'Context'), - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - renderSimple( - c.pathContext, - ast, - r.template, - sink, - parent: r, - getters: _invisibleGetters['Context']!, - ); - }, - ), - 'qualifiedName': Property( - getValue: (CT_ c) => c.qualifiedName, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String( - c.qualifiedName, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'sourceCode': Property( - getValue: (CT_ c) => c.sourceCode, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String( - c.sourceCode, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'sourceFileName': Property( - getValue: (CT_ c) => c.sourceFileName, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String( - c.sourceFileName, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'sourceHref': Property( - getValue: (CT_ c) => c.sourceHref, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String( - c.sourceHref, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'unitElement': Property( - getValue: (CT_ c) => c.unitElement, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'LibraryFragment', - ), - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - renderSimple( - c.unitElement, - ast, - r.template, - sink, - parent: r, - getters: _invisibleGetters['LibraryFragment']!, - ); - }, - ), - }, - ) - as Map>; - - _Renderer_ModelElement( - ModelElement context, - RendererBase? parent, - Template template, - StringSink sink, - ) : super(context, parent, template, sink); - - @override - Property? getProperty(String key) { - if (propertyMap().containsKey(key)) { - return propertyMap()[key]; - } else { - return null; - } - } -} - -void _render_ModelFunction( - ModelFunction context, - List ast, - Template template, - StringSink sink, { - RendererBase? parent, -}) { - var renderer = _Renderer_ModelFunction(context, parent, template, sink); - renderer.renderBlock(ast); -} - -class _Renderer_ModelFunction extends RendererBase { - static final Map _propertyMapCache = {}; - static Map> propertyMap() => - _propertyMapCache.putIfAbsent( - CT_, - () => { - ..._Renderer_ModelFunctionTyped.propertyMap(), - ..._Renderer_Categorization.propertyMap(), - 'element': Property( - getValue: (CT_ c) => c.element, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'TopLevelFunctionElement', - ), - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - renderSimple( - c.element, - ast, - r.template, - sink, - parent: r, - getters: _invisibleGetters['TopLevelFunctionElement']!, - ); - }, - ), - 'isAsynchronous': Property( - getValue: (CT_ c) => c.isAsynchronous, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'bool'), - - getBool: (CT_ c) => c.isAsynchronous, - ), - 'isStatic': Property( - getValue: (CT_ c) => c.isStatic, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'bool'), - - getBool: (CT_ c) => c.isStatic, - ), - 'name': Property( - getValue: (CT_ c) => c.name, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String(c.name, ast, r.template, sink, parent: r); - }, - ), - }, - ) - as Map>; - - _Renderer_ModelFunction( - ModelFunction context, - RendererBase? parent, - Template template, - StringSink sink, - ) : super(context, parent, template, sink); - - @override - Property? getProperty(String key) { - if (propertyMap().containsKey(key)) { - return propertyMap()[key]; - } else { - return null; - } - } -} - -void _render_ModelFunctionTyped( - ModelFunctionTyped context, - List ast, - Template template, - StringSink sink, { - RendererBase? parent, -}) { - var renderer = _Renderer_ModelFunctionTyped(context, parent, template, sink); - renderer.renderBlock(ast); -} - -class _Renderer_ModelFunctionTyped extends RendererBase { - static final Map _propertyMapCache = {}; - static Map> - propertyMap() => - _propertyMapCache.putIfAbsent( - CT_, - () => { - ..._Renderer_ModelElement.propertyMap(), - ..._Renderer_TypeParameters.propertyMap(), - 'aboveSidebarPath': Property( - getValue: (CT_ c) => c.aboveSidebarPath, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String( - c.aboveSidebarPath, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'belowSidebarPath': Property( - getValue: (CT_ c) => c.belowSidebarPath, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => c.belowSidebarPath == null, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String( - c.belowSidebarPath!, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'element': Property( - getValue: (CT_ c) => c.element, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'FunctionTypedElement2', - ), - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - renderSimple( - c.element, - ast, - r.template, - sink, - parent: r, - getters: _invisibleGetters['FunctionTypedElement2']!, - ); - }, - ), - 'enclosingElement': Property( - getValue: (CT_ c) => c.enclosingElement, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_Library.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as Library, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_Library( - c.enclosingElement, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'enclosingExtension': Property( - getValue: (CT_ c) => c.enclosingExtension, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_Extension.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as Extension, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_Extension( - c.enclosingExtension, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'fileName': Property( - getValue: (CT_ c) => c.fileName, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String( - c.fileName, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'href': Property( - getValue: (CT_ c) => c.href, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => c.href == null, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String(c.href!, ast, r.template, sink, parent: r); - }, - ), - 'isInherited': Property( - getValue: (CT_ c) => c.isInherited, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'bool'), - - getBool: (CT_ c) => c.isInherited, - ), - 'isProvidedByExtension': Property( - getValue: (CT_ c) => c.isProvidedByExtension, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'bool'), - - getBool: (CT_ c) => c.isProvidedByExtension, - ), - 'kind': Property( - getValue: (CT_ c) => c.kind, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'Kind'), - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - renderSimple( - c.kind, - ast, - r.template, - sink, - parent: r, - getters: _invisibleGetters['Kind']!, - ); - }, - ), - 'modelType': Property( - getValue: (CT_ c) => c.modelType, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_Callable.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as Callable, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_Callable( - c.modelType, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'referenceChildren': Property( - getValue: (CT_ c) => c.referenceChildren, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'Map', - ), - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - renderSimple( - c.referenceChildren, - ast, - r.template, - sink, - parent: r, - getters: _invisibleGetters['Map']!, - ); - }, - ), - 'referenceParents': Property( - getValue: (CT_ c) => c.referenceParents, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'Iterable', - ), - - renderIterable: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - return c.referenceParents.map( - (e) => renderSimple( - e, - ast, - r.template, - sink, - parent: r, - getters: _invisibleGetters['CommentReferable']!, - ), - ); - }, - ), - 'typeParameters': Property( - getValue: (CT_ c) => c.typeParameters, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'List', - ), - - renderIterable: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - return c.typeParameters.map( - (e) => _render_TypeParameter( - e, - ast, - r.template, - sink, - parent: r, - ), - ); - }, - ), - }, - ) - as Map>; - - _Renderer_ModelFunctionTyped( - ModelFunctionTyped context, - RendererBase? parent, - Template template, - StringSink sink, - ) : super(context, parent, template, sink); - - @override - Property? getProperty(String key) { - if (propertyMap().containsKey(key)) { - return propertyMap()[key]; - } else { - return null; - } - } -} - -class _Renderer_Nameable extends RendererBase { - static final Map _propertyMapCache = {}; - static Map> propertyMap() => - _propertyMapCache.putIfAbsent( - CT_, - () => { - 'breadcrumbName': Property( - getValue: (CT_ c) => c.breadcrumbName, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String( - c.breadcrumbName, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'displayName': Property( - getValue: (CT_ c) => c.displayName, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String( - c.displayName, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'fullyQualifiedName': Property( - getValue: (CT_ c) => c.fullyQualifiedName, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String( - c.fullyQualifiedName, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'isPublic': Property( - getValue: (CT_ c) => c.isPublic, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'bool'), - - getBool: (CT_ c) => c.isPublic, - ), - 'name': Property( - getValue: (CT_ c) => c.name, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String(c.name, ast, r.template, sink, parent: r); - }, - ), - 'packageGraph': Property( - getValue: (CT_ c) => c.packageGraph, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'PackageGraph', - ), - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - renderSimple( - c.packageGraph, - ast, - r.template, - sink, - parent: r, - getters: _invisibleGetters['PackageGraph']!, - ); - }, - ), - }, - ) - as Map>; - - _Renderer_Nameable( - Nameable context, - RendererBase? parent, - Template template, - StringSink sink, - ) : super(context, parent, template, sink); - - @override - Property? getProperty(String key) { - if (propertyMap().containsKey(key)) { - return propertyMap()[key]; - } else { - return null; - } - } -} - -class _Renderer_Object extends RendererBase { - static final Map _propertyMapCache = {}; - static Map> propertyMap() => - _propertyMapCache.putIfAbsent( - CT_, - () => { - 'hashCode': Property( - getValue: (CT_ c) => c.hashCode, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'int'), - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - renderSimple( - c.hashCode, - ast, - r.template, - sink, - parent: r, - getters: _invisibleGetters['int']!, - ); - }, - ), - }, - ) - as Map>; - - _Renderer_Object( - Object context, - RendererBase? parent, - Template template, - StringSink sink, - ) : super(context, parent, template, sink); - - @override - Property? getProperty(String key) { - if (propertyMap().containsKey(key)) { - return propertyMap()[key]; - } else { - return null; - } - } -} - -class _Renderer_OneDirectoryDown - extends RendererBase> { - static final Map _propertyMapCache = {}; - static Map> - propertyMap() => - _propertyMapCache.putIfAbsent( - CT_, - () => { - 'htmlBase': Property( - getValue: (CT_ c) => c.htmlBase, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String( - c.htmlBase, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - }, - ) - as Map>; - - _Renderer_OneDirectoryDown( - OneDirectoryDown context, - RendererBase? parent, - Template template, - StringSink sink, - ) : super(context, parent, template, sink); - - @override - Property>? getProperty(String key) { - if (propertyMap>().containsKey(key)) { - return propertyMap>()[key]; - } else { - return null; - } - } -} - -void _render_Operator( - Operator context, - List ast, - Template template, - StringSink sink, { - RendererBase? parent, -}) { - var renderer = _Renderer_Operator(context, parent, template, sink); - renderer.renderBlock(ast); -} - -class _Renderer_Operator extends RendererBase { - static final Map _propertyMapCache = {}; - static Map> propertyMap() => - _propertyMapCache.putIfAbsent( - CT_, - () => { - ..._Renderer_Method.propertyMap(), - 'fileName': Property( - getValue: (CT_ c) => c.fileName, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String( - c.fileName, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'fullyQualifiedName': Property( - getValue: (CT_ c) => c.fullyQualifiedName, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String( - c.fullyQualifiedName, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'isOperator': Property( - getValue: (CT_ c) => c.isOperator, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'bool'), - - getBool: (CT_ c) => c.isOperator, - ), - 'name': Property( - getValue: (CT_ c) => c.name, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String(c.name, ast, r.template, sink, parent: r); - }, - ), - 'referenceName': Property( - getValue: (CT_ c) => c.referenceName, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String( - c.referenceName, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - }, - ) - as Map>; - - _Renderer_Operator( - Operator context, + _Renderer_MixinTemplateData( + MixinTemplateData context, RendererBase? parent, Template template, StringSink sink, ) : super(context, parent, template, sink); @override - Property? getProperty(String key) { - if (propertyMap().containsKey(key)) { - return propertyMap()[key]; + Property? getProperty(String key) { + if (propertyMap().containsKey(key)) { + return propertyMap()[key]; } else { return null; } } } -void _render_Package( - Package context, +void _render_ModelElement( + ModelElement context, List ast, Template template, StringSink sink, { RendererBase? parent, }) { - var renderer = _Renderer_Package(context, parent, template, sink); + var renderer = _Renderer_ModelElement(context, parent, template, sink); renderer.renderBlock(ast); } -class _Renderer_Package extends RendererBase { +class _Renderer_ModelElement extends RendererBase { static final Map _propertyMapCache = {}; - static Map> propertyMap() => + static Map> propertyMap() => _propertyMapCache.putIfAbsent( - CT_, - () => { - ..._Renderer_LibraryContainer.propertyMap(), - ..._Renderer_Nameable.propertyMap(), - ..._Renderer_Locatable.propertyMap(), - ..._Renderer_Warnable.propertyMap(), - ..._Renderer_CommentReferable.propertyMap(), - 'aboveSidebarPath': Property( - getValue: (CT_ c) => c.aboveSidebarPath, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => c.aboveSidebarPath == null, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String( - c.aboveSidebarPath!, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'allLibraries': Property( - getValue: (CT_ c) => c.allLibraries, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'Set', - ), - - renderIterable: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - return c.allLibraries.map( - (e) => _render_Library( - e, - ast, - r.template, - sink, - parent: r, - ), - ); - }, - ), - 'baseHref': Property( - getValue: (CT_ c) => c.baseHref, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String( - c.baseHref, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'belowSidebarPath': Property( - getValue: (CT_ c) => c.belowSidebarPath, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => c.belowSidebarPath == null, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String( - c.belowSidebarPath!, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'categories': Property( - getValue: (CT_ c) => c.categories, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'List', - ), - - renderIterable: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - return c.categories.map( - (e) => _render_Category( - e, - ast, - r.template, - sink, - parent: r, - ), - ); - }, - ), - 'categoriesWithPublicLibraries': Property( - getValue: (CT_ c) => c.categoriesWithPublicLibraries, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'Iterable', - ), - - renderIterable: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - return c.categoriesWithPublicLibraries.map( - (e) => _render_Category( - e, - ast, - r.template, - sink, - parent: r, - ), - ); - }, - ), - 'config': Property( - getValue: (CT_ c) => c.config, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'DartdocOptionContext', - ), - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - renderSimple( - c.config, - ast, - r.template, - sink, - parent: r, - getters: _invisibleGetters['DartdocOptionContext']!, - ); - }, - ), - 'containerOrder': Property( - getValue: (CT_ c) => c.containerOrder, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'List', - ), - - renderIterable: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - return c.containerOrder.map( - (e) => - _render_String(e, ast, r.template, sink, parent: r), - ); - }, - ), - 'defaultCategory': Property( - getValue: (CT_ c) => c.defaultCategory, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_Category.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as Category, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_Category( - c.defaultCategory, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'documentation': Property( - getValue: (CT_ c) => c.documentation, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => c.documentation == null, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String( - c.documentation!, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'documentationAsHtml': Property( - getValue: (CT_ c) => c.documentationAsHtml, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String( - c.documentationAsHtml, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'documentationFrom': Property( - getValue: (CT_ c) => c.documentationFrom, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'List', - ), - - renderIterable: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - return c.documentationFrom.map( - (e) => renderSimple( - e, - ast, - r.template, - sink, - parent: r, - getters: _invisibleGetters['Locatable']!, - ), - ); - }, - ), - 'documentedCategoriesSorted': Property( - getValue: (CT_ c) => c.documentedCategoriesSorted, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'Iterable', - ), - - renderIterable: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - return c.documentedCategoriesSorted.map( - (e) => _render_Category( - e, - ast, - r.template, - sink, - parent: r, - ), - ); - }, - ), - 'documentedWhere': Property( - getValue: (CT_ c) => c.documentedWhere, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'DocumentLocation', - ), - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - renderSimple( - c.documentedWhere, - ast, - r.template, - sink, - parent: r, - getters: _invisibleGetters['DocumentLocation']!, - ); - }, - ), - 'element': Property( - getValue: (CT_ c) => c.element, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'Element2', - ), - - isNullValue: (CT_ c) => c.element == null, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - renderSimple( - c.element, - ast, - r.template, - sink, - parent: r, - getters: _invisibleGetters['Element2']!, - ); - }, - ), - 'enclosingName': Property( - getValue: (CT_ c) => c.enclosingName, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String( - c.enclosingName, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'filePath': Property( - getValue: (CT_ c) => c.filePath, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String( - c.filePath, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'fullyQualifiedName': Property( - getValue: (CT_ c) => c.fullyQualifiedName, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String( - c.fullyQualifiedName, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'hasCategories': Property( - getValue: (CT_ c) => c.hasCategories, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'bool'), - - getBool: (CT_ c) => c.hasCategories, - ), - 'hasDocumentation': Property( - getValue: (CT_ c) => c.hasDocumentation, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'bool'), - - getBool: (CT_ c) => c.hasDocumentation, - ), - 'hasDocumentedCategories': Property( - getValue: (CT_ c) => c.hasDocumentedCategories, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'bool'), - - getBool: (CT_ c) => c.hasDocumentedCategories, - ), - 'hasHomepage': Property( - getValue: (CT_ c) => c.hasHomepage, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'bool'), - - getBool: (CT_ c) => c.hasHomepage, - ), - 'homepage': Property( - getValue: (CT_ c) => c.homepage, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String( - c.homepage, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'href': Property( - getValue: (CT_ c) => c.href, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String(c.href, ast, r.template, sink, parent: r); - }, - ), - 'isCanonical': Property( - getValue: (CT_ c) => c.isCanonical, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'bool'), - - getBool: (CT_ c) => c.isCanonical, - ), - 'isDocumented': Property( - getValue: (CT_ c) => c.isDocumented, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'bool'), - - getBool: (CT_ c) => c.isDocumented, - ), - 'isFirstPackage': Property( - getValue: (CT_ c) => c.isFirstPackage, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'bool'), - - getBool: (CT_ c) => c.isFirstPackage, - ), - 'isLocal': Property( - getValue: (CT_ c) => c.isLocal, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'bool'), - - getBool: (CT_ c) => c.isLocal, - ), - 'isPublic': Property( - getValue: (CT_ c) => c.isPublic, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'bool'), - - getBool: (CT_ c) => c.isPublic, - ), - 'isSdk': Property( - getValue: (CT_ c) => c.isSdk, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'bool'), - - getBool: (CT_ c) => c.isSdk, - ), - 'kind': Property( - getValue: (CT_ c) => c.kind, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'Kind'), - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - renderSimple( - c.kind, - ast, - r.template, - sink, - parent: r, - getters: _invisibleGetters['Kind']!, - ); - }, - ), - 'location': Property( - getValue: (CT_ c) => c.location, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String( - c.location, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'name': Property( - getValue: (CT_ c) => c.name, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String(c.name, ast, r.template, sink, parent: r); - }, - ), - 'nameToCategory': Property( - getValue: (CT_ c) => c.nameToCategory, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'Map', - ), - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - renderSimple( - c.nameToCategory, - ast, - r.template, - sink, - parent: r, - getters: _invisibleGetters['Map']!, - ); - }, - ), - 'oneLineDoc': Property( - getValue: (CT_ c) => c.oneLineDoc, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, + CT_, + () => { + ..._Renderer_Object.propertyMap(), + ..._Renderer_CommentReferable.propertyMap(), + ..._Renderer_Warnable.propertyMap(), + ..._Renderer_Locatable.propertyMap(), + ..._Renderer_Nameable.propertyMap(), + ..._Renderer_SourceCode.propertyMap(), + ..._Renderer_FeatureSet.propertyMap(), + ..._Renderer_DocumentationComment.propertyMap(), + 'annotations': Property( + getValue: (CT_ c) => c.annotations, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'List', + ), + renderIterable: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + return c.annotations.map( + (e) => _render_Annotation( + e, + ast, + r.template, + sink, + parent: r, + ), + ); + }, + ), + 'attributes': Property( + getValue: (CT_ c) => c.attributes, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'Set', + ), + renderIterable: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + return c.attributes.map( + (e) => renderSimple( + e, + ast, + r.template, + sink, + parent: r, + getters: _invisibleGetters['Attribute']!, + ), + ); + }, + ), + 'attributesAsString': Property( + getValue: (CT_ c) => c.attributesAsString, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String( + c.attributesAsString, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'canonicalLibrary': Property( + getValue: (CT_ c) => c.canonicalLibrary, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_Library.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as Library, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => c.canonicalLibrary == null, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_Library( + c.canonicalLibrary!, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'canonicalLibraryOrThrow': Property( + getValue: (CT_ c) => c.canonicalLibraryOrThrow, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_Library.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as Library, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_Library( + c.canonicalLibraryOrThrow, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'canonicalModelElement': Property( + getValue: (CT_ c) => c.canonicalModelElement, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = + _Renderer_ModelElement.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as ModelElement, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => c.canonicalModelElement == null, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_ModelElement( + c.canonicalModelElement!, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'characterLocation': Property( + getValue: (CT_ c) => c.characterLocation, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'CharacterLocation', + ), + isNullValue: (CT_ c) => c.characterLocation == null, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + renderSimple( + c.characterLocation, + ast, + r.template, + sink, + parent: r, + getters: _invisibleGetters['CharacterLocation']!, + ); + }, + ), + 'config': Property( + getValue: (CT_ c) => c.config, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'DartdocOptionContext', + ), + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + renderSimple( + c.config, + ast, + r.template, + sink, + parent: r, + getters: _invisibleGetters['DartdocOptionContext']!, + ); + }, + ), + 'displayedCategories': Property( + getValue: (CT_ c) => c.displayedCategories, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'Iterable', + ), + renderIterable: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + return c.displayedCategories.map( + (e) => _render_Category( + e!, + ast, + r.template, + sink, + parent: r, + ), + ); + }, + ), + 'documentation': Property( + getValue: (CT_ c) => c.documentation, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String( + c.documentation, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'element': Property( + getValue: (CT_ c) => c.element, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'Element2', + ), + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + renderSimple( + c.element, + ast, + r.template, + sink, + parent: r, + getters: _invisibleGetters['Element2']!, + ); + }, + ), + 'enclosingElement': Property( + getValue: (CT_ c) => c.enclosingElement, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = + _Renderer_ModelElement.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as ModelElement, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => c.enclosingElement == null, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_ModelElement( + c.enclosingElement!, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'fileName': Property( + getValue: (CT_ c) => c.fileName, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String( + c.fileName, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'filePath': Property( + getValue: (CT_ c) => c.filePath, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String( + c.filePath, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'fullyQualifiedName': Property( + getValue: (CT_ c) => c.fullyQualifiedName, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String( + c.fullyQualifiedName, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'hasAnnotations': Property( + getValue: (CT_ c) => c.hasAnnotations, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'bool'), + getBool: (CT_ c) => c.hasAnnotations, + ), + 'hasAttributes': Property( + getValue: (CT_ c) => c.hasAttributes, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'bool'), + getBool: (CT_ c) => c.hasAttributes, + ), + 'hasCategoryNames': Property( + getValue: (CT_ c) => c.hasCategoryNames, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'bool'), + getBool: (CT_ c) => c.hasCategoryNames, + ), + 'hasDocumentation': Property( + getValue: (CT_ c) => c.hasDocumentation, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'bool'), + getBool: (CT_ c) => c.hasDocumentation, + ), + 'hasParameters': Property( + getValue: (CT_ c) => c.hasParameters, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'bool'), + getBool: (CT_ c) => c.hasParameters, + ), + 'hasSourceHref': Property( + getValue: (CT_ c) => c.hasSourceHref, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'bool'), + getBool: (CT_ c) => c.hasSourceHref, + ), + 'href': Property( + getValue: (CT_ c) => c.href, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => c.href == null, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String(c.href!, ast, r.template, sink, parent: r); + }, + ), + 'htmlId': Property( + getValue: (CT_ c) => c.htmlId, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String( + c.htmlId, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'isCallable': Property( + getValue: (CT_ c) => c.isCallable, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'bool'), + getBool: (CT_ c) => c.isCallable, + ), + 'isCanonical': Property( + getValue: (CT_ c) => c.isCanonical, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'bool'), + getBool: (CT_ c) => c.isCanonical, + ), + 'isConst': Property( + getValue: (CT_ c) => c.isConst, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'bool'), + getBool: (CT_ c) => c.isConst, + ), + 'isDeprecated': Property( + getValue: (CT_ c) => c.isDeprecated, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'bool'), + getBool: (CT_ c) => c.isDeprecated, + ), + 'isDocumented': Property( + getValue: (CT_ c) => c.isDocumented, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'bool'), + getBool: (CT_ c) => c.isDocumented, + ), + 'isEnumValue': Property( + getValue: (CT_ c) => c.isEnumValue, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'bool'), + getBool: (CT_ c) => c.isEnumValue, + ), + 'isFinal': Property( + getValue: (CT_ c) => c.isFinal, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'bool'), + getBool: (CT_ c) => c.isFinal, + ), + 'isLate': Property( + getValue: (CT_ c) => c.isLate, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'bool'), + getBool: (CT_ c) => c.isLate, + ), + 'isPublic': Property( + getValue: (CT_ c) => c.isPublic, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'bool'), + getBool: (CT_ c) => c.isPublic, + ), + 'isPublicAndPackageDocumented': Property( + getValue: (CT_ c) => c.isPublicAndPackageDocumented, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'bool'), + getBool: (CT_ c) => c.isPublicAndPackageDocumented, + ), + 'kind': Property( + getValue: (CT_ c) => c.kind, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'Kind'), + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + renderSimple( + c.kind, + ast, + r.template, + sink, + parent: r, + getters: _invisibleGetters['Kind']!, + ); + }, + ), + 'library': Property( + getValue: (CT_ c) => c.library, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_Library.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as Library, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_Library( + c.library, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'linkedName': Property( + getValue: (CT_ c) => c.linkedName, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String( + c.linkedName, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'linkedObjectType': Property( + getValue: (CT_ c) => c.linkedObjectType, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String( + c.linkedObjectType, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'linkedParams': Property( + getValue: (CT_ c) => c.linkedParams, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String( + c.linkedParams, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'linkedParamsLines': Property( + getValue: (CT_ c) => c.linkedParamsLines, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String( + c.linkedParamsLines, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'linkedParamsNoMetadata': Property( + getValue: (CT_ c) => c.linkedParamsNoMetadata, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => c.linkedParamsNoMetadata == null, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String( + c.linkedParamsNoMetadata!, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'location': Property( + getValue: (CT_ c) => c.location, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String( + c.location, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'modelNode': Property( + getValue: (CT_ c) => c.modelNode, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'ModelNode', + ), + isNullValue: (CT_ c) => c.modelNode == null, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + renderSimple( + c.modelNode, + ast, + r.template, + sink, + parent: r, + getters: _invisibleGetters['ModelNode']!, + ); + }, + ), + 'name': Property( + getValue: (CT_ c) => c.name, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String(c.name, ast, r.template, sink, parent: r); + }, + ), + 'oneLineDoc': Property( + getValue: (CT_ c) => c.oneLineDoc, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String( + c.oneLineDoc, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'originalMember': Property( + getValue: (CT_ c) => c.originalMember, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'Member'), + isNullValue: (CT_ c) => c.originalMember == null, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + renderSimple( + c.originalMember, + ast, + r.template, + sink, + parent: r, + getters: _invisibleGetters['Member']!, + ); + }, + ), + 'package': Property( + getValue: (CT_ c) => c.package, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_Package.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as Package, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_Package( + c.package, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'packageGraph': Property( + getValue: (CT_ c) => c.packageGraph, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'PackageGraph', + ), + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + renderSimple( + c.packageGraph, + ast, + r.template, + sink, + parent: r, + getters: _invisibleGetters['PackageGraph']!, + ); + }, + ), + 'parameters': Property( + getValue: (CT_ c) => c.parameters, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'List', + ), + renderIterable: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + return c.parameters.map( + (e) => _render_Parameter( + e, + ast, + r.template, + sink, + parent: r, + ), + ); + }, + ), + 'pathContext': Property( + getValue: (CT_ c) => c.pathContext, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'Context'), + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + renderSimple( + c.pathContext, + ast, + r.template, + sink, + parent: r, + getters: _invisibleGetters['Context']!, + ); + }, + ), + 'qualifiedName': Property( + getValue: (CT_ c) => c.qualifiedName, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String( + c.qualifiedName, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'sourceCode': Property( + getValue: (CT_ c) => c.sourceCode, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String( + c.sourceCode, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'sourceFileName': Property( + getValue: (CT_ c) => c.sourceFileName, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String( + c.sourceFileName, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'sourceHref': Property( + getValue: (CT_ c) => c.sourceHref, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String( + c.sourceHref, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'unitElement': Property( + getValue: (CT_ c) => c.unitElement, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'LibraryFragment', + ), + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + renderSimple( + c.unitElement, + ast, + r.template, + sink, + parent: r, + getters: _invisibleGetters['LibraryFragment']!, + ); + }, + ), + }, + ) as Map>; - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String( - c.oneLineDoc, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'package': Property( - getValue: (CT_ c) => c.package, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_Package.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as Package, - nextProperty, - [...remainingNames.skip(1)], - ); - }, + _Renderer_ModelElement( + ModelElement context, + RendererBase? parent, + Template template, + StringSink sink, + ) : super(context, parent, template, sink); - isNullValue: (CT_ c) => false, + @override + Property? getProperty(String key) { + if (propertyMap().containsKey(key)) { + return propertyMap()[key]; + } else { + return null; + } + } +} - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_Package( - c.package, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'packageGraph': Property( - getValue: (CT_ c) => c.packageGraph, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'PackageGraph', - ), +void _render_ModelFunction( + ModelFunction context, + List ast, + Template template, + StringSink sink, { + RendererBase? parent, +}) { + var renderer = _Renderer_ModelFunction(context, parent, template, sink); + renderer.renderBlock(ast); +} - isNullValue: (CT_ c) => false, +class _Renderer_ModelFunction extends RendererBase { + static final Map _propertyMapCache = {}; + static Map> propertyMap() => + _propertyMapCache.putIfAbsent( + CT_, + () => { + ..._Renderer_ModelFunctionTyped.propertyMap(), + ..._Renderer_Categorization.propertyMap(), + 'element': Property( + getValue: (CT_ c) => c.element, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'TopLevelFunctionElement', + ), + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + renderSimple( + c.element, + ast, + r.template, + sink, + parent: r, + getters: _invisibleGetters['TopLevelFunctionElement']!, + ); + }, + ), + 'isAsynchronous': Property( + getValue: (CT_ c) => c.isAsynchronous, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'bool'), + getBool: (CT_ c) => c.isAsynchronous, + ), + 'isStatic': Property( + getValue: (CT_ c) => c.isStatic, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'bool'), + getBool: (CT_ c) => c.isStatic, + ), + 'name': Property( + getValue: (CT_ c) => c.name, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String(c.name, ast, r.template, sink, parent: r); + }, + ), + }, + ) as Map>; - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - renderSimple( - c.packageGraph, - ast, - r.template, - sink, - parent: r, - getters: _invisibleGetters['PackageGraph']!, - ); - }, - ), - 'packageMeta': Property( - getValue: (CT_ c) => c.packageMeta, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'PackageMeta', - ), + _Renderer_ModelFunction( + ModelFunction context, + RendererBase? parent, + Template template, + StringSink sink, + ) : super(context, parent, template, sink); - isNullValue: (CT_ c) => false, + @override + Property? getProperty(String key) { + if (propertyMap().containsKey(key)) { + return propertyMap()[key]; + } else { + return null; + } + } +} - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - renderSimple( - c.packageMeta, - ast, - r.template, - sink, - parent: r, - getters: _invisibleGetters['PackageMeta']!, - ); - }, - ), - 'packagePath': Property( - getValue: (CT_ c) => c.packagePath, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, +void _render_ModelFunctionTyped( + ModelFunctionTyped context, + List ast, + Template template, + StringSink sink, { + RendererBase? parent, +}) { + var renderer = _Renderer_ModelFunctionTyped(context, parent, template, sink); + renderer.renderBlock(ast); +} - isNullValue: (CT_ c) => false, +class _Renderer_ModelFunctionTyped extends RendererBase { + static final Map _propertyMapCache = {}; + static Map> propertyMap< + CT_ extends ModelFunctionTyped>() => + _propertyMapCache.putIfAbsent( + CT_, + () => { + ..._Renderer_ModelElement.propertyMap(), + ..._Renderer_TypeParameters.propertyMap(), + 'aboveSidebarPath': Property( + getValue: (CT_ c) => c.aboveSidebarPath, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String( + c.aboveSidebarPath, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'belowSidebarPath': Property( + getValue: (CT_ c) => c.belowSidebarPath, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => c.belowSidebarPath == null, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String( + c.belowSidebarPath!, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'element': Property( + getValue: (CT_ c) => c.element, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'FunctionTypedElement2', + ), + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + renderSimple( + c.element, + ast, + r.template, + sink, + parent: r, + getters: _invisibleGetters['FunctionTypedElement2']!, + ); + }, + ), + 'enclosingElement': Property( + getValue: (CT_ c) => c.enclosingElement, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_Library.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as Library, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_Library( + c.enclosingElement, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'enclosingExtension': Property( + getValue: (CT_ c) => c.enclosingExtension, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = + _Renderer_Extension.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as Extension, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_Extension( + c.enclosingExtension, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'fileName': Property( + getValue: (CT_ c) => c.fileName, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String( + c.fileName, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'href': Property( + getValue: (CT_ c) => c.href, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => c.href == null, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String(c.href!, ast, r.template, sink, parent: r); + }, + ), + 'isInherited': Property( + getValue: (CT_ c) => c.isInherited, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'bool'), + getBool: (CT_ c) => c.isInherited, + ), + 'isProvidedByExtension': Property( + getValue: (CT_ c) => c.isProvidedByExtension, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'bool'), + getBool: (CT_ c) => c.isProvidedByExtension, + ), + 'kind': Property( + getValue: (CT_ c) => c.kind, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'Kind'), + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + renderSimple( + c.kind, + ast, + r.template, + sink, + parent: r, + getters: _invisibleGetters['Kind']!, + ); + }, + ), + 'modelType': Property( + getValue: (CT_ c) => c.modelType, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = + _Renderer_Callable.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as Callable, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_Callable( + c.modelType, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'referenceChildren': Property( + getValue: (CT_ c) => c.referenceChildren, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'Map', + ), + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + renderSimple( + c.referenceChildren, + ast, + r.template, + sink, + parent: r, + getters: _invisibleGetters['Map']!, + ); + }, + ), + 'referenceParents': Property( + getValue: (CT_ c) => c.referenceParents, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'Iterable', + ), + renderIterable: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + return c.referenceParents.map( + (e) => renderSimple( + e, + ast, + r.template, + sink, + parent: r, + getters: _invisibleGetters['CommentReferable']!, + ), + ); + }, + ), + 'typeParameters': Property( + getValue: (CT_ c) => c.typeParameters, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'List', + ), + renderIterable: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + return c.typeParameters.map( + (e) => _render_TypeParameter( + e, + ast, + r.template, + sink, + parent: r, + ), + ); + }, + ), + }, + ) as Map>; - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String( - c.packagePath, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'referenceChildren': Property( - getValue: (CT_ c) => c.referenceChildren, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'Map', - ), + _Renderer_ModelFunctionTyped( + ModelFunctionTyped context, + RendererBase? parent, + Template template, + StringSink sink, + ) : super(context, parent, template, sink); - isNullValue: (CT_ c) => false, + @override + Property? getProperty(String key) { + if (propertyMap().containsKey(key)) { + return propertyMap()[key]; + } else { + return null; + } + } +} - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - renderSimple( - c.referenceChildren, - ast, - r.template, - sink, - parent: r, - getters: _invisibleGetters['Map']!, - ); - }, - ), - 'referenceName': Property( - getValue: (CT_ c) => c.referenceName, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, +class _Renderer_Nameable extends RendererBase { + static final Map _propertyMapCache = {}; + static Map> propertyMap() => + _propertyMapCache.putIfAbsent( + CT_, + () => { + 'breadcrumbName': Property( + getValue: (CT_ c) => c.breadcrumbName, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String( + c.breadcrumbName, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'displayName': Property( + getValue: (CT_ c) => c.displayName, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String( + c.displayName, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'fullyQualifiedName': Property( + getValue: (CT_ c) => c.fullyQualifiedName, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String( + c.fullyQualifiedName, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'isPublic': Property( + getValue: (CT_ c) => c.isPublic, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'bool'), + getBool: (CT_ c) => c.isPublic, + ), + 'name': Property( + getValue: (CT_ c) => c.name, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String(c.name, ast, r.template, sink, parent: r); + }, + ), + 'packageGraph': Property( + getValue: (CT_ c) => c.packageGraph, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'PackageGraph', + ), + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + renderSimple( + c.packageGraph, + ast, + r.template, + sink, + parent: r, + getters: _invisibleGetters['PackageGraph']!, + ); + }, + ), + }, + ) as Map>; - isNullValue: (CT_ c) => false, + _Renderer_Nameable( + Nameable context, + RendererBase? parent, + Template template, + StringSink sink, + ) : super(context, parent, template, sink); - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String( - c.referenceName, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'referenceParents': Property( - getValue: (CT_ c) => c.referenceParents, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'Iterable', - ), - - renderIterable: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - return c.referenceParents.map( - (e) => renderSimple( - e, - ast, - r.template, - sink, - parent: r, - getters: _invisibleGetters['CommentReferable']!, - ), - ); - }, - ), - 'toolInvocationIndex': Property( - getValue: (CT_ c) => c.toolInvocationIndex, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'int'), + @override + Property? getProperty(String key) { + if (propertyMap().containsKey(key)) { + return propertyMap()[key]; + } else { + return null; + } + } +} - isNullValue: (CT_ c) => false, +class _Renderer_Object extends RendererBase { + static final Map _propertyMapCache = {}; + static Map> propertyMap() => + _propertyMapCache.putIfAbsent( + CT_, + () => { + 'hashCode': Property( + getValue: (CT_ c) => c.hashCode, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'int'), + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + renderSimple( + c.hashCode, + ast, + r.template, + sink, + parent: r, + getters: _invisibleGetters['int']!, + ); + }, + ), + }, + ) as Map>; - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - renderSimple( - c.toolInvocationIndex, - ast, - r.template, - sink, - parent: r, - getters: _invisibleGetters['int']!, - ); - }, - ), - 'usedAnimationIdsByHref': Property( - getValue: (CT_ c) => c.usedAnimationIdsByHref, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'Map>', - ), + _Renderer_Object( + Object context, + RendererBase? parent, + Template template, + StringSink sink, + ) : super(context, parent, template, sink); - isNullValue: (CT_ c) => false, + @override + Property? getProperty(String key) { + if (propertyMap().containsKey(key)) { + return propertyMap()[key]; + } else { + return null; + } + } +} - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - renderSimple( - c.usedAnimationIdsByHref, - ast, - r.template, - sink, - parent: r, - getters: _invisibleGetters['Map']!, - ); - }, - ), - 'version': Property( - getValue: (CT_ c) => c.version, +class _Renderer_OneDirectoryDown + extends RendererBase> { + static final Map _propertyMapCache = {}; + static Map> + propertyMap() => + _propertyMapCache.putIfAbsent( + CT_, + () => { + 'htmlBase': Property( + getValue: (CT_ c) => c.htmlBase, renderVariable: (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String( - c.version, - ast, - r.template, - sink, - parent: r, - ); - }, + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = + _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String( + c.htmlBase, + ast, + r.template, + sink, + parent: r, + ); + }, ), }, - ) - as Map>; + ) as Map>; - _Renderer_Package( - Package context, + _Renderer_OneDirectoryDown( + OneDirectoryDown context, RendererBase? parent, Template template, StringSink sink, ) : super(context, parent, template, sink); - - @override - Property? getProperty(String key) { - if (propertyMap().containsKey(key)) { - return propertyMap()[key]; + + @override + Property>? getProperty(String key) { + if (propertyMap>().containsKey(key)) { + return propertyMap>()[key]; } else { return null; } } } -String renderIndex(PackageTemplateData context, Template template) { - var buffer = StringBuffer(); - _render_PackageTemplateData(context, template.ast, template, buffer); - return buffer.toString(); -} - -void _render_PackageTemplateData( - PackageTemplateData context, +void _render_Operator( + Operator context, List ast, Template template, StringSink sink, { RendererBase? parent, }) { - var renderer = _Renderer_PackageTemplateData(context, parent, template, sink); + var renderer = _Renderer_Operator(context, parent, template, sink); renderer.renderBlock(ast); } -class _Renderer_PackageTemplateData extends RendererBase { +class _Renderer_Operator extends RendererBase { static final Map _propertyMapCache = {}; - static Map> - propertyMap() => + static Map> propertyMap() => _propertyMapCache.putIfAbsent( - CT_, - () => { - ..._Renderer_TemplateData.propertyMap(), - 'bareHref': Property( - getValue: (CT_ c) => c.bareHref, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String( - c.bareHref, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'hasHomepage': Property( - getValue: (CT_ c) => c.hasHomepage, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'bool'), - - getBool: (CT_ c) => c.hasHomepage, - ), - 'homepage': Property( - getValue: (CT_ c) => c.homepage, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String( - c.homepage, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'htmlBase': Property( - getValue: (CT_ c) => c.htmlBase, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String( - c.htmlBase, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'includeVersion': Property( - getValue: (CT_ c) => c.includeVersion, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'bool'), - - getBool: (CT_ c) => c.includeVersion, - ), - 'layoutTitle': Property( - getValue: (CT_ c) => c.layoutTitle, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String( - c.layoutTitle, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'metaDescription': Property( - getValue: (CT_ c) => c.metaDescription, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String( - c.metaDescription, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'navLinks': Property( - getValue: (CT_ c) => c.navLinks, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'List', - ), - - renderIterable: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - return c.navLinks.map( - (e) => _render_Documentable( - e, - ast, - r.template, - sink, - parent: r, - ), - ); - }, - ), - 'package': Property( - getValue: (CT_ c) => c.package, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_Package.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as Package, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_Package( - c.package, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'self': Property( - getValue: (CT_ c) => c.self, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_Package.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as Package, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_Package(c.self, ast, r.template, sink, parent: r); - }, - ), - 'title': Property( - getValue: (CT_ c) => c.title, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String(c.title, ast, r.template, sink, parent: r); - }, - ), + CT_, + () => { + ..._Renderer_Method.propertyMap(), + 'fileName': Property( + getValue: (CT_ c) => c.fileName, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String( + c.fileName, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'fullyQualifiedName': Property( + getValue: (CT_ c) => c.fullyQualifiedName, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String( + c.fullyQualifiedName, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'isOperator': Property( + getValue: (CT_ c) => c.isOperator, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'bool'), + getBool: (CT_ c) => c.isOperator, + ), + 'name': Property( + getValue: (CT_ c) => c.name, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String(c.name, ast, r.template, sink, parent: r); + }, + ), + 'referenceName': Property( + getValue: (CT_ c) => c.referenceName, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String( + c.referenceName, + ast, + r.template, + sink, + parent: r, + ); }, - ) - as Map>; + ), + }, + ) as Map>; - _Renderer_PackageTemplateData( - PackageTemplateData context, + _Renderer_Operator( + Operator context, RendererBase? parent, Template template, StringSink sink, ) : super(context, parent, template, sink); @override - Property? getProperty(String key) { - if (propertyMap().containsKey(key)) { - return propertyMap()[key]; + Property? getProperty(String key) { + if (propertyMap().containsKey(key)) { + return propertyMap()[key]; } else { return null; } } } -String renderSearchPage(PackageTemplateData context, Template template) { - var buffer = StringBuffer(); - _render_PackageTemplateData(context, template.ast, template, buffer); - return buffer.toString(); -} - -String renderError(PackageTemplateData context, Template template) { - var buffer = StringBuffer(); - _render_PackageTemplateData(context, template.ast, template, buffer); - return buffer.toString(); -} - -void _render_Parameter( - Parameter context, +void _render_Package( + Package context, List ast, Template template, StringSink sink, { RendererBase? parent, }) { - var renderer = _Renderer_Parameter(context, parent, template, sink); + var renderer = _Renderer_Package(context, parent, template, sink); renderer.renderBlock(ast); } -class _Renderer_Parameter extends RendererBase { +class _Renderer_Package extends RendererBase { static final Map _propertyMapCache = {}; - static Map> propertyMap() => + static Map> propertyMap() => _propertyMapCache.putIfAbsent( - CT_, - () => { - ..._Renderer_ModelElement.propertyMap(), - ..._Renderer_HasNoPage.propertyMap(), - 'defaultValue': Property( - getValue: (CT_ c) => c.defaultValue, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => c.defaultValue == null, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String( - c.defaultValue!, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'element': Property( - getValue: (CT_ c) => c.element, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'FormalParameterElement', - ), - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - renderSimple( - c.element, - ast, - r.template, - sink, - parent: r, - getters: _invisibleGetters['FormalParameterElement']!, - ); - }, - ), - 'enclosingElement': Property( - getValue: (CT_ c) => c.enclosingElement, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_ModelElement.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as ModelElement, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => c.enclosingElement == null, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_ModelElement( - c.enclosingElement!, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'hasDefaultValue': Property( - getValue: (CT_ c) => c.hasDefaultValue, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'bool'), - - getBool: (CT_ c) => c.hasDefaultValue, - ), - 'hashCode': Property( - getValue: (CT_ c) => c.hashCode, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'int'), - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - renderSimple( - c.hashCode, - ast, - r.template, - sink, - parent: r, - getters: _invisibleGetters['int']!, - ); - }, - ), - 'href': Property( - getValue: (CT_ c) => c.href, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => c.href == null, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String(c.href!, ast, r.template, sink, parent: r); - }, - ), - 'htmlId': Property( - getValue: (CT_ c) => c.htmlId, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String( - c.htmlId, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'isCovariant': Property( - getValue: (CT_ c) => c.isCovariant, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'bool'), - - getBool: (CT_ c) => c.isCovariant, - ), - 'isNamed': Property( - getValue: (CT_ c) => c.isNamed, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'bool'), - - getBool: (CT_ c) => c.isNamed, - ), - 'isOptionalPositional': Property( - getValue: (CT_ c) => c.isOptionalPositional, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'bool'), - - getBool: (CT_ c) => c.isOptionalPositional, - ), - 'isRequiredNamed': Property( - getValue: (CT_ c) => c.isRequiredNamed, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'bool'), - - getBool: (CT_ c) => c.isRequiredNamed, - ), - 'isRequiredPositional': Property( - getValue: (CT_ c) => c.isRequiredPositional, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'bool'), - - getBool: (CT_ c) => c.isRequiredPositional, - ), - 'kind': Property( - getValue: (CT_ c) => c.kind, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'Kind'), - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - renderSimple( - c.kind, - ast, - r.template, - sink, - parent: r, - getters: _invisibleGetters['Kind']!, - ); - }, - ), - 'modelType': Property( - getValue: (CT_ c) => c.modelType, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_ElementType.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as ElementType, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_ElementType( - c.modelType, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'originalMember': Property( - getValue: (CT_ c) => c.originalMember, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'ParameterMember', - ), - - isNullValue: (CT_ c) => c.originalMember == null, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - renderSimple( - c.originalMember, - ast, - r.template, - sink, - parent: r, - getters: _invisibleGetters['ParameterMember']!, - ); - }, - ), - 'referenceChildren': Property( - getValue: (CT_ c) => c.referenceChildren, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'Map', - ), - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - renderSimple( - c.referenceChildren, - ast, - r.template, - sink, - parent: r, - getters: _invisibleGetters['Map']!, - ); - }, - ), - 'referenceParents': Property( - getValue: (CT_ c) => c.referenceParents, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'Iterable', - ), - - renderIterable: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - return c.referenceParents.map( - (e) => renderSimple( - e, - ast, - r.template, - sink, - parent: r, - getters: _invisibleGetters['CommentReferable']!, - ), - ); - }, - ), + CT_, + () => { + ..._Renderer_LibraryContainer.propertyMap(), + ..._Renderer_Nameable.propertyMap(), + ..._Renderer_Locatable.propertyMap(), + ..._Renderer_Warnable.propertyMap(), + ..._Renderer_CommentReferable.propertyMap(), + 'aboveSidebarPath': Property( + getValue: (CT_ c) => c.aboveSidebarPath, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => c.aboveSidebarPath == null, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String( + c.aboveSidebarPath!, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'allLibraries': Property( + getValue: (CT_ c) => c.allLibraries, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'Set', + ), + renderIterable: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + return c.allLibraries.map( + (e) => _render_Library( + e, + ast, + r.template, + sink, + parent: r, + ), + ); + }, + ), + 'baseHref': Property( + getValue: (CT_ c) => c.baseHref, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String( + c.baseHref, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'belowSidebarPath': Property( + getValue: (CT_ c) => c.belowSidebarPath, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => c.belowSidebarPath == null, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String( + c.belowSidebarPath!, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'categories': Property( + getValue: (CT_ c) => c.categories, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'List', + ), + renderIterable: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + return c.categories.map( + (e) => _render_Category( + e, + ast, + r.template, + sink, + parent: r, + ), + ); + }, + ), + 'categoriesWithPublicLibraries': Property( + getValue: (CT_ c) => c.categoriesWithPublicLibraries, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'Iterable', + ), + renderIterable: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + return c.categoriesWithPublicLibraries.map( + (e) => _render_Category( + e, + ast, + r.template, + sink, + parent: r, + ), + ); + }, + ), + 'config': Property( + getValue: (CT_ c) => c.config, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'DartdocOptionContext', + ), + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + renderSimple( + c.config, + ast, + r.template, + sink, + parent: r, + getters: _invisibleGetters['DartdocOptionContext']!, + ); + }, + ), + 'containerOrder': Property( + getValue: (CT_ c) => c.containerOrder, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'List', + ), + renderIterable: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + return c.containerOrder.map( + (e) => _render_String(e, ast, r.template, sink, parent: r), + ); + }, + ), + 'defaultCategory': Property( + getValue: (CT_ c) => c.defaultCategory, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = + _Renderer_Category.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as Category, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_Category( + c.defaultCategory, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'documentation': Property( + getValue: (CT_ c) => c.documentation, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => c.documentation == null, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String( + c.documentation!, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'documentationAsHtml': Property( + getValue: (CT_ c) => c.documentationAsHtml, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String( + c.documentationAsHtml, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'documentationFrom': Property( + getValue: (CT_ c) => c.documentationFrom, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'List', + ), + renderIterable: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + return c.documentationFrom.map( + (e) => renderSimple( + e, + ast, + r.template, + sink, + parent: r, + getters: _invisibleGetters['Locatable']!, + ), + ); + }, + ), + 'documentedCategoriesSorted': Property( + getValue: (CT_ c) => c.documentedCategoriesSorted, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'Iterable', + ), + renderIterable: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + return c.documentedCategoriesSorted.map( + (e) => _render_Category( + e, + ast, + r.template, + sink, + parent: r, + ), + ); + }, + ), + 'documentedWhere': Property( + getValue: (CT_ c) => c.documentedWhere, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'DocumentLocation', + ), + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + renderSimple( + c.documentedWhere, + ast, + r.template, + sink, + parent: r, + getters: _invisibleGetters['DocumentLocation']!, + ); + }, + ), + 'element': Property( + getValue: (CT_ c) => c.element, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'Element2', + ), + isNullValue: (CT_ c) => c.element == null, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + renderSimple( + c.element, + ast, + r.template, + sink, + parent: r, + getters: _invisibleGetters['Element2']!, + ); + }, + ), + 'enclosingName': Property( + getValue: (CT_ c) => c.enclosingName, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String( + c.enclosingName, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'filePath': Property( + getValue: (CT_ c) => c.filePath, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String( + c.filePath, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'fullyQualifiedName': Property( + getValue: (CT_ c) => c.fullyQualifiedName, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String( + c.fullyQualifiedName, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'hasCategories': Property( + getValue: (CT_ c) => c.hasCategories, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'bool'), + getBool: (CT_ c) => c.hasCategories, + ), + 'hasDocumentation': Property( + getValue: (CT_ c) => c.hasDocumentation, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'bool'), + getBool: (CT_ c) => c.hasDocumentation, + ), + 'hasDocumentedCategories': Property( + getValue: (CT_ c) => c.hasDocumentedCategories, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'bool'), + getBool: (CT_ c) => c.hasDocumentedCategories, + ), + 'hasHomepage': Property( + getValue: (CT_ c) => c.hasHomepage, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'bool'), + getBool: (CT_ c) => c.hasHomepage, + ), + 'homepage': Property( + getValue: (CT_ c) => c.homepage, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String( + c.homepage, + ast, + r.template, + sink, + parent: r, + ); }, - ) - as Map>; + ), + 'href': Property( + getValue: (CT_ c) => c.href, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String(c.href, ast, r.template, sink, parent: r); + }, + ), + 'isCanonical': Property( + getValue: (CT_ c) => c.isCanonical, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'bool'), + getBool: (CT_ c) => c.isCanonical, + ), + 'isDocumented': Property( + getValue: (CT_ c) => c.isDocumented, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'bool'), + getBool: (CT_ c) => c.isDocumented, + ), + 'isFirstPackage': Property( + getValue: (CT_ c) => c.isFirstPackage, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'bool'), + getBool: (CT_ c) => c.isFirstPackage, + ), + 'isLocal': Property( + getValue: (CT_ c) => c.isLocal, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'bool'), + getBool: (CT_ c) => c.isLocal, + ), + 'isPublic': Property( + getValue: (CT_ c) => c.isPublic, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'bool'), + getBool: (CT_ c) => c.isPublic, + ), + 'isSdk': Property( + getValue: (CT_ c) => c.isSdk, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'bool'), + getBool: (CT_ c) => c.isSdk, + ), + 'kind': Property( + getValue: (CT_ c) => c.kind, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'Kind'), + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + renderSimple( + c.kind, + ast, + r.template, + sink, + parent: r, + getters: _invisibleGetters['Kind']!, + ); + }, + ), + 'location': Property( + getValue: (CT_ c) => c.location, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String( + c.location, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'name': Property( + getValue: (CT_ c) => c.name, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String(c.name, ast, r.template, sink, parent: r); + }, + ), + 'nameToCategory': Property( + getValue: (CT_ c) => c.nameToCategory, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'Map', + ), + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + renderSimple( + c.nameToCategory, + ast, + r.template, + sink, + parent: r, + getters: _invisibleGetters['Map']!, + ); + }, + ), + 'oneLineDoc': Property( + getValue: (CT_ c) => c.oneLineDoc, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String( + c.oneLineDoc, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'package': Property( + getValue: (CT_ c) => c.package, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_Package.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as Package, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_Package( + c.package, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'packageGraph': Property( + getValue: (CT_ c) => c.packageGraph, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'PackageGraph', + ), + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + renderSimple( + c.packageGraph, + ast, + r.template, + sink, + parent: r, + getters: _invisibleGetters['PackageGraph']!, + ); + }, + ), + 'packageMeta': Property( + getValue: (CT_ c) => c.packageMeta, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'PackageMeta', + ), + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + renderSimple( + c.packageMeta, + ast, + r.template, + sink, + parent: r, + getters: _invisibleGetters['PackageMeta']!, + ); + }, + ), + 'packagePath': Property( + getValue: (CT_ c) => c.packagePath, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String( + c.packagePath, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'referenceChildren': Property( + getValue: (CT_ c) => c.referenceChildren, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'Map', + ), + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + renderSimple( + c.referenceChildren, + ast, + r.template, + sink, + parent: r, + getters: _invisibleGetters['Map']!, + ); + }, + ), + 'referenceName': Property( + getValue: (CT_ c) => c.referenceName, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String( + c.referenceName, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'referenceParents': Property( + getValue: (CT_ c) => c.referenceParents, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'Iterable', + ), + renderIterable: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + return c.referenceParents.map( + (e) => renderSimple( + e, + ast, + r.template, + sink, + parent: r, + getters: _invisibleGetters['CommentReferable']!, + ), + ); + }, + ), + 'toolInvocationIndex': Property( + getValue: (CT_ c) => c.toolInvocationIndex, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'int'), + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + renderSimple( + c.toolInvocationIndex, + ast, + r.template, + sink, + parent: r, + getters: _invisibleGetters['int']!, + ); + }, + ), + 'usedAnimationIdsByHref': Property( + getValue: (CT_ c) => c.usedAnimationIdsByHref, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'Map>', + ), + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + renderSimple( + c.usedAnimationIdsByHref, + ast, + r.template, + sink, + parent: r, + getters: _invisibleGetters['Map']!, + ); + }, + ), + 'version': Property( + getValue: (CT_ c) => c.version, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String( + c.version, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + }, + ) as Map>; - _Renderer_Parameter( - Parameter context, + _Renderer_Package( + Package context, RendererBase? parent, Template template, StringSink sink, ) : super(context, parent, template, sink); @override - Property? getProperty(String key) { - if (propertyMap().containsKey(key)) { - return propertyMap()[key]; + Property? getProperty(String key) { + if (propertyMap().containsKey(key)) { + return propertyMap()[key]; } else { return null; } } } -void _render_ParameterizedElementType( - ParameterizedElementType context, +String renderIndex(PackageTemplateData context, Template template) { + var buffer = StringBuffer(); + _render_PackageTemplateData(context, template.ast, template, buffer); + return buffer.toString(); +} + +void _render_PackageTemplateData( + PackageTemplateData context, List ast, Template template, StringSink sink, { RendererBase? parent, }) { - var renderer = _Renderer_ParameterizedElementType( - context, - parent, - template, - sink, - ); + var renderer = _Renderer_PackageTemplateData(context, parent, template, sink); renderer.renderBlock(ast); } -class _Renderer_ParameterizedElementType - extends RendererBase { +class _Renderer_PackageTemplateData extends RendererBase { static final Map _propertyMapCache = {}; - static Map> - propertyMap() => + static Map> propertyMap< + CT_ extends PackageTemplateData>() => _propertyMapCache.putIfAbsent( - CT_, - () => { - ..._Renderer_DefinedElementType.propertyMap(), - ..._Renderer_Rendered.propertyMap(), - 'type': Property( - getValue: (CT_ c) => c.type, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'ParameterizedType', - ), - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - renderSimple( - c.type, - ast, - r.template, - sink, - parent: r, - getters: _invisibleGetters['ParameterizedType']!, - ); - }, - ), - 'typeArguments': Property( - getValue: (CT_ c) => c.typeArguments, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'List', - ), - - renderIterable: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - return c.typeArguments.map( - (e) => _render_ElementType( - e, - ast, - r.template, - sink, - parent: r, - ), - ); - }, - ), + CT_, + () => { + ..._Renderer_TemplateData.propertyMap(), + 'bareHref': Property( + getValue: (CT_ c) => c.bareHref, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String( + c.bareHref, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'hasHomepage': Property( + getValue: (CT_ c) => c.hasHomepage, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'bool'), + getBool: (CT_ c) => c.hasHomepage, + ), + 'homepage': Property( + getValue: (CT_ c) => c.homepage, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String( + c.homepage, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'htmlBase': Property( + getValue: (CT_ c) => c.htmlBase, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String( + c.htmlBase, + ast, + r.template, + sink, + parent: r, + ); }, - ) - as Map>; + ), + 'includeVersion': Property( + getValue: (CT_ c) => c.includeVersion, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'bool'), + getBool: (CT_ c) => c.includeVersion, + ), + 'layoutTitle': Property( + getValue: (CT_ c) => c.layoutTitle, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String( + c.layoutTitle, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'metaDescription': Property( + getValue: (CT_ c) => c.metaDescription, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String( + c.metaDescription, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'navLinks': Property( + getValue: (CT_ c) => c.navLinks, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'List', + ), + renderIterable: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + return c.navLinks.map( + (e) => _render_Documentable( + e, + ast, + r.template, + sink, + parent: r, + ), + ); + }, + ), + 'package': Property( + getValue: (CT_ c) => c.package, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_Package.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as Package, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_Package( + c.package, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'self': Property( + getValue: (CT_ c) => c.self, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_Package.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as Package, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_Package(c.self, ast, r.template, sink, parent: r); + }, + ), + 'title': Property( + getValue: (CT_ c) => c.title, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String(c.title, ast, r.template, sink, parent: r); + }, + ), + }, + ) as Map>; - _Renderer_ParameterizedElementType( - ParameterizedElementType context, + _Renderer_PackageTemplateData( + PackageTemplateData context, RendererBase? parent, Template template, StringSink sink, ) : super(context, parent, template, sink); @override - Property? getProperty(String key) { - if (propertyMap().containsKey(key)) { - return propertyMap()[key]; + Property? getProperty(String key) { + if (propertyMap().containsKey(key)) { + return propertyMap()[key]; } else { return null; } } } -String renderProperty(PropertyTemplateData context, Template template) { +String renderSearchPage(PackageTemplateData context, Template template) { var buffer = StringBuffer(); - _render_PropertyTemplateData(context, template.ast, template, buffer); + _render_PackageTemplateData(context, template.ast, template, buffer); return buffer.toString(); } -void _render_PropertyTemplateData( - PropertyTemplateData context, +String renderError(PackageTemplateData context, Template template) { + var buffer = StringBuffer(); + _render_PackageTemplateData(context, template.ast, template, buffer); + return buffer.toString(); +} + +void _render_Parameter( + Parameter context, List ast, Template template, StringSink sink, { RendererBase? parent, }) { - var renderer = _Renderer_PropertyTemplateData( - context, - parent, - template, - sink, - ); + var renderer = _Renderer_Parameter(context, parent, template, sink); renderer.renderBlock(ast); } -class _Renderer_PropertyTemplateData - extends RendererBase { +class _Renderer_Parameter extends RendererBase { static final Map _propertyMapCache = {}; - static Map> - propertyMap() => + static Map> propertyMap() => _propertyMapCache.putIfAbsent( - CT_, - () => { - ..._Renderer_TemplateData.propertyMap(), - ..._Renderer_TwoDirectoriesDown.propertyMap(), - 'container': Property( - getValue: (CT_ c) => c.container, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_Container.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as Container, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_Container( - c.container, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'layoutTitle': Property( - getValue: (CT_ c) => c.layoutTitle, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String( - c.layoutTitle, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'library': Property( - getValue: (CT_ c) => c.library, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_Library.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as Library, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_Library( - c.library, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'metaDescription': Property( - getValue: (CT_ c) => c.metaDescription, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String( - c.metaDescription, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'navLinks': Property( - getValue: (CT_ c) => c.navLinks, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'List', - ), - - renderIterable: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - return c.navLinks.map( - (e) => _render_Documentable( - e, - ast, - r.template, - sink, - parent: r, - ), - ); - }, - ), - 'navLinksWithGenerics': Property( - getValue: (CT_ c) => c.navLinksWithGenerics, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'List', - ), - - renderIterable: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - return c.navLinksWithGenerics.map( - (e) => _render_Container( - e, - ast, - r.template, - sink, - parent: r, - ), - ); - }, - ), - 'property': Property( - getValue: (CT_ c) => c.property, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_Field.propertyMap().getValue( - name, - ); - return nextProperty.renderVariable( - self.getValue(c) as Field, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_Field( - c.property, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'self': Property( - getValue: (CT_ c) => c.self, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_Field.propertyMap().getValue( - name, - ); - return nextProperty.renderVariable( - self.getValue(c) as Field, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_Field(c.self, ast, r.template, sink, parent: r); - }, - ), - 'title': Property( - getValue: (CT_ c) => c.title, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String(c.title, ast, r.template, sink, parent: r); - }, - ), + CT_, + () => { + ..._Renderer_ModelElement.propertyMap(), + ..._Renderer_HasNoPage.propertyMap(), + 'defaultValue': Property( + getValue: (CT_ c) => c.defaultValue, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => c.defaultValue == null, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String( + c.defaultValue!, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'element': Property( + getValue: (CT_ c) => c.element, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'FormalParameterElement', + ), + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + renderSimple( + c.element, + ast, + r.template, + sink, + parent: r, + getters: _invisibleGetters['FormalParameterElement']!, + ); + }, + ), + 'enclosingElement': Property( + getValue: (CT_ c) => c.enclosingElement, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = + _Renderer_ModelElement.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as ModelElement, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => c.enclosingElement == null, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_ModelElement( + c.enclosingElement!, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'hasDefaultValue': Property( + getValue: (CT_ c) => c.hasDefaultValue, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'bool'), + getBool: (CT_ c) => c.hasDefaultValue, + ), + 'hashCode': Property( + getValue: (CT_ c) => c.hashCode, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'int'), + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + renderSimple( + c.hashCode, + ast, + r.template, + sink, + parent: r, + getters: _invisibleGetters['int']!, + ); + }, + ), + 'href': Property( + getValue: (CT_ c) => c.href, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => c.href == null, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String(c.href!, ast, r.template, sink, parent: r); + }, + ), + 'htmlId': Property( + getValue: (CT_ c) => c.htmlId, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String( + c.htmlId, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'isCovariant': Property( + getValue: (CT_ c) => c.isCovariant, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'bool'), + getBool: (CT_ c) => c.isCovariant, + ), + 'isNamed': Property( + getValue: (CT_ c) => c.isNamed, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'bool'), + getBool: (CT_ c) => c.isNamed, + ), + 'isOptionalPositional': Property( + getValue: (CT_ c) => c.isOptionalPositional, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'bool'), + getBool: (CT_ c) => c.isOptionalPositional, + ), + 'isRequiredNamed': Property( + getValue: (CT_ c) => c.isRequiredNamed, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'bool'), + getBool: (CT_ c) => c.isRequiredNamed, + ), + 'isRequiredPositional': Property( + getValue: (CT_ c) => c.isRequiredPositional, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'bool'), + getBool: (CT_ c) => c.isRequiredPositional, + ), + 'kind': Property( + getValue: (CT_ c) => c.kind, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'Kind'), + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + renderSimple( + c.kind, + ast, + r.template, + sink, + parent: r, + getters: _invisibleGetters['Kind']!, + ); + }, + ), + 'modelType': Property( + getValue: (CT_ c) => c.modelType, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = + _Renderer_ElementType.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as ElementType, + nextProperty, + [...remainingNames.skip(1)], + ); }, - ) - as Map>; + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_ElementType( + c.modelType, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'originalMember': Property( + getValue: (CT_ c) => c.originalMember, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'ParameterMember', + ), + isNullValue: (CT_ c) => c.originalMember == null, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + renderSimple( + c.originalMember, + ast, + r.template, + sink, + parent: r, + getters: _invisibleGetters['ParameterMember']!, + ); + }, + ), + 'referenceChildren': Property( + getValue: (CT_ c) => c.referenceChildren, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'Map', + ), + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + renderSimple( + c.referenceChildren, + ast, + r.template, + sink, + parent: r, + getters: _invisibleGetters['Map']!, + ); + }, + ), + 'referenceParents': Property( + getValue: (CT_ c) => c.referenceParents, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'Iterable', + ), + renderIterable: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + return c.referenceParents.map( + (e) => renderSimple( + e, + ast, + r.template, + sink, + parent: r, + getters: _invisibleGetters['CommentReferable']!, + ), + ); + }, + ), + }, + ) as Map>; - _Renderer_PropertyTemplateData( - PropertyTemplateData context, + _Renderer_Parameter( + Parameter context, RendererBase? parent, Template template, StringSink sink, ) : super(context, parent, template, sink); @override - Property? getProperty(String key) { - if (propertyMap().containsKey(key)) { - return propertyMap()[key]; + Property? getProperty(String key) { + if (propertyMap().containsKey(key)) { + return propertyMap()[key]; } else { return null; } } } -class _Renderer_Rendered extends RendererBase { - static final Map _propertyMapCache = {}; - static Map> propertyMap() => - _propertyMapCache.putIfAbsent( - CT_, - () => { - 'linkedName': Property( - getValue: (CT_ c) => c.linkedName, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String( - c.linkedName, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'nameWithGenerics': Property( - getValue: (CT_ c) => c.nameWithGenerics, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String( - c.nameWithGenerics, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'nameWithGenericsPlain': Property( - getValue: (CT_ c) => c.nameWithGenericsPlain, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String( - c.nameWithGenericsPlain, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - }, - ) - as Map>; - - _Renderer_Rendered( - Rendered context, - RendererBase? parent, - Template template, - StringSink sink, - ) : super(context, parent, template, sink); - - @override - Property? getProperty(String key) { - if (propertyMap().containsKey(key)) { - return propertyMap()[key]; - } else { - return null; - } - } +void _render_ParameterizedElementType( + ParameterizedElementType context, + List ast, + Template template, + StringSink sink, { + RendererBase? parent, +}) { + var renderer = _Renderer_ParameterizedElementType( + context, + parent, + template, + sink, + ); + renderer.renderBlock(ast); } -class _Renderer_SourceCode extends RendererBase { +class _Renderer_ParameterizedElementType + extends RendererBase { static final Map _propertyMapCache = {}; - static Map> propertyMap() => - _propertyMapCache.putIfAbsent( + static Map> + propertyMap() => + _propertyMapCache.putIfAbsent( CT_, () => { - 'characterLocation': Property( - getValue: (CT_ c) => c.characterLocation, + ..._Renderer_DefinedElementType.propertyMap(), + ..._Renderer_Rendered.propertyMap(), + 'type': Property( + getValue: (CT_ c) => c.type, renderVariable: (CT_ c, Property self, List remainingNames) => self.renderSimpleVariable( - c, - remainingNames, - 'CharacterLocation', - ), - - isNullValue: (CT_ c) => c.characterLocation == null, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - renderSimple( - c.characterLocation, - ast, - r.template, - sink, - parent: r, - getters: _invisibleGetters['CharacterLocation']!, - ); - }, - ), - 'hasSourceCode': Property( - getValue: (CT_ c) => c.hasSourceCode, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'bool'), - - getBool: (CT_ c) => c.hasSourceCode, - ), - 'library': Property( - getValue: (CT_ c) => c.library, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_Library.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as Library, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => c.library == null, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_Library( - c.library!, - ast, - r.template, - sink, - parent: r, - ); - }, + c, + remainingNames, + 'ParameterizedType', + ), + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + renderSimple( + c.type, + ast, + r.template, + sink, + parent: r, + getters: _invisibleGetters['ParameterizedType']!, + ); + }, ), - 'modelNode': Property( - getValue: (CT_ c) => c.modelNode, + 'typeArguments': Property( + getValue: (CT_ c) => c.typeArguments, renderVariable: (CT_ c, Property self, List remainingNames) => self.renderSimpleVariable( - c, - remainingNames, - 'ModelNode', - ), - - isNullValue: (CT_ c) => c.modelNode == null, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - renderSimple( - c.modelNode, - ast, - r.template, - sink, - parent: r, - getters: _invisibleGetters['ModelNode']!, - ); - }, - ), - 'sourceCode': Property( - getValue: (CT_ c) => c.sourceCode, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String( - c.sourceCode, - ast, - r.template, - sink, - parent: r, - ); - }, + c, + remainingNames, + 'List', + ), + renderIterable: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + return c.typeArguments.map( + (e) => _render_ElementType( + e, + ast, + r.template, + sink, + parent: r, + ), + ); + }, ), }, - ) - as Map>; + ) as Map>; - _Renderer_SourceCode( - SourceCode context, + _Renderer_ParameterizedElementType( + ParameterizedElementType context, RendererBase? parent, Template template, StringSink sink, ) : super(context, parent, template, sink); @override - Property? getProperty(String key) { - if (propertyMap().containsKey(key)) { - return propertyMap()[key]; + Property? getProperty(String key) { + if (propertyMap().containsKey(key)) { + return propertyMap()[key]; } else { return null; } } } -void _render_String( - String context, +String renderProperty(PropertyTemplateData context, Template template) { + var buffer = StringBuffer(); + _render_PropertyTemplateData(context, template.ast, template, buffer); + return buffer.toString(); +} + +void _render_PropertyTemplateData( + PropertyTemplateData context, List ast, Template template, StringSink sink, { RendererBase? parent, }) { - var renderer = _Renderer_String(context, parent, template, sink); + var renderer = _Renderer_PropertyTemplateData( + context, + parent, + template, + sink, + ); renderer.renderBlock(ast); } -class _Renderer_String extends RendererBase { +class _Renderer_PropertyTemplateData + extends RendererBase { static final Map _propertyMapCache = {}; - static Map> propertyMap() => + static Map> propertyMap< + CT_ extends PropertyTemplateData>() => _propertyMapCache.putIfAbsent( - CT_, - () => { - ..._Renderer_Object.propertyMap(), - 'codeUnits': Property( - getValue: (CT_ c) => c.codeUnits, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'List', - ), - - renderIterable: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - return c.codeUnits.map( - (e) => renderSimple( - e, - ast, - r.template, - sink, - parent: r, - getters: _invisibleGetters['int']!, - ), - ); - }, - ), - 'hashCode': Property( - getValue: (CT_ c) => c.hashCode, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'int'), - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - renderSimple( - c.hashCode, - ast, - r.template, - sink, - parent: r, - getters: _invisibleGetters['int']!, - ); - }, - ), - 'isEmpty': Property( - getValue: (CT_ c) => c.isEmpty, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'bool'), - - getBool: (CT_ c) => c.isEmpty, - ), - 'isNotEmpty': Property( - getValue: (CT_ c) => c.isNotEmpty, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'bool'), - - getBool: (CT_ c) => c.isNotEmpty, - ), - 'length': Property( - getValue: (CT_ c) => c.length, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'int'), - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - renderSimple( - c.length, - ast, - r.template, - sink, - parent: r, - getters: _invisibleGetters['int']!, - ); - }, - ), - 'runes': Property( - getValue: (CT_ c) => c.runes, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'Runes'), - - renderIterable: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - return c.runes.map( - (e) => renderSimple( - e, - ast, - r.template, - sink, - parent: r, - getters: _invisibleGetters['int']!, - ), - ); - }, - ), + CT_, + () => { + ..._Renderer_TemplateData.propertyMap(), + ..._Renderer_TwoDirectoriesDown.propertyMap(), + 'container': Property( + getValue: (CT_ c) => c.container, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = + _Renderer_Container.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as Container, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_Container( + c.container, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'layoutTitle': Property( + getValue: (CT_ c) => c.layoutTitle, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String( + c.layoutTitle, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'library': Property( + getValue: (CT_ c) => c.library, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_Library.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as Library, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_Library( + c.library, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'metaDescription': Property( + getValue: (CT_ c) => c.metaDescription, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String( + c.metaDescription, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'navLinks': Property( + getValue: (CT_ c) => c.navLinks, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'List', + ), + renderIterable: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + return c.navLinks.map( + (e) => _render_Documentable( + e, + ast, + r.template, + sink, + parent: r, + ), + ); + }, + ), + 'navLinksWithGenerics': Property( + getValue: (CT_ c) => c.navLinksWithGenerics, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'List', + ), + renderIterable: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + return c.navLinksWithGenerics.map( + (e) => _render_Container( + e, + ast, + r.template, + sink, + parent: r, + ), + ); + }, + ), + 'property': Property( + getValue: (CT_ c) => c.property, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_Field.propertyMap().getValue( + name, + ); + return nextProperty.renderVariable( + self.getValue(c) as Field, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_Field( + c.property, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'self': Property( + getValue: (CT_ c) => c.self, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_Field.propertyMap().getValue( + name, + ); + return nextProperty.renderVariable( + self.getValue(c) as Field, + nextProperty, + [...remainingNames.skip(1)], + ); }, - ) - as Map>; + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_Field(c.self, ast, r.template, sink, parent: r); + }, + ), + 'title': Property( + getValue: (CT_ c) => c.title, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String(c.title, ast, r.template, sink, parent: r); + }, + ), + }, + ) as Map>; - _Renderer_String( - String context, + _Renderer_PropertyTemplateData( + PropertyTemplateData context, RendererBase? parent, Template template, StringSink sink, ) : super(context, parent, template, sink); @override - Property? getProperty(String key) { - if (propertyMap().containsKey(key)) { - return propertyMap()[key]; + Property? getProperty(String key) { + if (propertyMap().containsKey(key)) { + return propertyMap()[key]; } else { return null; } } } -class _Renderer_TemplateData - extends RendererBase> { +class _Renderer_Rendered extends RendererBase { static final Map _propertyMapCache = {}; - static Map> - propertyMap() => + static Map> propertyMap() => _propertyMapCache.putIfAbsent( - CT_, - () => { - ..._Renderer_TemplateDataBase.propertyMap(), - 'aboveSidebarPath': Property( - getValue: (CT_ c) => c.aboveSidebarPath, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => c.aboveSidebarPath == null, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String( - c.aboveSidebarPath!, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'belowSidebarPath': Property( - getValue: (CT_ c) => c.belowSidebarPath, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => c.belowSidebarPath == null, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String( - c.belowSidebarPath!, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'self': Property( - getValue: (CT_ c) => c.self, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_Documentable.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as Documentable, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_Documentable( - c.self, - ast, - r.template, - sink, - parent: r, - ); - }, - ), + CT_, + () => { + 'linkedName': Property( + getValue: (CT_ c) => c.linkedName, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String( + c.linkedName, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'nameWithGenerics': Property( + getValue: (CT_ c) => c.nameWithGenerics, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String( + c.nameWithGenerics, + ast, + r.template, + sink, + parent: r, + ); }, - ) - as Map>; + ), + 'nameWithGenericsPlain': Property( + getValue: (CT_ c) => c.nameWithGenericsPlain, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String( + c.nameWithGenericsPlain, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + }, + ) as Map>; - _Renderer_TemplateData( - TemplateData context, + _Renderer_Rendered( + Rendered context, RendererBase? parent, Template template, StringSink sink, ) : super(context, parent, template, sink); @override - Property>? getProperty(String key) { - if (propertyMap>().containsKey(key)) { - return propertyMap>()[key]; + Property? getProperty(String key) { + if (propertyMap().containsKey(key)) { + return propertyMap()[key]; } else { return null; } } } -class _Renderer_TemplateDataBase extends RendererBase { +class _Renderer_SourceCode extends RendererBase { static final Map _propertyMapCache = {}; - static Map> - propertyMap() => + static Map> propertyMap() => _propertyMapCache.putIfAbsent( - CT_, - () => { - ..._Renderer_Object.propertyMap(), - 'bareHref': Property( - getValue: (CT_ c) => c.bareHref, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String( - c.bareHref, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'customFooter': Property( - getValue: (CT_ c) => c.customFooter, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String( - c.customFooter, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'customHeader': Property( - getValue: (CT_ c) => c.customHeader, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String( - c.customHeader, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'customInnerFooter': Property( - getValue: (CT_ c) => c.customInnerFooter, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String( - c.customInnerFooter, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'defaultPackage': Property( - getValue: (CT_ c) => c.defaultPackage, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_Package.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as Package, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_Package( - c.defaultPackage, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'hasFooterVersion': Property( - getValue: (CT_ c) => c.hasFooterVersion, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'bool'), - - getBool: (CT_ c) => c.hasFooterVersion, - ), - 'hasHomepage': Property( - getValue: (CT_ c) => c.hasHomepage, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'bool'), - - getBool: (CT_ c) => c.hasHomepage, - ), - 'homepage': Property( - getValue: (CT_ c) => c.homepage, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => c.homepage == null, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String( - c.homepage!, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'htmlBase': Property( - getValue: (CT_ c) => c.htmlBase, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String( - c.htmlBase, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'htmlOptions': Property( - getValue: (CT_ c) => c.htmlOptions, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'TemplateOptions', - ), - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - renderSimple( - c.htmlOptions, - ast, - r.template, - sink, - parent: r, - getters: _invisibleGetters['TemplateOptions']!, - ); - }, - ), - 'includeVersion': Property( - getValue: (CT_ c) => c.includeVersion, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'bool'), + CT_, + () => { + 'characterLocation': Property( + getValue: (CT_ c) => c.characterLocation, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'CharacterLocation', + ), + isNullValue: (CT_ c) => c.characterLocation == null, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + renderSimple( + c.characterLocation, + ast, + r.template, + sink, + parent: r, + getters: _invisibleGetters['CharacterLocation']!, + ); + }, + ), + 'hasSourceCode': Property( + getValue: (CT_ c) => c.hasSourceCode, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'bool'), + getBool: (CT_ c) => c.hasSourceCode, + ), + 'library': Property( + getValue: (CT_ c) => c.library, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_Library.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as Library, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => c.library == null, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_Library( + c.library!, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'modelNode': Property( + getValue: (CT_ c) => c.modelNode, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'ModelNode', + ), + isNullValue: (CT_ c) => c.modelNode == null, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + renderSimple( + c.modelNode, + ast, + r.template, + sink, + parent: r, + getters: _invisibleGetters['ModelNode']!, + ); + }, + ), + 'sourceCode': Property( + getValue: (CT_ c) => c.sourceCode, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String( + c.sourceCode, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + }, + ) as Map>; - getBool: (CT_ c) => c.includeVersion, - ), - 'isParentExtension': Property( - getValue: (CT_ c) => c.isParentExtension, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'bool'), + _Renderer_SourceCode( + SourceCode context, + RendererBase? parent, + Template template, + StringSink sink, + ) : super(context, parent, template, sink); - getBool: (CT_ c) => c.isParentExtension, - ), - 'layoutTitle': Property( - getValue: (CT_ c) => c.layoutTitle, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, + @override + Property? getProperty(String key) { + if (propertyMap().containsKey(key)) { + return propertyMap()[key]; + } else { + return null; + } + } +} - isNullValue: (CT_ c) => false, +void _render_String( + String context, + List ast, + Template template, + StringSink sink, { + RendererBase? parent, +}) { + var renderer = _Renderer_String(context, parent, template, sink); + renderer.renderBlock(ast); +} - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String( - c.layoutTitle, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'localPackages': Property( - getValue: (CT_ c) => c.localPackages, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'List', - ), - - renderIterable: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - return c.localPackages.map( - (e) => _render_Package( - e, - ast, - r.template, - sink, - parent: r, - ), - ); - }, - ), - 'metaDescription': Property( - getValue: (CT_ c) => c.metaDescription, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, +class _Renderer_String extends RendererBase { + static final Map _propertyMapCache = {}; + static Map> propertyMap() => + _propertyMapCache.putIfAbsent( + CT_, + () => { + ..._Renderer_Object.propertyMap(), + 'codeUnits': Property( + getValue: (CT_ c) => c.codeUnits, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'List', + ), + renderIterable: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + return c.codeUnits.map( + (e) => renderSimple( + e, + ast, + r.template, + sink, + parent: r, + getters: _invisibleGetters['int']!, + ), + ); + }, + ), + 'hashCode': Property( + getValue: (CT_ c) => c.hashCode, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'int'), + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + renderSimple( + c.hashCode, + ast, + r.template, + sink, + parent: r, + getters: _invisibleGetters['int']!, + ); + }, + ), + 'isEmpty': Property( + getValue: (CT_ c) => c.isEmpty, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'bool'), + getBool: (CT_ c) => c.isEmpty, + ), + 'isNotEmpty': Property( + getValue: (CT_ c) => c.isNotEmpty, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'bool'), + getBool: (CT_ c) => c.isNotEmpty, + ), + 'length': Property( + getValue: (CT_ c) => c.length, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'int'), + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + renderSimple( + c.length, + ast, + r.template, + sink, + parent: r, + getters: _invisibleGetters['int']!, + ); + }, + ), + 'runes': Property( + getValue: (CT_ c) => c.runes, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'Runes'), + renderIterable: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + return c.runes.map( + (e) => renderSimple( + e, + ast, + r.template, + sink, + parent: r, + getters: _invisibleGetters['int']!, + ), + ); + }, + ), + }, + ) as Map>; - isNullValue: (CT_ c) => false, + _Renderer_String( + String context, + RendererBase? parent, + Template template, + StringSink sink, + ) : super(context, parent, template, sink); - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String( - c.metaDescription, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'navLinks': Property( - getValue: (CT_ c) => c.navLinks, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'List', - ), - - renderIterable: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - return c.navLinks.map( - (e) => _render_Documentable( - e, - ast, - r.template, - sink, - parent: r, - ), - ); - }, - ), - 'navLinksWithGenerics': Property( - getValue: (CT_ c) => c.navLinksWithGenerics, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'List', - ), - - renderIterable: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - return c.navLinksWithGenerics.map( - (e) => _render_Container( - e, - ast, - r.template, - sink, - parent: r, - ), - ); - }, - ), - 'parent': Property( - getValue: (CT_ c) => c.parent, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_Documentable.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as Documentable, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => c.parent == null, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_Documentable( - c.parent!, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'parentAsExtension': Property( - getValue: (CT_ c) => c.parentAsExtension, + @override + Property? getProperty(String key) { + if (propertyMap().containsKey(key)) { + return propertyMap()[key]; + } else { + return null; + } + } +} + +class _Renderer_TemplateData + extends RendererBase> { + static final Map _propertyMapCache = {}; + static Map> + propertyMap() => + _propertyMapCache.putIfAbsent( + CT_, + () => { + ..._Renderer_TemplateDataBase.propertyMap(), + 'aboveSidebarPath': Property( + getValue: (CT_ c) => c.aboveSidebarPath, renderVariable: (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_Extension.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as Extension, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_Extension( - c.parentAsExtension, - ast, - r.template, - sink, - parent: r, - ); - }, + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = + _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => c.aboveSidebarPath == null, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String( + c.aboveSidebarPath!, + ast, + r.template, + sink, + parent: r, + ); + }, ), - 'relCanonicalPrefix': Property( - getValue: (CT_ c) => c.relCanonicalPrefix, + 'belowSidebarPath': Property( + getValue: (CT_ c) => c.belowSidebarPath, renderVariable: (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => c.relCanonicalPrefix == null, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String( - c.relCanonicalPrefix!, - ast, - r.template, - sink, - parent: r, - ); - }, + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = + _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => c.belowSidebarPath == null, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String( + c.belowSidebarPath!, + ast, + r.template, + sink, + parent: r, + ); + }, ), 'self': Property( getValue: (CT_ c) => c.self, renderVariable: (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_Documentable.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as Documentable, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_Documentable( - c.self, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'title': Property( - getValue: (CT_ c) => c.title, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String(c.title, ast, r.template, sink, parent: r); - }, + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = + _Renderer_Documentable.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as Documentable, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_Documentable( + c.self, + ast, + r.template, + sink, + parent: r, + ); + }, ), - 'useBaseHref': Property( - getValue: (CT_ c) => c.useBaseHref, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'bool'), + }, + ) as Map>; - getBool: (CT_ c) => c.useBaseHref, - ), - 'version': Property( - getValue: (CT_ c) => c.version, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, + _Renderer_TemplateData( + TemplateData context, + RendererBase? parent, + Template template, + StringSink sink, + ) : super(context, parent, template, sink); - isNullValue: (CT_ c) => false, + @override + Property>? getProperty(String key) { + if (propertyMap>().containsKey(key)) { + return propertyMap>()[key]; + } else { + return null; + } + } +} - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String( - c.version, - ast, - r.template, - sink, - parent: r, - ); - }, - ), +class _Renderer_TemplateDataBase extends RendererBase { + static final Map _propertyMapCache = {}; + static Map> propertyMap< + CT_ extends TemplateDataBase>() => + _propertyMapCache.putIfAbsent( + CT_, + () => { + ..._Renderer_Object.propertyMap(), + 'bareHref': Property( + getValue: (CT_ c) => c.bareHref, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String( + c.bareHref, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'customFooter': Property( + getValue: (CT_ c) => c.customFooter, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String( + c.customFooter, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'customHeader': Property( + getValue: (CT_ c) => c.customHeader, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String( + c.customHeader, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'customInnerFooter': Property( + getValue: (CT_ c) => c.customInnerFooter, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String( + c.customInnerFooter, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'defaultPackage': Property( + getValue: (CT_ c) => c.defaultPackage, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_Package.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as Package, + nextProperty, + [...remainingNames.skip(1)], + ); }, - ) - as Map>; + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_Package( + c.defaultPackage, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'hasFooterVersion': Property( + getValue: (CT_ c) => c.hasFooterVersion, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'bool'), + getBool: (CT_ c) => c.hasFooterVersion, + ), + 'hasHomepage': Property( + getValue: (CT_ c) => c.hasHomepage, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'bool'), + getBool: (CT_ c) => c.hasHomepage, + ), + 'homepage': Property( + getValue: (CT_ c) => c.homepage, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => c.homepage == null, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String( + c.homepage!, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'htmlBase': Property( + getValue: (CT_ c) => c.htmlBase, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String( + c.htmlBase, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'htmlOptions': Property( + getValue: (CT_ c) => c.htmlOptions, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'TemplateOptions', + ), + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + renderSimple( + c.htmlOptions, + ast, + r.template, + sink, + parent: r, + getters: _invisibleGetters['TemplateOptions']!, + ); + }, + ), + 'includeVersion': Property( + getValue: (CT_ c) => c.includeVersion, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'bool'), + getBool: (CT_ c) => c.includeVersion, + ), + 'isParentExtension': Property( + getValue: (CT_ c) => c.isParentExtension, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'bool'), + getBool: (CT_ c) => c.isParentExtension, + ), + 'layoutTitle': Property( + getValue: (CT_ c) => c.layoutTitle, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String( + c.layoutTitle, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'localPackages': Property( + getValue: (CT_ c) => c.localPackages, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'List', + ), + renderIterable: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + return c.localPackages.map( + (e) => _render_Package( + e, + ast, + r.template, + sink, + parent: r, + ), + ); + }, + ), + 'metaDescription': Property( + getValue: (CT_ c) => c.metaDescription, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String( + c.metaDescription, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'navLinks': Property( + getValue: (CT_ c) => c.navLinks, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'List', + ), + renderIterable: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + return c.navLinks.map( + (e) => _render_Documentable( + e, + ast, + r.template, + sink, + parent: r, + ), + ); + }, + ), + 'navLinksWithGenerics': Property( + getValue: (CT_ c) => c.navLinksWithGenerics, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'List', + ), + renderIterable: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + return c.navLinksWithGenerics.map( + (e) => _render_Container( + e, + ast, + r.template, + sink, + parent: r, + ), + ); + }, + ), + 'parent': Property( + getValue: (CT_ c) => c.parent, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = + _Renderer_Documentable.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as Documentable, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => c.parent == null, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_Documentable( + c.parent!, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'parentAsExtension': Property( + getValue: (CT_ c) => c.parentAsExtension, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = + _Renderer_Extension.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as Extension, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_Extension( + c.parentAsExtension, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'relCanonicalPrefix': Property( + getValue: (CT_ c) => c.relCanonicalPrefix, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => c.relCanonicalPrefix == null, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String( + c.relCanonicalPrefix!, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'self': Property( + getValue: (CT_ c) => c.self, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = + _Renderer_Documentable.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as Documentable, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_Documentable( + c.self, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'title': Property( + getValue: (CT_ c) => c.title, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String(c.title, ast, r.template, sink, parent: r); + }, + ), + 'useBaseHref': Property( + getValue: (CT_ c) => c.useBaseHref, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'bool'), + getBool: (CT_ c) => c.useBaseHref, + ), + 'version': Property( + getValue: (CT_ c) => c.version, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String( + c.version, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + }, + ) as Map>; _Renderer_TemplateDataBase( TemplateDataBase context, @@ -22498,52 +20319,46 @@ void _render_TemplateDataWithContainer( class _Renderer_TemplateDataWithContainer extends RendererBase> { static final Map _propertyMapCache = {}; - static Map> propertyMap< - T extends Documentable, - CT_ extends TemplateDataWithContainer - >() => + static Map> propertyMap() => _propertyMapCache.putIfAbsent( - CT_, - () => { - ..._Renderer_Object.propertyMap(), - 'container': Property( - getValue: (CT_ c) => c.container, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_Container.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as Container, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_Container( - c.container, - ast, - r.template, - sink, - parent: r, - ); - }, - ), + CT_, + () => { + ..._Renderer_Object.propertyMap(), + 'container': Property( + getValue: (CT_ c) => c.container, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = + _Renderer_Container.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as Container, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_Container( + c.container, + ast, + r.template, + sink, + parent: r, + ); }, - ) - as Map>; + ), + }, + ) as Map>; _Renderer_TemplateDataWithContainer( TemplateDataWithContainer context, @@ -22590,50 +20405,45 @@ void _render_TemplateDataWithLibrary( class _Renderer_TemplateDataWithLibrary extends RendererBase> { static final Map _propertyMapCache = {}; - static Map> - propertyMap() => + static Map> propertyMap() => _propertyMapCache.putIfAbsent( - CT_, - () => { - ..._Renderer_Object.propertyMap(), - 'library': Property( - getValue: (CT_ c) => c.library, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_Library.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as Library, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_Library( - c.library, - ast, - r.template, - sink, - parent: r, - ); - }, - ), + CT_, + () => { + ..._Renderer_Object.propertyMap(), + 'library': Property( + getValue: (CT_ c) => c.library, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_Library.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as Library, + nextProperty, + [...remainingNames.skip(1)], + ); }, - ) - as Map>; + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_Library( + c.library, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + }, + ) as Map>; _Renderer_TemplateDataWithLibrary( TemplateDataWithLibrary context, @@ -22655,8 +20465,8 @@ class _Renderer_TemplateDataWithLibrary class _Renderer_TopLevelContainer extends RendererBase { static final Map _propertyMapCache = {}; static Map> - propertyMap() => - _propertyMapCache.putIfAbsent( + propertyMap() => + _propertyMapCache.putIfAbsent( CT_, () => { 'classes': Property( @@ -22664,188 +20474,170 @@ class _Renderer_TopLevelContainer extends RendererBase { renderVariable: (CT_ c, Property self, List remainingNames) => self.renderSimpleVariable( - c, - remainingNames, - 'Iterable', - ), - - renderIterable: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - return c.classes.map( - (e) => - _render_Class(e, ast, r.template, sink, parent: r), - ); - }, + c, + remainingNames, + 'Iterable', + ), + renderIterable: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + return c.classes.map( + (e) => _render_Class(e, ast, r.template, sink, parent: r), + ); + }, ), 'constants': Property( getValue: (CT_ c) => c.constants, renderVariable: (CT_ c, Property self, List remainingNames) => self.renderSimpleVariable( - c, - remainingNames, - 'Iterable', - ), - - renderIterable: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - return c.constants.map( - (e) => _render_TopLevelVariable( - e, - ast, - r.template, - sink, - parent: r, - ), - ); - }, + c, + remainingNames, + 'Iterable', + ), + renderIterable: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + return c.constants.map( + (e) => _render_TopLevelVariable( + e, + ast, + r.template, + sink, + parent: r, + ), + ); + }, ), 'enums': Property( getValue: (CT_ c) => c.enums, renderVariable: (CT_ c, Property self, List remainingNames) => self.renderSimpleVariable( - c, - remainingNames, - 'Iterable', - ), - - renderIterable: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - return c.enums.map( - (e) => - _render_Enum(e, ast, r.template, sink, parent: r), - ); - }, + c, + remainingNames, + 'Iterable', + ), + renderIterable: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + return c.enums.map( + (e) => _render_Enum(e, ast, r.template, sink, parent: r), + ); + }, ), 'exceptions': Property( getValue: (CT_ c) => c.exceptions, renderVariable: (CT_ c, Property self, List remainingNames) => self.renderSimpleVariable( - c, - remainingNames, - 'Iterable', - ), - - renderIterable: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - return c.exceptions.map( - (e) => - _render_Class(e, ast, r.template, sink, parent: r), - ); - }, + c, + remainingNames, + 'Iterable', + ), + renderIterable: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + return c.exceptions.map( + (e) => _render_Class(e, ast, r.template, sink, parent: r), + ); + }, ), 'extensionTypes': Property( getValue: (CT_ c) => c.extensionTypes, renderVariable: (CT_ c, Property self, List remainingNames) => self.renderSimpleVariable( - c, - remainingNames, - 'Iterable', - ), - - renderIterable: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - return c.extensionTypes.map( - (e) => _render_ExtensionType( - e, - ast, - r.template, - sink, - parent: r, - ), - ); - }, + c, + remainingNames, + 'Iterable', + ), + renderIterable: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + return c.extensionTypes.map( + (e) => _render_ExtensionType( + e, + ast, + r.template, + sink, + parent: r, + ), + ); + }, ), 'extensions': Property( getValue: (CT_ c) => c.extensions, renderVariable: (CT_ c, Property self, List remainingNames) => self.renderSimpleVariable( - c, - remainingNames, - 'Iterable', - ), - - renderIterable: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - return c.extensions.map( - (e) => _render_Extension( - e, - ast, - r.template, - sink, - parent: r, - ), - ); - }, + c, + remainingNames, + 'Iterable', + ), + renderIterable: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + return c.extensions.map( + (e) => _render_Extension( + e, + ast, + r.template, + sink, + parent: r, + ), + ); + }, ), 'functions': Property( getValue: (CT_ c) => c.functions, renderVariable: (CT_ c, Property self, List remainingNames) => self.renderSimpleVariable( - c, - remainingNames, - 'Iterable', - ), - - renderIterable: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - return c.functions.map( - (e) => _render_ModelFunction( - e, - ast, - r.template, - sink, - parent: r, - ), - ); - }, + c, + remainingNames, + 'Iterable', + ), + renderIterable: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + return c.functions.map( + (e) => _render_ModelFunction( + e, + ast, + r.template, + sink, + parent: r, + ), + ); + }, ), 'hasPublicClasses': Property( getValue: (CT_ c) => c.hasPublicClasses, renderVariable: (CT_ c, Property self, List remainingNames) => self.renderSimpleVariable(c, remainingNames, 'bool'), - getBool: (CT_ c) => c.hasPublicClasses, ), 'hasPublicConstants': Property( @@ -22853,7 +20645,6 @@ class _Renderer_TopLevelContainer extends RendererBase { renderVariable: (CT_ c, Property self, List remainingNames) => self.renderSimpleVariable(c, remainingNames, 'bool'), - getBool: (CT_ c) => c.hasPublicConstants, ), 'hasPublicEnums': Property( @@ -22861,7 +20652,6 @@ class _Renderer_TopLevelContainer extends RendererBase { renderVariable: (CT_ c, Property self, List remainingNames) => self.renderSimpleVariable(c, remainingNames, 'bool'), - getBool: (CT_ c) => c.hasPublicEnums, ), 'hasPublicExceptions': Property( @@ -22869,7 +20659,6 @@ class _Renderer_TopLevelContainer extends RendererBase { renderVariable: (CT_ c, Property self, List remainingNames) => self.renderSimpleVariable(c, remainingNames, 'bool'), - getBool: (CT_ c) => c.hasPublicExceptions, ), 'hasPublicExtensionTypes': Property( @@ -22877,7 +20666,6 @@ class _Renderer_TopLevelContainer extends RendererBase { renderVariable: (CT_ c, Property self, List remainingNames) => self.renderSimpleVariable(c, remainingNames, 'bool'), - getBool: (CT_ c) => c.hasPublicExtensionTypes, ), 'hasPublicExtensions': Property( @@ -22885,7 +20673,6 @@ class _Renderer_TopLevelContainer extends RendererBase { renderVariable: (CT_ c, Property self, List remainingNames) => self.renderSimpleVariable(c, remainingNames, 'bool'), - getBool: (CT_ c) => c.hasPublicExtensions, ), 'hasPublicFunctions': Property( @@ -22893,7 +20680,6 @@ class _Renderer_TopLevelContainer extends RendererBase { renderVariable: (CT_ c, Property self, List remainingNames) => self.renderSimpleVariable(c, remainingNames, 'bool'), - getBool: (CT_ c) => c.hasPublicFunctions, ), 'hasPublicMixins': Property( @@ -22901,7 +20687,6 @@ class _Renderer_TopLevelContainer extends RendererBase { renderVariable: (CT_ c, Property self, List remainingNames) => self.renderSimpleVariable(c, remainingNames, 'bool'), - getBool: (CT_ c) => c.hasPublicMixins, ), 'hasPublicProperties': Property( @@ -22909,7 +20694,6 @@ class _Renderer_TopLevelContainer extends RendererBase { renderVariable: (CT_ c, Property self, List remainingNames) => self.renderSimpleVariable(c, remainingNames, 'bool'), - getBool: (CT_ c) => c.hasPublicProperties, ), 'hasPublicTypedefs': Property( @@ -22917,7 +20701,6 @@ class _Renderer_TopLevelContainer extends RendererBase { renderVariable: (CT_ c, Property self, List remainingNames) => self.renderSimpleVariable(c, remainingNames, 'bool'), - getBool: (CT_ c) => c.hasPublicTypedefs, ), 'mixins': Property( @@ -22925,348 +20708,317 @@ class _Renderer_TopLevelContainer extends RendererBase { renderVariable: (CT_ c, Property self, List remainingNames) => self.renderSimpleVariable( - c, - remainingNames, - 'Iterable', - ), - - renderIterable: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - return c.mixins.map( - (e) => - _render_Mixin(e, ast, r.template, sink, parent: r), - ); - }, + c, + remainingNames, + 'Iterable', + ), + renderIterable: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + return c.mixins.map( + (e) => _render_Mixin(e, ast, r.template, sink, parent: r), + ); + }, ), 'properties': Property( getValue: (CT_ c) => c.properties, renderVariable: (CT_ c, Property self, List remainingNames) => self.renderSimpleVariable( - c, - remainingNames, - 'Iterable', - ), - - renderIterable: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - return c.properties.map( - (e) => _render_TopLevelVariable( - e, - ast, - r.template, - sink, - parent: r, - ), - ); - }, + c, + remainingNames, + 'Iterable', + ), + renderIterable: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + return c.properties.map( + (e) => _render_TopLevelVariable( + e, + ast, + r.template, + sink, + parent: r, + ), + ); + }, ), 'publicClassesSorted': Property( getValue: (CT_ c) => c.publicClassesSorted, renderVariable: (CT_ c, Property self, List remainingNames) => self.renderSimpleVariable( - c, - remainingNames, - 'List', - ), - - renderIterable: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - return c.publicClassesSorted.map( - (e) => _render_Container( - e, - ast, - r.template, - sink, - parent: r, - ), - ); - }, + c, + remainingNames, + 'List', + ), + renderIterable: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + return c.publicClassesSorted.map( + (e) => _render_Container( + e, + ast, + r.template, + sink, + parent: r, + ), + ); + }, ), 'publicConstantsSorted': Property( getValue: (CT_ c) => c.publicConstantsSorted, renderVariable: (CT_ c, Property self, List remainingNames) => self.renderSimpleVariable( - c, - remainingNames, - 'List', - ), - - renderIterable: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - return c.publicConstantsSorted.map( - (e) => _render_TopLevelVariable( - e, - ast, - r.template, - sink, - parent: r, - ), - ); - }, + c, + remainingNames, + 'List', + ), + renderIterable: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + return c.publicConstantsSorted.map( + (e) => _render_TopLevelVariable( + e, + ast, + r.template, + sink, + parent: r, + ), + ); + }, ), 'publicEnumsSorted': Property( getValue: (CT_ c) => c.publicEnumsSorted, renderVariable: (CT_ c, Property self, List remainingNames) => self.renderSimpleVariable( - c, - remainingNames, - 'List', - ), - - renderIterable: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - return c.publicEnumsSorted.map( - (e) => - _render_Enum(e, ast, r.template, sink, parent: r), - ); - }, + c, + remainingNames, + 'List', + ), + renderIterable: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + return c.publicEnumsSorted.map( + (e) => _render_Enum(e, ast, r.template, sink, parent: r), + ); + }, ), 'publicExceptionsSorted': Property( getValue: (CT_ c) => c.publicExceptionsSorted, renderVariable: (CT_ c, Property self, List remainingNames) => self.renderSimpleVariable( - c, - remainingNames, - 'List', - ), - - renderIterable: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - return c.publicExceptionsSorted.map( - (e) => - _render_Class(e, ast, r.template, sink, parent: r), - ); - }, + c, + remainingNames, + 'List', + ), + renderIterable: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + return c.publicExceptionsSorted.map( + (e) => _render_Class(e, ast, r.template, sink, parent: r), + ); + }, ), 'publicExtensionTypesSorted': Property( getValue: (CT_ c) => c.publicExtensionTypesSorted, renderVariable: (CT_ c, Property self, List remainingNames) => self.renderSimpleVariable( - c, - remainingNames, - 'List', - ), - - renderIterable: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - return c.publicExtensionTypesSorted.map( - (e) => _render_ExtensionType( - e, - ast, - r.template, - sink, - parent: r, - ), - ); - }, + c, + remainingNames, + 'List', + ), + renderIterable: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + return c.publicExtensionTypesSorted.map( + (e) => _render_ExtensionType( + e, + ast, + r.template, + sink, + parent: r, + ), + ); + }, ), 'publicExtensionsSorted': Property( getValue: (CT_ c) => c.publicExtensionsSorted, renderVariable: (CT_ c, Property self, List remainingNames) => self.renderSimpleVariable( - c, - remainingNames, - 'List', - ), - - renderIterable: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - return c.publicExtensionsSorted.map( - (e) => _render_Extension( - e, - ast, - r.template, - sink, - parent: r, - ), - ); - }, + c, + remainingNames, + 'List', + ), + renderIterable: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + return c.publicExtensionsSorted.map( + (e) => _render_Extension( + e, + ast, + r.template, + sink, + parent: r, + ), + ); + }, ), 'publicFunctionsSorted': Property( getValue: (CT_ c) => c.publicFunctionsSorted, renderVariable: (CT_ c, Property self, List remainingNames) => self.renderSimpleVariable( - c, - remainingNames, - 'List', - ), - - renderIterable: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - return c.publicFunctionsSorted.map( - (e) => _render_ModelFunctionTyped( - e, - ast, - r.template, - sink, - parent: r, - ), - ); - }, + c, + remainingNames, + 'List', + ), + renderIterable: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + return c.publicFunctionsSorted.map( + (e) => _render_ModelFunctionTyped( + e, + ast, + r.template, + sink, + parent: r, + ), + ); + }, ), 'publicMixinsSorted': Property( getValue: (CT_ c) => c.publicMixinsSorted, renderVariable: (CT_ c, Property self, List remainingNames) => self.renderSimpleVariable( - c, - remainingNames, - 'List', - ), - - renderIterable: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - return c.publicMixinsSorted.map( - (e) => - _render_Mixin(e, ast, r.template, sink, parent: r), - ); - }, + c, + remainingNames, + 'List', + ), + renderIterable: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + return c.publicMixinsSorted.map( + (e) => _render_Mixin(e, ast, r.template, sink, parent: r), + ); + }, ), 'publicPropertiesSorted': Property( getValue: (CT_ c) => c.publicPropertiesSorted, renderVariable: (CT_ c, Property self, List remainingNames) => self.renderSimpleVariable( - c, - remainingNames, - 'List', - ), - - renderIterable: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - return c.publicPropertiesSorted.map( - (e) => _render_TopLevelVariable( - e, - ast, - r.template, - sink, - parent: r, - ), - ); - }, + c, + remainingNames, + 'List', + ), + renderIterable: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + return c.publicPropertiesSorted.map( + (e) => _render_TopLevelVariable( + e, + ast, + r.template, + sink, + parent: r, + ), + ); + }, ), 'publicTypedefsSorted': Property( getValue: (CT_ c) => c.publicTypedefsSorted, renderVariable: (CT_ c, Property self, List remainingNames) => self.renderSimpleVariable( - c, - remainingNames, - 'List', - ), - - renderIterable: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - return c.publicTypedefsSorted.map( - (e) => _render_Typedef( - e, - ast, - r.template, - sink, - parent: r, - ), - ); - }, + c, + remainingNames, + 'List', + ), + renderIterable: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + return c.publicTypedefsSorted.map( + (e) => _render_Typedef( + e, + ast, + r.template, + sink, + parent: r, + ), + ); + }, ), 'typedefs': Property( getValue: (CT_ c) => c.typedefs, renderVariable: (CT_ c, Property self, List remainingNames) => self.renderSimpleVariable( - c, - remainingNames, - 'Iterable', - ), - - renderIterable: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - return c.typedefs.map( - (e) => _render_Typedef( - e, - ast, - r.template, - sink, - parent: r, - ), - ); - }, + c, + remainingNames, + 'Iterable', + ), + renderIterable: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + return c.typedefs.map( + (e) => _render_Typedef( + e, + ast, + r.template, + sink, + parent: r, + ), + ); + }, ), }, - ) - as Map>; + ) as Map>; _Renderer_TopLevelContainer( TopLevelContainer context, @@ -23285,283 +21037,255 @@ class _Renderer_TopLevelContainer extends RendererBase { } } -String renderTopLevelProperty( - TopLevelPropertyTemplateData context, - Template template, -) { - var buffer = StringBuffer(); - _render_TopLevelPropertyTemplateData(context, template.ast, template, buffer); - return buffer.toString(); -} - -void _render_TopLevelPropertyTemplateData( - TopLevelPropertyTemplateData context, - List ast, - Template template, - StringSink sink, { - RendererBase? parent, -}) { - var renderer = _Renderer_TopLevelPropertyTemplateData( - context, - parent, - template, - sink, - ); - renderer.renderBlock(ast); -} - -class _Renderer_TopLevelPropertyTemplateData - extends RendererBase { - static final Map _propertyMapCache = {}; - static Map> - propertyMap() => - _propertyMapCache.putIfAbsent( - CT_, - () => { - ..._Renderer_TemplateData.propertyMap(), - ..._Renderer_OneDirectoryDown.propertyMap< - TopLevelVariable, - CT_ - >(), - 'layoutTitle': Property( - getValue: (CT_ c) => c.layoutTitle, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String( - c.layoutTitle, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'library': Property( - getValue: (CT_ c) => c.library, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_Library.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as Library, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_Library( - c.library, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'metaDescription': Property( - getValue: (CT_ c) => c.metaDescription, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String( - c.metaDescription, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'navLinks': Property( - getValue: (CT_ c) => c.navLinks, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'List', - ), - - renderIterable: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - return c.navLinks.map( - (e) => _render_Documentable( - e, - ast, - r.template, - sink, - parent: r, - ), - ); - }, - ), - 'property': Property( - getValue: (CT_ c) => c.property, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = - _Renderer_TopLevelVariable.propertyMap().getValue( - name, - ); - return nextProperty.renderVariable( - self.getValue(c) as TopLevelVariable, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_TopLevelVariable( - c.property, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'self': Property( - getValue: (CT_ c) => c.self, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = - _Renderer_TopLevelVariable.propertyMap().getValue( - name, - ); - return nextProperty.renderVariable( - self.getValue(c) as TopLevelVariable, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_TopLevelVariable( - c.self, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'title': Property( - getValue: (CT_ c) => c.title, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, +String renderTopLevelProperty( + TopLevelPropertyTemplateData context, + Template template, +) { + var buffer = StringBuffer(); + _render_TopLevelPropertyTemplateData(context, template.ast, template, buffer); + return buffer.toString(); +} - isNullValue: (CT_ c) => false, +void _render_TopLevelPropertyTemplateData( + TopLevelPropertyTemplateData context, + List ast, + Template template, + StringSink sink, { + RendererBase? parent, +}) { + var renderer = _Renderer_TopLevelPropertyTemplateData( + context, + parent, + template, + sink, + ); + renderer.renderBlock(ast); +} - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String(c.title, ast, r.template, sink, parent: r); - }, - ), +class _Renderer_TopLevelPropertyTemplateData + extends RendererBase { + static final Map _propertyMapCache = {}; + static Map> propertyMap< + CT_ extends TopLevelPropertyTemplateData>() => + _propertyMapCache.putIfAbsent( + CT_, + () => { + ..._Renderer_TemplateData.propertyMap(), + ..._Renderer_OneDirectoryDown.propertyMap(), + 'layoutTitle': Property( + getValue: (CT_ c) => c.layoutTitle, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String( + c.layoutTitle, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'library': Property( + getValue: (CT_ c) => c.library, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_Library.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as Library, + nextProperty, + [...remainingNames.skip(1)], + ); }, - ) - as Map>; + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_Library( + c.library, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'metaDescription': Property( + getValue: (CT_ c) => c.metaDescription, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String( + c.metaDescription, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'navLinks': Property( + getValue: (CT_ c) => c.navLinks, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'List', + ), + renderIterable: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + return c.navLinks.map( + (e) => _render_Documentable( + e, + ast, + r.template, + sink, + parent: r, + ), + ); + }, + ), + 'property': Property( + getValue: (CT_ c) => c.property, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = + _Renderer_TopLevelVariable.propertyMap().getValue( + name, + ); + return nextProperty.renderVariable( + self.getValue(c) as TopLevelVariable, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_TopLevelVariable( + c.property, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'self': Property( + getValue: (CT_ c) => c.self, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = + _Renderer_TopLevelVariable.propertyMap().getValue( + name, + ); + return nextProperty.renderVariable( + self.getValue(c) as TopLevelVariable, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_TopLevelVariable( + c.self, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'title': Property( + getValue: (CT_ c) => c.title, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String(c.title, ast, r.template, sink, parent: r); + }, + ), + }, + ) as Map>; _Renderer_TopLevelPropertyTemplateData( TopLevelPropertyTemplateData context, @@ -23593,443 +21317,398 @@ void _render_TopLevelVariable( class _Renderer_TopLevelVariable extends RendererBase { static final Map _propertyMapCache = {}; - static Map> - propertyMap() => + static Map> propertyMap< + CT_ extends TopLevelVariable>() => _propertyMapCache.putIfAbsent( - CT_, - () => { - ..._Renderer_ModelElement.propertyMap(), - ..._Renderer_GetterSetterCombo.propertyMap(), - ..._Renderer_Categorization.propertyMap(), - 'aboveSidebarPath': Property( - getValue: (CT_ c) => c.aboveSidebarPath, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String( - c.aboveSidebarPath, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'attributes': Property( - getValue: (CT_ c) => c.attributes, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'Set', - ), - - renderIterable: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - return c.attributes.map( - (e) => renderSimple( - e, - ast, - r.template, - sink, - parent: r, - getters: _invisibleGetters['Attribute']!, - ), - ); - }, - ), - 'belowSidebarPath': Property( - getValue: (CT_ c) => c.belowSidebarPath, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => c.belowSidebarPath == null, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String( - c.belowSidebarPath!, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'documentation': Property( - getValue: (CT_ c) => c.documentation, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String( - c.documentation, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'element': Property( - getValue: (CT_ c) => c.element, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'TopLevelVariableElement2', - ), - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - renderSimple( - c.element, - ast, - r.template, - sink, - parent: r, - getters: _invisibleGetters['TopLevelVariableElement2']!, - ); - }, - ), - 'enclosingElement': Property( - getValue: (CT_ c) => c.enclosingElement, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_Library.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as Library, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_Library( - c.enclosingElement, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'enclosingExtension': Property( - getValue: (CT_ c) => c.enclosingExtension, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_Extension.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as Extension, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_Extension( - c.enclosingExtension, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'getter': Property( - getValue: (CT_ c) => c.getter, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_Accessor.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as Accessor, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => c.getter == null, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_Accessor( - c.getter!, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'href': Property( - getValue: (CT_ c) => c.href, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => c.href == null, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String(c.href!, ast, r.template, sink, parent: r); - }, - ), - 'isConst': Property( - getValue: (CT_ c) => c.isConst, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'bool'), - - getBool: (CT_ c) => c.isConst, - ), - 'isFinal': Property( - getValue: (CT_ c) => c.isFinal, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'bool'), - - getBool: (CT_ c) => c.isFinal, - ), - 'isInherited': Property( - getValue: (CT_ c) => c.isInherited, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'bool'), - - getBool: (CT_ c) => c.isInherited, - ), - 'isLate': Property( - getValue: (CT_ c) => c.isLate, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'bool'), - - getBool: (CT_ c) => c.isLate, - ), - 'isProvidedByExtension': Property( - getValue: (CT_ c) => c.isProvidedByExtension, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'bool'), - - getBool: (CT_ c) => c.isProvidedByExtension, - ), - 'kind': Property( - getValue: (CT_ c) => c.kind, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'Kind'), - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - renderSimple( - c.kind, - ast, - r.template, - sink, - parent: r, - getters: _invisibleGetters['Kind']!, - ); - }, - ), - 'referenceParents': Property( - getValue: (CT_ c) => c.referenceParents, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'Iterable', - ), - - renderIterable: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - return c.referenceParents.map( - (e) => renderSimple( - e, - ast, - r.template, - sink, - parent: r, - getters: _invisibleGetters['CommentReferable']!, - ), - ); - }, - ), - 'setter': Property( - getValue: (CT_ c) => c.setter, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_Accessor.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as Accessor, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => c.setter == null, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_Accessor( - c.setter!, - ast, - r.template, - sink, - parent: r, - ); - }, - ), + CT_, + () => { + ..._Renderer_ModelElement.propertyMap(), + ..._Renderer_GetterSetterCombo.propertyMap(), + ..._Renderer_Categorization.propertyMap(), + 'aboveSidebarPath': Property( + getValue: (CT_ c) => c.aboveSidebarPath, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String( + c.aboveSidebarPath, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'attributes': Property( + getValue: (CT_ c) => c.attributes, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'Set', + ), + renderIterable: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + return c.attributes.map( + (e) => renderSimple( + e, + ast, + r.template, + sink, + parent: r, + getters: _invisibleGetters['Attribute']!, + ), + ); + }, + ), + 'belowSidebarPath': Property( + getValue: (CT_ c) => c.belowSidebarPath, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => c.belowSidebarPath == null, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String( + c.belowSidebarPath!, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'documentation': Property( + getValue: (CT_ c) => c.documentation, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String( + c.documentation, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'element': Property( + getValue: (CT_ c) => c.element, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'TopLevelVariableElement2', + ), + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + renderSimple( + c.element, + ast, + r.template, + sink, + parent: r, + getters: _invisibleGetters['TopLevelVariableElement2']!, + ); + }, + ), + 'enclosingElement': Property( + getValue: (CT_ c) => c.enclosingElement, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_Library.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as Library, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_Library( + c.enclosingElement, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'enclosingExtension': Property( + getValue: (CT_ c) => c.enclosingExtension, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = + _Renderer_Extension.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as Extension, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_Extension( + c.enclosingExtension, + ast, + r.template, + sink, + parent: r, + ); }, - ) - as Map>; + ), + 'getter': Property( + getValue: (CT_ c) => c.getter, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = + _Renderer_Accessor.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as Accessor, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => c.getter == null, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_Accessor( + c.getter!, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'href': Property( + getValue: (CT_ c) => c.href, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => c.href == null, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String(c.href!, ast, r.template, sink, parent: r); + }, + ), + 'isConst': Property( + getValue: (CT_ c) => c.isConst, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'bool'), + getBool: (CT_ c) => c.isConst, + ), + 'isFinal': Property( + getValue: (CT_ c) => c.isFinal, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'bool'), + getBool: (CT_ c) => c.isFinal, + ), + 'isInherited': Property( + getValue: (CT_ c) => c.isInherited, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'bool'), + getBool: (CT_ c) => c.isInherited, + ), + 'isLate': Property( + getValue: (CT_ c) => c.isLate, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'bool'), + getBool: (CT_ c) => c.isLate, + ), + 'isProvidedByExtension': Property( + getValue: (CT_ c) => c.isProvidedByExtension, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'bool'), + getBool: (CT_ c) => c.isProvidedByExtension, + ), + 'kind': Property( + getValue: (CT_ c) => c.kind, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'Kind'), + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + renderSimple( + c.kind, + ast, + r.template, + sink, + parent: r, + getters: _invisibleGetters['Kind']!, + ); + }, + ), + 'referenceParents': Property( + getValue: (CT_ c) => c.referenceParents, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'Iterable', + ), + renderIterable: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + return c.referenceParents.map( + (e) => renderSimple( + e, + ast, + r.template, + sink, + parent: r, + getters: _invisibleGetters['CommentReferable']!, + ), + ); + }, + ), + 'setter': Property( + getValue: (CT_ c) => c.setter, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = + _Renderer_Accessor.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as Accessor, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => c.setter == null, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_Accessor( + c.setter!, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + }, + ) as Map>; _Renderer_TopLevelVariable( TopLevelVariable context, @@ -24052,48 +21731,44 @@ class _Renderer_TwoDirectoriesDown extends RendererBase> { static final Map _propertyMapCache = {}; static Map> - propertyMap() => - _propertyMapCache.putIfAbsent( + propertyMap() => + _propertyMapCache.putIfAbsent( CT_, () => { 'htmlBase': Property( getValue: (CT_ c) => c.htmlBase, renderVariable: (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String( - c.htmlBase, - ast, - r.template, - sink, - parent: r, - ); - }, + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = + _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String( + c.htmlBase, + ast, + r.template, + sink, + parent: r, + ); + }, ), }, - ) - as Map>; + ) as Map>; _Renderer_TwoDirectoriesDown( TwoDirectoriesDown context, @@ -24127,331 +21802,296 @@ class _Renderer_TypeParameter extends RendererBase { static final Map _propertyMapCache = {}; static Map> propertyMap() => _propertyMapCache.putIfAbsent( - CT_, - () => { - ..._Renderer_ModelElement.propertyMap(), - ..._Renderer_HasNoPage.propertyMap(), - 'boundType': Property( - getValue: (CT_ c) => c.boundType, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_ElementType.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as ElementType, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => c.boundType == null, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_ElementType( - c.boundType!, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'element': Property( - getValue: (CT_ c) => c.element, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'TypeParameterElement2', - ), - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - renderSimple( - c.element, - ast, - r.template, - sink, - parent: r, - getters: _invisibleGetters['TypeParameterElement2']!, - ); - }, - ), - 'enclosingElement': Property( - getValue: (CT_ c) => c.enclosingElement, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_ModelElement.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as ModelElement, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_ModelElement( - c.enclosingElement, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'hasParameters': Property( - getValue: (CT_ c) => c.hasParameters, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'bool'), - - getBool: (CT_ c) => c.hasParameters, - ), - 'href': Property( - getValue: (CT_ c) => c.href, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => c.href == null, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String(c.href!, ast, r.template, sink, parent: r); - }, - ), - 'kind': Property( - getValue: (CT_ c) => c.kind, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'Kind'), - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - renderSimple( - c.kind, - ast, - r.template, - sink, - parent: r, - getters: _invisibleGetters['Kind']!, - ); - }, - ), - 'linkedName': Property( - getValue: (CT_ c) => c.linkedName, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String( - c.linkedName, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'name': Property( - getValue: (CT_ c) => c.name, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String(c.name, ast, r.template, sink, parent: r); - }, - ), - 'referenceChildren': Property( - getValue: (CT_ c) => c.referenceChildren, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'Map', - ), - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - renderSimple( - c.referenceChildren, - ast, - r.template, - sink, - parent: r, - getters: _invisibleGetters['Map']!, - ); - }, - ), - 'referenceName': Property( - getValue: (CT_ c) => c.referenceName, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String( - c.referenceName, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'referenceParents': Property( - getValue: (CT_ c) => c.referenceParents, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'Iterable', - ), - - renderIterable: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - return c.referenceParents.map( - (e) => renderSimple( - e, - ast, - r.template, - sink, - parent: r, - getters: _invisibleGetters['CommentReferable']!, - ), - ); - }, - ), + CT_, + () => { + ..._Renderer_ModelElement.propertyMap(), + ..._Renderer_HasNoPage.propertyMap(), + 'boundType': Property( + getValue: (CT_ c) => c.boundType, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = + _Renderer_ElementType.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as ElementType, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => c.boundType == null, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_ElementType( + c.boundType!, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'element': Property( + getValue: (CT_ c) => c.element, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'TypeParameterElement2', + ), + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + renderSimple( + c.element, + ast, + r.template, + sink, + parent: r, + getters: _invisibleGetters['TypeParameterElement2']!, + ); + }, + ), + 'enclosingElement': Property( + getValue: (CT_ c) => c.enclosingElement, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = + _Renderer_ModelElement.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as ModelElement, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_ModelElement( + c.enclosingElement, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'hasParameters': Property( + getValue: (CT_ c) => c.hasParameters, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'bool'), + getBool: (CT_ c) => c.hasParameters, + ), + 'href': Property( + getValue: (CT_ c) => c.href, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => c.href == null, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String(c.href!, ast, r.template, sink, parent: r); + }, + ), + 'kind': Property( + getValue: (CT_ c) => c.kind, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'Kind'), + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + renderSimple( + c.kind, + ast, + r.template, + sink, + parent: r, + getters: _invisibleGetters['Kind']!, + ); + }, + ), + 'linkedName': Property( + getValue: (CT_ c) => c.linkedName, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String( + c.linkedName, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'name': Property( + getValue: (CT_ c) => c.name, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String(c.name, ast, r.template, sink, parent: r); + }, + ), + 'referenceChildren': Property( + getValue: (CT_ c) => c.referenceChildren, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'Map', + ), + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + renderSimple( + c.referenceChildren, + ast, + r.template, + sink, + parent: r, + getters: _invisibleGetters['Map']!, + ); + }, + ), + 'referenceName': Property( + getValue: (CT_ c) => c.referenceName, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); }, - ) - as Map>; + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String( + c.referenceName, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'referenceParents': Property( + getValue: (CT_ c) => c.referenceParents, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'Iterable', + ), + renderIterable: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + return c.referenceParents.map( + (e) => renderSimple( + e, + ast, + r.template, + sink, + parent: r, + getters: _invisibleGetters['CommentReferable']!, + ), + ); + }, + ), + }, + ) as Map>; _Renderer_TypeParameter( TypeParameter context, @@ -24474,187 +22114,167 @@ class _Renderer_TypeParameters extends RendererBase { static final Map _propertyMapCache = {}; static Map> propertyMap() => _propertyMapCache.putIfAbsent( - CT_, - () => { - 'genericParameters': Property( - getValue: (CT_ c) => c.genericParameters, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String( - c.genericParameters, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'hasGenericParameters': Property( - getValue: (CT_ c) => c.hasGenericParameters, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'bool'), - - getBool: (CT_ c) => c.hasGenericParameters, - ), - 'linkedGenericParameters': Property( - getValue: (CT_ c) => c.linkedGenericParameters, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String( - c.linkedGenericParameters, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'nameWithGenerics': Property( - getValue: (CT_ c) => c.nameWithGenerics, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String( - c.nameWithGenerics, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'nameWithLinkedGenerics': Property( - getValue: (CT_ c) => c.nameWithLinkedGenerics, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String( - c.nameWithLinkedGenerics, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'typeParameters': Property( - getValue: (CT_ c) => c.typeParameters, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'List', - ), - - renderIterable: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - return c.typeParameters.map( - (e) => _render_TypeParameter( - e, - ast, - r.template, - sink, - parent: r, - ), - ); - }, - ), + CT_, + () => { + 'genericParameters': Property( + getValue: (CT_ c) => c.genericParameters, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String( + c.genericParameters, + ast, + r.template, + sink, + parent: r, + ); }, - ) - as Map>; + ), + 'hasGenericParameters': Property( + getValue: (CT_ c) => c.hasGenericParameters, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'bool'), + getBool: (CT_ c) => c.hasGenericParameters, + ), + 'linkedGenericParameters': Property( + getValue: (CT_ c) => c.linkedGenericParameters, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String( + c.linkedGenericParameters, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'nameWithGenerics': Property( + getValue: (CT_ c) => c.nameWithGenerics, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String( + c.nameWithGenerics, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'nameWithLinkedGenerics': Property( + getValue: (CT_ c) => c.nameWithLinkedGenerics, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String( + c.nameWithLinkedGenerics, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'typeParameters': Property( + getValue: (CT_ c) => c.typeParameters, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'List', + ), + renderIterable: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + return c.typeParameters.map( + (e) => _render_TypeParameter( + e, + ast, + r.template, + sink, + parent: r, + ), + ); + }, + ), + }, + ) as Map>; _Renderer_TypeParameters( TypeParameters context, @@ -24688,535 +22308,479 @@ class _Renderer_Typedef extends RendererBase { static final Map _propertyMapCache = {}; static Map> propertyMap() => _propertyMapCache.putIfAbsent( - CT_, - () => { - ..._Renderer_ModelElement.propertyMap(), - ..._Renderer_TypeParameters.propertyMap(), - ..._Renderer_Categorization.propertyMap(), - 'aboveSidebarPath': Property( - getValue: (CT_ c) => c.aboveSidebarPath, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String( - c.aboveSidebarPath, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'aliasedType': Property( - getValue: (CT_ c) => c.aliasedType, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'DartType', - ), - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - renderSimple( - c.aliasedType, - ast, - r.template, - sink, - parent: r, - getters: _invisibleGetters['DartType']!, - ); - }, - ), - 'asCallable': Property( - getValue: (CT_ c) => c.asCallable, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_FunctionTypedef.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as FunctionTypedef, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_FunctionTypedef( - c.asCallable, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'belowSidebarPath': Property( - getValue: (CT_ c) => c.belowSidebarPath, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => c.belowSidebarPath == null, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String( - c.belowSidebarPath!, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'element': Property( - getValue: (CT_ c) => c.element, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'TypeAliasElement2', - ), - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - renderSimple( - c.element, - ast, - r.template, - sink, - parent: r, - getters: _invisibleGetters['TypeAliasElement2']!, - ); - }, - ), - 'enclosingElement': Property( - getValue: (CT_ c) => c.enclosingElement, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_Library.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as Library, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_Library( - c.enclosingElement, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'fileName': Property( - getValue: (CT_ c) => c.fileName, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String( - c.fileName, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'genericParameters': Property( - getValue: (CT_ c) => c.genericParameters, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String( - c.genericParameters, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'href': Property( - getValue: (CT_ c) => c.href, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => c.href == null, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String(c.href!, ast, r.template, sink, parent: r); - }, - ), - 'isInherited': Property( - getValue: (CT_ c) => c.isInherited, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'bool'), - - getBool: (CT_ c) => c.isInherited, - ), - 'kind': Property( - getValue: (CT_ c) => c.kind, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'Kind'), - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - renderSimple( - c.kind, - ast, - r.template, - sink, - parent: r, - getters: _invisibleGetters['Kind']!, - ); - }, - ), - 'linkedGenericParameters': Property( - getValue: (CT_ c) => c.linkedGenericParameters, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String( - c.linkedGenericParameters, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'modelType': Property( - getValue: (CT_ c) => c.modelType, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_ElementType.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as ElementType, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_ElementType( - c.modelType, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'nameWithGenerics': Property( - getValue: (CT_ c) => c.nameWithGenerics, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String( - c.nameWithGenerics, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'referenceChildren': Property( - getValue: (CT_ c) => c.referenceChildren, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'Map', - ), - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - renderSimple( - c.referenceChildren, - ast, - r.template, - sink, - parent: r, - getters: _invisibleGetters['Map']!, - ); - }, - ), - 'referenceParents': Property( - getValue: (CT_ c) => c.referenceParents, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'Iterable', - ), - - renderIterable: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - return c.referenceParents.map( - (e) => renderSimple( - e, - ast, - r.template, - sink, - parent: r, - getters: _invisibleGetters['CommentReferable']!, - ), - ); - }, - ), - 'typeParameters': Property( - getValue: (CT_ c) => c.typeParameters, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'List', - ), - - renderIterable: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - return c.typeParameters.map( - (e) => _render_TypeParameter( - e, - ast, - r.template, - sink, - parent: r, - ), - ); - }, - ), + CT_, + () => { + ..._Renderer_ModelElement.propertyMap(), + ..._Renderer_TypeParameters.propertyMap(), + ..._Renderer_Categorization.propertyMap(), + 'aboveSidebarPath': Property( + getValue: (CT_ c) => c.aboveSidebarPath, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String( + c.aboveSidebarPath, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'aliasedType': Property( + getValue: (CT_ c) => c.aliasedType, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'DartType', + ), + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + renderSimple( + c.aliasedType, + ast, + r.template, + sink, + parent: r, + getters: _invisibleGetters['DartType']!, + ); + }, + ), + 'asCallable': Property( + getValue: (CT_ c) => c.asCallable, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = + _Renderer_FunctionTypedef.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as FunctionTypedef, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_FunctionTypedef( + c.asCallable, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'belowSidebarPath': Property( + getValue: (CT_ c) => c.belowSidebarPath, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => c.belowSidebarPath == null, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String( + c.belowSidebarPath!, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'element': Property( + getValue: (CT_ c) => c.element, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'TypeAliasElement2', + ), + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + renderSimple( + c.element, + ast, + r.template, + sink, + parent: r, + getters: _invisibleGetters['TypeAliasElement2']!, + ); + }, + ), + 'enclosingElement': Property( + getValue: (CT_ c) => c.enclosingElement, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_Library.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as Library, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_Library( + c.enclosingElement, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'fileName': Property( + getValue: (CT_ c) => c.fileName, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String( + c.fileName, + ast, + r.template, + sink, + parent: r, + ); }, - ) - as Map>; + ), + 'genericParameters': Property( + getValue: (CT_ c) => c.genericParameters, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String( + c.genericParameters, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'href': Property( + getValue: (CT_ c) => c.href, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => c.href == null, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String(c.href!, ast, r.template, sink, parent: r); + }, + ), + 'isInherited': Property( + getValue: (CT_ c) => c.isInherited, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'bool'), + getBool: (CT_ c) => c.isInherited, + ), + 'kind': Property( + getValue: (CT_ c) => c.kind, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'Kind'), + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + renderSimple( + c.kind, + ast, + r.template, + sink, + parent: r, + getters: _invisibleGetters['Kind']!, + ); + }, + ), + 'linkedGenericParameters': Property( + getValue: (CT_ c) => c.linkedGenericParameters, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String( + c.linkedGenericParameters, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'modelType': Property( + getValue: (CT_ c) => c.modelType, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = + _Renderer_ElementType.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as ElementType, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_ElementType( + c.modelType, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'nameWithGenerics': Property( + getValue: (CT_ c) => c.nameWithGenerics, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String( + c.nameWithGenerics, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'referenceChildren': Property( + getValue: (CT_ c) => c.referenceChildren, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'Map', + ), + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + renderSimple( + c.referenceChildren, + ast, + r.template, + sink, + parent: r, + getters: _invisibleGetters['Map']!, + ); + }, + ), + 'referenceParents': Property( + getValue: (CT_ c) => c.referenceParents, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'Iterable', + ), + renderIterable: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + return c.referenceParents.map( + (e) => renderSimple( + e, + ast, + r.template, + sink, + parent: r, + getters: _invisibleGetters['CommentReferable']!, + ), + ); + }, + ), + 'typeParameters': Property( + getValue: (CT_ c) => c.typeParameters, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'List', + ), + renderIterable: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + return c.typeParameters.map( + (e) => _render_TypeParameter( + e, + ast, + r.template, + sink, + parent: r, + ), + ); + }, + ), + }, + ) as Map>; _Renderer_Typedef( Typedef context, @@ -25254,242 +22818,215 @@ void _render_TypedefTemplateData( class _Renderer_TypedefTemplateData extends RendererBase { static final Map _propertyMapCache = {}; - static Map> - propertyMap() => + static Map> propertyMap< + CT_ extends TypedefTemplateData>() => _propertyMapCache.putIfAbsent( - CT_, - () => { - ..._Renderer_TemplateData.propertyMap(), - ..._Renderer_OneDirectoryDown.propertyMap(), - 'layoutTitle': Property( - getValue: (CT_ c) => c.layoutTitle, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String( - c.layoutTitle, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'library': Property( - getValue: (CT_ c) => c.library, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_Library.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as Library, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_Library( - c.library, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'metaDescription': Property( - getValue: (CT_ c) => c.metaDescription, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String( - c.metaDescription, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 'navLinks': Property( - getValue: (CT_ c) => c.navLinks, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'List', - ), - - renderIterable: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - return c.navLinks.map( - (e) => _render_Documentable( - e, - ast, - r.template, - sink, - parent: r, - ), - ); - }, - ), - 'self': Property( - getValue: (CT_ c) => c.self, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_Typedef.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as Typedef, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_Typedef(c.self, ast, r.template, sink, parent: r); - }, - ), - 'title': Property( - getValue: (CT_ c) => c.title, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_String.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as String, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_String(c.title, ast, r.template, sink, parent: r); - }, - ), - 'typeDef': Property( - getValue: (CT_ c) => c.typeDef, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = _Renderer_Typedef.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as Typedef, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_Typedef( - c.typeDef, - ast, - r.template, - sink, - parent: r, - ); - }, - ), + CT_, + () => { + ..._Renderer_TemplateData.propertyMap(), + ..._Renderer_OneDirectoryDown.propertyMap(), + 'layoutTitle': Property( + getValue: (CT_ c) => c.layoutTitle, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String( + c.layoutTitle, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'library': Property( + getValue: (CT_ c) => c.library, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_Library.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as Library, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_Library( + c.library, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'metaDescription': Property( + getValue: (CT_ c) => c.metaDescription, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); }, - ) - as Map>; + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String( + c.metaDescription, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 'navLinks': Property( + getValue: (CT_ c) => c.navLinks, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'List', + ), + renderIterable: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + return c.navLinks.map( + (e) => _render_Documentable( + e, + ast, + r.template, + sink, + parent: r, + ), + ); + }, + ), + 'self': Property( + getValue: (CT_ c) => c.self, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_Typedef.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as Typedef, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_Typedef(c.self, ast, r.template, sink, parent: r); + }, + ), + 'title': Property( + getValue: (CT_ c) => c.title, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_String.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as String, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_String(c.title, ast, r.template, sink, parent: r); + }, + ), + 'typeDef': Property( + getValue: (CT_ c) => c.typeDef, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = _Renderer_Typedef.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as Typedef, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_Typedef( + c.typeDef, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + }, + ) as Map>; _Renderer_TypedefTemplateData( TypedefTemplateData context, @@ -25512,40 +23049,36 @@ class _Renderer_Warnable extends RendererBase { static final Map _propertyMapCache = {}; static Map> propertyMap() => _propertyMapCache.putIfAbsent( - CT_, - () => { - 'element': Property( - getValue: (CT_ c) => c.element, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'Element2', - ), - - isNullValue: (CT_ c) => c.element == null, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - renderSimple( - c.element, - ast, - r.template, - sink, - parent: r, - getters: _invisibleGetters['Element2']!, - ); - }, - ), + CT_, + () => { + 'element': Property( + getValue: (CT_ c) => c.element, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'Element2', + ), + isNullValue: (CT_ c) => c.element == null, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + renderSimple( + c.element, + ast, + r.template, + sink, + parent: r, + getters: _invisibleGetters['Element2']!, + ); }, - ) - as Map>; + ), + }, + ) as Map>; _Renderer_Warnable( Warnable context, diff --git a/lib/src/model/accessor.dart b/lib/src/model/accessor.dart index 4bc5a76b83..28b2071648 100644 --- a/lib/src/model/accessor.dart +++ b/lib/src/model/accessor.dart @@ -18,7 +18,6 @@ import 'package:dartdoc/src/warnings.dart'; /// Getters and setters. class Accessor extends ModelElement { - @override final PropertyAccessorElement2 element; diff --git a/lib/src/model/class.dart b/lib/src/model/class.dart index cbf60cb15c..fc41670d3f 100644 --- a/lib/src/model/class.dart +++ b/lib/src/model/class.dart @@ -15,7 +15,6 @@ import 'package:dartdoc/src/model/model.dart'; /// **inherited**: Filtered getters giving only inherited children. class Class extends InheritingContainer with Constructable, MixedInTypes { @override - @override final ClassElement2 element; @@ -75,8 +74,7 @@ class Class extends InheritingContainer with Constructable, MixedInTypes { bool get isFinal => element.isFinal && !element.isSealed; @override - bool get isImplementableInterface => - element.isInterface && !element.isSealed; + bool get isImplementableInterface => element.isInterface && !element.isSealed; @override bool get isMixinClass => element.isMixinClass; diff --git a/lib/src/model/constructor.dart b/lib/src/model/constructor.dart index 7e4c75de90..adfe08efdc 100644 --- a/lib/src/model/constructor.dart +++ b/lib/src/model/constructor.dart @@ -92,8 +92,7 @@ class Constructor extends ModelElement with ContainerMember, TypeParameters { @override Kind get kind => Kind.constructor; - late final Callable modelType = - getTypeFor(element.type, library) as Callable; + late final Callable modelType = getTypeFor(element.type, library) as Callable; @override String get name => diff --git a/lib/src/model/dynamic.dart b/lib/src/model/dynamic.dart index 03f498099d..0035a0da82 100644 --- a/lib/src/model/dynamic.dart +++ b/lib/src/model/dynamic.dart @@ -9,9 +9,8 @@ import 'package:dartdoc/src/model/kind.dart'; import 'package:dartdoc/src/model/model.dart'; class Dynamic extends ModelElement with HasNoPage { - - @override - final Element2 element; + @override + final Element2 element; Dynamic(this.element, PackageGraph packageGraph) : super(Library.sentinel, packageGraph); diff --git a/lib/src/model/extension_type.dart b/lib/src/model/extension_type.dart index 71239eb687..552ad4ee97 100644 --- a/lib/src/model/extension_type.dart +++ b/lib/src/model/extension_type.dart @@ -10,9 +10,8 @@ import 'package:dartdoc/src/model/model.dart'; import 'package:meta/meta.dart'; class ExtensionType extends InheritingContainer with Constructable { - @override - final ExtensionTypeElement2 element; + final ExtensionTypeElement2 element; late final ElementType representationType = getTypeFor(element.representation2.type, library); @@ -45,13 +44,11 @@ class ExtensionType extends InheritingContainer with Constructable { ContainerAccessor? getter, setter; final fieldGetter = field.getter2; if (fieldGetter != null) { - getter = ContainerAccessor( - fieldGetter, library, packageGraph, this); + getter = ContainerAccessor(fieldGetter, library, packageGraph, this); } final fieldSetter = field.setter2; if (fieldSetter != null) { - setter = ContainerAccessor( - fieldSetter, library, packageGraph, this); + setter = ContainerAccessor(fieldSetter, library, packageGraph, this); } return getModelForPropertyInducingElement(field, library, getter: getter, setter: setter) as Field; diff --git a/lib/src/model/field.dart b/lib/src/model/field.dart index e9474c9f22..c19a92eb77 100644 --- a/lib/src/model/field.dart +++ b/lib/src/model/field.dart @@ -11,7 +11,6 @@ import 'package:dartdoc/src/model/model.dart'; class Field extends ModelElement with GetterSetterCombo, ContainerMember, Inheritable { - @override final FieldElement2 element; @@ -33,8 +32,7 @@ class Field extends ModelElement super.packageGraph, this.getter, this.setter, - ) : - isInherited = false, + ) : isInherited = false, enclosingElement = ModelElement.for_(element.enclosingElement2, library, packageGraph) as Container, @@ -50,8 +48,7 @@ class Field extends ModelElement super.packageGraph, this.getter, this.setter, - ) : - isInherited = false, + ) : isInherited = false, assert(getter != null || setter != null) { getter?.enclosingCombo = this; setter?.enclosingCombo = this; @@ -64,8 +61,7 @@ class Field extends ModelElement super.packageGraph, this.getter, this.setter, - ) : - isInherited = true, + ) : isInherited = true, assert(getter != null || setter != null) { // Can't set `isInherited` to true if this is the defining element, because // that would mean it isn't inherited. diff --git a/lib/src/model/library.dart b/lib/src/model/library.dart index 6185e9f3fb..024534933e 100644 --- a/lib/src/model/library.dart +++ b/lib/src/model/library.dart @@ -113,8 +113,7 @@ class Library extends ModelElement /// not found in it's 'lib/src' directory, and it is not excluded. bool get isPublic { if (!super.isPublic) return false; - final sdkLib = - packageGraph.sdkLibrarySources[element.firstFragment.source]; + final sdkLib = packageGraph.sdkLibrarySources[element.firstFragment.source]; if (sdkLib != null && (sdkLib.isInternal || !sdkLib.isDocumented)) { return false; } diff --git a/lib/src/model/method.dart b/lib/src/model/method.dart index 7a3186a6cf..49fc70cfaf 100644 --- a/lib/src/model/method.dart +++ b/lib/src/model/method.dart @@ -14,7 +14,6 @@ import 'package:dartdoc/src/model/model.dart'; class Method extends ModelElement with ContainerMember, Inheritable, TypeParameters { - @override final MethodElement2 element; @@ -30,8 +29,8 @@ class Method extends ModelElement _calcTypeParameters(); } - Method.inherited(this.element, this._enclosingContainer, super.library, - super.packageGraph, + Method.inherited( + this.element, this._enclosingContainer, super.library, super.packageGraph, {ExecutableMember? super.originalMember}) : _isInherited = true { _calcTypeParameters(); diff --git a/lib/src/model/mixin.dart b/lib/src/model/mixin.dart index 139463626e..a462ee79a4 100644 --- a/lib/src/model/mixin.dart +++ b/lib/src/model/mixin.dart @@ -12,7 +12,6 @@ import 'package:dartdoc/src/model_utils.dart' as model_utils; import 'package:meta/meta.dart'; class Mixin extends InheritingContainer { - @override final MixinElement2 element; diff --git a/lib/src/model/model_function.dart b/lib/src/model/model_function.dart index 9963a8f42b..d2b4f655e8 100644 --- a/lib/src/model/model_function.dart +++ b/lib/src/model/model_function.dart @@ -10,8 +10,8 @@ import 'package:dartdoc/src/model/model.dart'; /// A [ModelElement] for a [TopLevelFunctionElement] that isn't part of a type definition. class ModelFunction extends ModelFunctionTyped with Categorization { - ModelFunction(TopLevelFunctionElement super.element, super.library, - super.packageGraph); + ModelFunction( + TopLevelFunctionElement super.element, super.library, super.packageGraph); bool get isStatic => element.isStatic; @@ -82,8 +82,7 @@ class ModelFunctionTyped extends ModelElement with TypeParameters { @override Iterable get referenceParents => [library]; - late final Callable modelType = - getTypeFor(element.type, library) as Callable; + late final Callable modelType = getTypeFor(element.type, library) as Callable; // For use in templates. bool get isProvidedByExtension => false; diff --git a/lib/src/model/never.dart b/lib/src/model/never.dart index bc71ef7f6d..3573789fe4 100644 --- a/lib/src/model/never.dart +++ b/lib/src/model/never.dart @@ -8,7 +8,6 @@ import 'package:dartdoc/src/model/kind.dart'; import 'package:dartdoc/src/model/model.dart'; class NeverType extends ModelElement with HasNoPage { - @override final Element2 element; diff --git a/lib/src/model/parameter.dart b/lib/src/model/parameter.dart index 7b4d573281..10446afb73 100644 --- a/lib/src/model/parameter.dart +++ b/lib/src/model/parameter.dart @@ -11,15 +11,13 @@ import 'package:dartdoc/src/model/kind.dart'; import 'package:dartdoc/src/model/model.dart'; class Parameter extends ModelElement with HasNoPage { - @override final FormalParameterElement element; Parameter(this.element, super.library, super.packageGraph, {ParameterMember? super.originalMember}); - String? get defaultValue => - hasDefaultValue ? element.defaultValueCode : null; + String? get defaultValue => hasDefaultValue ? element.defaultValueCode : null; @override ModelElement? get enclosingElement { diff --git a/lib/src/model/top_level_variable.dart b/lib/src/model/top_level_variable.dart index 1863455c6f..0f767161cc 100644 --- a/lib/src/model/top_level_variable.dart +++ b/lib/src/model/top_level_variable.dart @@ -11,7 +11,6 @@ import 'package:dartdoc/src/model/model.dart'; /// Top-level variables. But also picks up getters and setters? class TopLevelVariable extends ModelElement with GetterSetterCombo, Categorization { - @override final TopLevelVariableElement2 element; @@ -20,8 +19,8 @@ class TopLevelVariable extends ModelElement @override final Accessor? setter; - TopLevelVariable(this.element, super.library, super.packageGraph, - this.getter, this.setter) { + TopLevelVariable(this.element, super.library, super.packageGraph, this.getter, + this.setter) { getter?.enclosingCombo = this; setter?.enclosingCombo = this; } diff --git a/lib/src/model/type_parameter.dart b/lib/src/model/type_parameter.dart index 91a6cc9618..480aa886d1 100644 --- a/lib/src/model/type_parameter.dart +++ b/lib/src/model/type_parameter.dart @@ -9,7 +9,6 @@ import 'package:dartdoc/src/model/kind.dart'; import 'package:dartdoc/src/model/model.dart'; class TypeParameter extends ModelElement with HasNoPage { - @override final TypeParameterElement2 element; diff --git a/lib/src/model/typedef.dart b/lib/src/model/typedef.dart index b1395a0e77..a962510439 100644 --- a/lib/src/model/typedef.dart +++ b/lib/src/model/typedef.dart @@ -11,7 +11,6 @@ import 'package:dartdoc/src/model/model.dart'; abstract class Typedef extends ModelElement with TypeParameters, Categorization { - @override final TypeAliasElement2 element; diff --git a/test/mustachio/foo.runtime_renderers.dart b/test/mustachio/foo.runtime_renderers.dart index 8fcfe3a442..cde9d407b4 100644 --- a/test/mustachio/foo.runtime_renderers.dart +++ b/test/mustachio/foo.runtime_renderers.dart @@ -42,105 +42,94 @@ class Renderer_Bar extends RendererBase { static final Map _propertyMapCache = {}; static Map> propertyMap() => _propertyMapCache.putIfAbsent( - CT_, - () => { - ...Renderer_Object.propertyMap(), - 'baz': Property( - getValue: (CT_ c) => c.baz, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = Renderer_Baz.propertyMap().getValue( - name, - ); - return nextProperty.renderVariable( - self.getValue(c) as Baz, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => c.baz == null, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_Baz(c.baz!, ast, r.template, sink, parent: r); - }, - ), - 'foo': Property( - getValue: (CT_ c) => c.foo, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = Renderer_Foo.propertyMap().getValue( - name, - ); - return nextProperty.renderVariable( - self.getValue(c) as Foo, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => c.foo == null, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_Foo(c.foo!, ast, r.template, sink, parent: r); - }, - ), - 'l1': Property( - getValue: (CT_ c) => c.l1, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'bool'), - - getBool: (CT_ c) => c.l1 == true, - ), - 's2': Property( - getValue: (CT_ c) => c.s2, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'String'), - - isNullValue: (CT_ c) => c.s2 == null, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - renderSimple( - c.s2, - ast, - r.template, - sink, - parent: r, - getters: _invisibleGetters['String']!, - ); - }, - ), + CT_, + () => { + ...Renderer_Object.propertyMap(), + 'baz': Property( + getValue: (CT_ c) => c.baz, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = Renderer_Baz.propertyMap().getValue( + name, + ); + return nextProperty.renderVariable( + self.getValue(c) as Baz, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => c.baz == null, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_Baz(c.baz!, ast, r.template, sink, parent: r); }, - ) - as Map>; + ), + 'foo': Property( + getValue: (CT_ c) => c.foo, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = Renderer_Foo.propertyMap().getValue( + name, + ); + return nextProperty.renderVariable( + self.getValue(c) as Foo, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => c.foo == null, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_Foo(c.foo!, ast, r.template, sink, parent: r); + }, + ), + 'l1': Property( + getValue: (CT_ c) => c.l1, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'bool'), + getBool: (CT_ c) => c.l1 == true, + ), + 's2': Property( + getValue: (CT_ c) => c.s2, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'String'), + isNullValue: (CT_ c) => c.s2 == null, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + renderSimple( + c.s2, + ast, + r.template, + sink, + parent: r, + getters: _invisibleGetters['String']!, + ); + }, + ), + }, + ) as Map>; Renderer_Bar( Bar context, @@ -180,42 +169,38 @@ class Renderer_Baz extends RendererBase { static final Map _propertyMapCache = {}; static Map> propertyMap() => _propertyMapCache.putIfAbsent( - CT_, - () => { - ...Renderer_Object.propertyMap(), - 'bar': Property( - getValue: (CT_ c) => c.bar, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = Renderer_Bar.propertyMap().getValue( - name, - ); - return nextProperty.renderVariable( - self.getValue(c) as Bar, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => c.bar == null, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_Bar(c.bar!, ast, r.template, sink, parent: r); - }, - ), + CT_, + () => { + ...Renderer_Object.propertyMap(), + 'bar': Property( + getValue: (CT_ c) => c.bar, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = Renderer_Bar.propertyMap().getValue( + name, + ); + return nextProperty.renderVariable( + self.getValue(c) as Bar, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => c.bar == null, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_Bar(c.bar!, ast, r.template, sink, parent: r); }, - ) - as Map>; + ), + }, + ) as Map>; Renderer_Baz( Baz context, @@ -255,164 +240,148 @@ class Renderer_Foo extends RendererBase { static final Map _propertyMapCache = {}; static Map> propertyMap() => _propertyMapCache.putIfAbsent( - CT_, - () => { - ...Renderer_FooBase.propertyMap(), - 'b1': Property( - getValue: (CT_ c) => c.b1, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'bool'), - - getBool: (CT_ c) => c.b1, - ), - 'baz': Property( - getValue: (CT_ c) => c.baz, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = Renderer_Baz.propertyMap().getValue( - name, - ); - return nextProperty.renderVariable( - self.getValue(c) as Baz, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => c.baz == null, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_Baz(c.baz!, ast, r.template, sink, parent: r); - }, - ), - 'l1': Property( - getValue: (CT_ c) => c.l1, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable( - c, - remainingNames, - 'List', - ), - - renderIterable: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - return c.l1.map( - (e) => renderSimple( - e, - ast, - r.template, - sink, - parent: r, - getters: _invisibleGetters['int']!, - ), - ); - }, - ), - 'length': Property( - getValue: (CT_ c) => c.length, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'int'), - - isNullValue: (CT_ c) => c.length == null, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - renderSimple( - c.length, - ast, - r.template, - sink, - parent: r, - getters: _invisibleGetters['int']!, - ); - }, - ), - 'p1': Property( - getValue: (CT_ c) => c.p1, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = Renderer_Property1.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as Property1, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => c.p1 == null, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_Property1( - c.p1!, - ast, - r.template, - sink, - parent: r, - ); - }, - ), - 's1': Property( - getValue: (CT_ c) => c.s1, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'String'), - - isNullValue: (CT_ c) => c.s1 == null, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - renderSimple( - c.s1, - ast, - r.template, - sink, - parent: r, - getters: _invisibleGetters['String']!, - ); - }, - ), + CT_, + () => { + ...Renderer_FooBase.propertyMap(), + 'b1': Property( + getValue: (CT_ c) => c.b1, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'bool'), + getBool: (CT_ c) => c.b1, + ), + 'baz': Property( + getValue: (CT_ c) => c.baz, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = Renderer_Baz.propertyMap().getValue( + name, + ); + return nextProperty.renderVariable( + self.getValue(c) as Baz, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => c.baz == null, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_Baz(c.baz!, ast, r.template, sink, parent: r); + }, + ), + 'l1': Property( + getValue: (CT_ c) => c.l1, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable( + c, + remainingNames, + 'List', + ), + renderIterable: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + return c.l1.map( + (e) => renderSimple( + e, + ast, + r.template, + sink, + parent: r, + getters: _invisibleGetters['int']!, + ), + ); + }, + ), + 'length': Property( + getValue: (CT_ c) => c.length, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'int'), + isNullValue: (CT_ c) => c.length == null, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + renderSimple( + c.length, + ast, + r.template, + sink, + parent: r, + getters: _invisibleGetters['int']!, + ); }, - ) - as Map>; + ), + 'p1': Property( + getValue: (CT_ c) => c.p1, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = + Renderer_Property1.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as Property1, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => c.p1 == null, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_Property1( + c.p1!, + ast, + r.template, + sink, + parent: r, + ); + }, + ), + 's1': Property( + getValue: (CT_ c) => c.s1, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'String'), + isNullValue: (CT_ c) => c.s1 == null, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + renderSimple( + c.s1, + ast, + r.template, + sink, + parent: r, + getters: _invisibleGetters['String']!, + ); + }, + ), + }, + ) as Map>; Renderer_Foo( Foo context, @@ -434,8 +403,8 @@ class Renderer_Foo extends RendererBase { class Renderer_FooBase extends RendererBase> { static final Map _propertyMapCache = {}; static Map> - propertyMap() => - _propertyMapCache.putIfAbsent( + propertyMap() => + _propertyMapCache.putIfAbsent( CT_, () => { ...Renderer_Object.propertyMap(), @@ -443,42 +412,38 @@ class Renderer_FooBase extends RendererBase> { getValue: (CT_ c) => c.baz, renderVariable: (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = Renderer_Object.propertyMap().getValue( - name, - ); - return nextProperty.renderVariable( - self.getValue(c) as Object, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = Renderer_Object.propertyMap().getValue( + name, + ); + return nextProperty.renderVariable( + self.getValue(c) as Object, + nextProperty, + [...remainingNames.skip(1)], + ); + }, isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - renderSimple( - c.baz, - ast, - r.template, - sink, - parent: r, - getters: _invisibleGetters['Object']!, - ); - }, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + renderSimple( + c.baz, + ast, + r.template, + sink, + parent: r, + getters: _invisibleGetters['Object']!, + ); + }, ), }, - ) - as Map>; + ) as Map>; Renderer_FooBase( FooBase context, @@ -501,46 +466,42 @@ class Renderer_Mixin1 extends RendererBase { static final Map _propertyMapCache = {}; static Map> propertyMap() => _propertyMapCache.putIfAbsent( - CT_, - () => { - 'p3': Property( - getValue: (CT_ c) => c.p3, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = Renderer_Property3.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as Property3, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => c.p3 == null, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_Property3( - c.p3!, - ast, - r.template, - sink, - parent: r, - ); - }, - ), + CT_, + () => { + 'p3': Property( + getValue: (CT_ c) => c.p3, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = + Renderer_Property3.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as Property3, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => c.p3 == null, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_Property3( + c.p3!, + ast, + r.template, + sink, + parent: r, + ); }, - ) - as Map>; + ), + }, + ) as Map>; Renderer_Mixin1( Mixin1 context, @@ -563,36 +524,32 @@ class Renderer_Object extends RendererBase { static final Map _propertyMapCache = {}; static Map> propertyMap() => _propertyMapCache.putIfAbsent( - CT_, - () => { - 'hashCode': Property( - getValue: (CT_ c) => c.hashCode, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'int'), - - isNullValue: (CT_ c) => false, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - renderSimple( - c.hashCode, - ast, - r.template, - sink, - parent: r, - getters: _invisibleGetters['int']!, - ); - }, - ), + CT_, + () => { + 'hashCode': Property( + getValue: (CT_ c) => c.hashCode, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'int'), + isNullValue: (CT_ c) => false, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + renderSimple( + c.hashCode, + ast, + r.template, + sink, + parent: r, + getters: _invisibleGetters['int']!, + ); }, - ) - as Map>; + ), + }, + ) as Map>; Renderer_Object( Object context, @@ -626,47 +583,43 @@ class Renderer_Property1 extends RendererBase { static final Map _propertyMapCache = {}; static Map> propertyMap() => _propertyMapCache.putIfAbsent( - CT_, - () => { - ...Renderer_Object.propertyMap(), - 'p2': Property( - getValue: (CT_ c) => c.p2, - renderVariable: - (CT_ c, Property self, List remainingNames) { - if (remainingNames.isEmpty) { - return self.getValue(c).toString(); - } - var name = remainingNames.first; - var nextProperty = Renderer_Property2.propertyMap() - .getValue(name); - return nextProperty.renderVariable( - self.getValue(c) as Property2, - nextProperty, - [...remainingNames.skip(1)], - ); - }, - - isNullValue: (CT_ c) => c.p2 == null, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - _render_Property2( - c.p2!, - ast, - r.template, - sink, - parent: r, - ); - }, - ), + CT_, + () => { + ...Renderer_Object.propertyMap(), + 'p2': Property( + getValue: (CT_ c) => c.p2, + renderVariable: + (CT_ c, Property self, List remainingNames) { + if (remainingNames.isEmpty) { + return self.getValue(c).toString(); + } + var name = remainingNames.first; + var nextProperty = + Renderer_Property2.propertyMap().getValue(name); + return nextProperty.renderVariable( + self.getValue(c) as Property2, + nextProperty, + [...remainingNames.skip(1)], + ); + }, + isNullValue: (CT_ c) => c.p2 == null, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + _render_Property2( + c.p2!, + ast, + r.template, + sink, + parent: r, + ); }, - ) - as Map>; + ), + }, + ) as Map>; Renderer_Property1( Property1 context, @@ -700,38 +653,34 @@ class Renderer_Property2 extends RendererBase { static final Map _propertyMapCache = {}; static Map> propertyMap() => _propertyMapCache.putIfAbsent( - CT_, - () => { - ...Renderer_Object.propertyMap(), - ...Renderer_Mixin1.propertyMap(), - 's': Property( - getValue: (CT_ c) => c.s, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'String'), - - isNullValue: (CT_ c) => c.s == null, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - renderSimple( - c.s, - ast, - r.template, - sink, - parent: r, - getters: _invisibleGetters['String']!, - ); - }, - ), + CT_, + () => { + ...Renderer_Object.propertyMap(), + ...Renderer_Mixin1.propertyMap(), + 's': Property( + getValue: (CT_ c) => c.s, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'String'), + isNullValue: (CT_ c) => c.s == null, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + renderSimple( + c.s, + ast, + r.template, + sink, + parent: r, + getters: _invisibleGetters['String']!, + ); }, - ) - as Map>; + ), + }, + ) as Map>; Renderer_Property2( Property2 context, @@ -765,37 +714,33 @@ class Renderer_Property3 extends RendererBase { static final Map _propertyMapCache = {}; static Map> propertyMap() => _propertyMapCache.putIfAbsent( - CT_, - () => { - ...Renderer_Object.propertyMap(), - 's': Property( - getValue: (CT_ c) => c.s, - renderVariable: - (CT_ c, Property self, List remainingNames) => - self.renderSimpleVariable(c, remainingNames, 'String'), - - isNullValue: (CT_ c) => c.s == null, - - renderValue: - ( - CT_ c, - RendererBase r, - List ast, - StringSink sink, - ) { - renderSimple( - c.s, - ast, - r.template, - sink, - parent: r, - getters: _invisibleGetters['String']!, - ); - }, - ), + CT_, + () => { + ...Renderer_Object.propertyMap(), + 's': Property( + getValue: (CT_ c) => c.s, + renderVariable: + (CT_ c, Property self, List remainingNames) => + self.renderSimpleVariable(c, remainingNames, 'String'), + isNullValue: (CT_ c) => c.s == null, + renderValue: ( + CT_ c, + RendererBase r, + List ast, + StringSink sink, + ) { + renderSimple( + c.s, + ast, + r.template, + sink, + parent: r, + getters: _invisibleGetters['String']!, + ); }, - ) - as Map>; + ), + }, + ) as Map>; Renderer_Property3( Property3 context, diff --git a/testing/test_package/lib/example.dart b/testing/test_package/lib/example.dart index 8506528dee..1730c6cbfc 100644 --- a/testing/test_package/lib/example.dart +++ b/testing/test_package/lib/example.dart @@ -127,7 +127,7 @@ class Apple { /// @nodoc no docs int? notDocumented; - + /// No public docs for this @internal int? internalField; @@ -173,9 +173,9 @@ class Apple { * @nodoc method not documented */ void notAPublicMethod() {} - - /// No public docs for this - // ignore: invalid_internal_annotation + + /// No public docs for this + // ignore: invalid_internal_annotation @internal void internalMethod() {} @@ -250,8 +250,9 @@ class B extends Apple with Cat { @override void abstractMethod() {} - - @override void internalMethod() {} + + @override + void internalMethod() {} } /// Reference to nullable type: [Apple?] and null-checked variable [myNumber!]. diff --git a/tool/task.dart b/tool/task.dart index 74b2bcf7c9..edd4564916 100644 --- a/tool/task.dart +++ b/tool/task.dart @@ -95,10 +95,13 @@ Future runAnalyze(ArgResults commandResults) async { } } -Future analyzePackage() async => - await SubprocessLauncher('analyze').runStreamedDartCommand( - ['analyze', '--fatal-infos', '.'], - ); +Future analyzePackage() async { + await SubprocessLauncher('format').runStreamedDartCommand( + ['format', '--output=none', '--set-exit-if-changed', '.']); + await SubprocessLauncher('analyze').runStreamedDartCommand( + ['analyze', '--fatal-infos', '.'], + ); +} Future analyzeTestPackages() async { var testPackagePaths = [ From 7917069fb3ef5cfb43f2264321a4d6a9d539d6a2 Mon Sep 17 00:00:00 2001 From: Istvan Soos Date: Thu, 3 Jul 2025 17:23:46 +0200 Subject: [PATCH 2/2] Run the formatter on the generated code. --- tool/task.dart | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/tool/task.dart b/tool/task.dart index edd4564916..22088ac32a 100644 --- a/tool/task.dart +++ b/tool/task.dart @@ -122,6 +122,10 @@ Future analyzeTestPackages() async { } } +Future _runFormatter() async { + await SubprocessLauncher('formatter').runStreamedDartCommand(['format', '.']); +} + Future _buildHelp() async { print(''' Usage: @@ -156,8 +160,11 @@ Future buildAll() async { await buildDartdocOptions(); } -Future buildRenderers() async => await SubprocessLauncher('build') - .runStreamedDartCommand([path.join('tool', 'mustachio', 'builder.dart')]); +Future buildRenderers() async { + await SubprocessLauncher('build') + .runStreamedDartCommand([path.join('tool', 'mustachio', 'builder.dart')]); + await _runFormatter(); +} Future buildDartdocOptions() async { var version = _getPackageVersion();