| // GENERATED CODE. DO NOT EDIT. |
| // |
| // To change the contents of this library, make changes to the builder source |
| // files in the tool/mustachio/ directory. |
| |
| // ignore_for_file: camel_case_types, deprecated_member_use_from_same_package |
| // ignore_for_file: non_constant_identifier_names, unnecessary_string_escapes |
| // ignore_for_file: unused_import |
| // ignore_for_file: use_super_parameters |
| |
| // ignore_for_file: analyzer_use_new_elements |
| |
| import 'package:dartdoc/src/element_type.dart'; |
| import 'package:dartdoc/src/generator/template_data.dart'; |
| import 'package:dartdoc/src/model/annotation.dart'; |
| import 'package:dartdoc/src/model/attribute.dart'; |
| import 'package:dartdoc/src/model/comment_referable.dart'; |
| import 'package:dartdoc/src/model/feature_set.dart'; |
| import 'package:dartdoc/src/model/language_feature.dart'; |
| import 'package:dartdoc/src/model/model.dart'; |
| import 'package:dartdoc/src/mustachio/parser.dart'; |
| import 'package:dartdoc/src/mustachio/renderer_base.dart'; |
| import 'package:dartdoc/src/warnings.dart'; |
| import 'templates.dart'; |
| |
| void _render_Accessor( |
| Accessor context, |
| List<MustachioNode> ast, |
| Template template, |
| StringSink sink, { |
| RendererBase<Object>? parent, |
| }) { |
| var renderer = _Renderer_Accessor(context, parent, template, sink); |
| renderer.renderBlock(ast); |
| } |
| |
| class _Renderer_Accessor extends RendererBase<Accessor> { |
| static final Map<Type, Object> _propertyMapCache = {}; |
| static Map<String, Property<CT_>> propertyMap<CT_ extends Accessor>() => |
| _propertyMapCache.putIfAbsent( |
| CT_, |
| () => { |
| ..._Renderer_ModelElement.propertyMap<CT_>(), |
| 'aboveSidebarPath': Property( |
| getValue: (CT_ c) => c.aboveSidebarPath, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = remainingNames.first; |
| var nextProperty = _Renderer_String.propertyMap().getValue( |
| name, |
| ); |
| return nextProperty.renderVariable( |
| self.getValue(c) as String, |
| nextProperty, |
| [...remainingNames.skip(1)], |
| ); |
| }, |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String( |
| c.aboveSidebarPath, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'belowSidebarPath': Property( |
| getValue: (CT_ c) => c.belowSidebarPath, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = 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<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String( |
| c.belowSidebarPath!, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'characterLocation': Property( |
| getValue: (CT_ c) => c.characterLocation, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'CharacterLocation', |
| ), |
| |
| isNullValue: (CT_ c) => c.characterLocation == null, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, |
| List<String> 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<CT_> r, |
| List<MustachioNode> 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<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = remainingNames.first; |
| var nextProperty = _Renderer_String.propertyMap().getValue( |
| name, |
| ); |
| return nextProperty.renderVariable( |
| self.getValue(c) as String, |
| nextProperty, |
| [...remainingNames.skip(1)], |
| ); |
| }, |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String( |
| c.documentationComment, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'element': Property( |
| getValue: (CT_ c) => c.element, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'PropertyAccessorElement', |
| ), |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| renderSimple( |
| c.element, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| getters: _invisibleGetters['PropertyAccessorElement']!, |
| ); |
| }, |
| ), |
| 'element2': Property( |
| getValue: (CT_ c) => c.element2, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'PropertyAccessorElement2', |
| ), |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| renderSimple( |
| c.element2, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| getters: _invisibleGetters['PropertyAccessorElement2']!, |
| ); |
| }, |
| ), |
| 'enclosingCombo': Property( |
| getValue: (CT_ c) => c.enclosingCombo, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> 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<CT_> r, |
| List<MustachioNode> 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<CT_> self, |
| List<String> 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<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_ModelElement( |
| c.enclosingElement, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'filePath': Property( |
| getValue: (CT_ c) => c.filePath, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = remainingNames.first; |
| var nextProperty = _Renderer_String.propertyMap().getValue( |
| name, |
| ); |
| return nextProperty.renderVariable( |
| self.getValue(c) as String, |
| nextProperty, |
| [...remainingNames.skip(1)], |
| ); |
| }, |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String(c.filePath, ast, r.template, sink, parent: r); |
| }, |
| ), |
| 'hasDocumentationComment': Property( |
| getValue: (CT_ c) => c.hasDocumentationComment, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'bool'), |
| |
| getBool: (CT_ c) => c.hasDocumentationComment, |
| ), |
| 'href': Property( |
| getValue: (CT_ c) => c.href, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = 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<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String(c.href!, ast, r.template, sink, parent: r); |
| }, |
| ), |
| 'isCanonical': Property( |
| getValue: (CT_ c) => c.isCanonical, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'bool'), |
| |
| getBool: (CT_ c) => c.isCanonical, |
| ), |
| 'isGetter': Property( |
| getValue: (CT_ c) => c.isGetter, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'bool'), |
| |
| getBool: (CT_ c) => c.isGetter, |
| ), |
| 'isSetter': Property( |
| getValue: (CT_ c) => c.isSetter, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'bool'), |
| |
| getBool: (CT_ c) => c.isSetter, |
| ), |
| 'isSynthetic': Property( |
| getValue: (CT_ c) => c.isSynthetic, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'bool'), |
| |
| getBool: (CT_ c) => c.isSynthetic, |
| ), |
| 'kind': Property( |
| getValue: (CT_ c) => c.kind, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'Kind'), |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, |
| List<String> 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<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_Callable( |
| c.modelType, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'originalMember': Property( |
| getValue: (CT_ c) => c.originalMember, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'ExecutableMember', |
| ), |
| |
| isNullValue: (CT_ c) => c.originalMember == null, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'Map<String, CommentReferable>', |
| ), |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'Iterable<CommentReferable>', |
| ), |
| |
| renderIterable: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = remainingNames.first; |
| var nextProperty = _Renderer_String.propertyMap().getValue( |
| name, |
| ); |
| return nextProperty.renderVariable( |
| self.getValue(c) as String, |
| nextProperty, |
| [...remainingNames.skip(1)], |
| ); |
| }, |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String( |
| c.sourceCode, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| }, |
| ) |
| as Map<String, Property<CT_>>; |
| |
| _Renderer_Accessor( |
| Accessor context, |
| RendererBase<Object>? parent, |
| Template template, |
| StringSink sink, |
| ) : super(context, parent, template, sink); |
| |
| @override |
| Property<Accessor>? getProperty(String key) { |
| if (propertyMap<Accessor>().containsKey(key)) { |
| return propertyMap<Accessor>()[key]; |
| } else { |
| return null; |
| } |
| } |
| } |
| |
| void _render_Annotation( |
| Annotation context, |
| List<MustachioNode> ast, |
| Template template, |
| StringSink sink, { |
| RendererBase<Object>? parent, |
| }) { |
| var renderer = _Renderer_Annotation(context, parent, template, sink); |
| renderer.renderBlock(ast); |
| } |
| |
| class _Renderer_Annotation extends RendererBase<Annotation> { |
| static final Map<Type, Object> _propertyMapCache = {}; |
| static Map<String, Property<CT_>> propertyMap<CT_ extends Annotation>() => |
| _propertyMapCache.putIfAbsent( |
| CT_, |
| () => { |
| ..._Renderer_Attribute.propertyMap<CT_>(), |
| 'cssClassName': Property( |
| getValue: (CT_ c) => c.cssClassName, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = remainingNames.first; |
| var nextProperty = _Renderer_String.propertyMap().getValue( |
| name, |
| ); |
| return nextProperty.renderVariable( |
| self.getValue(c) as String, |
| nextProperty, |
| [...remainingNames.skip(1)], |
| ); |
| }, |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String( |
| c.cssClassName, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'hashCode': Property( |
| getValue: (CT_ c) => c.hashCode, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'int'), |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'bool'), |
| |
| getBool: (CT_ c) => c.isPublic, |
| ), |
| 'linkedName': Property( |
| getValue: (CT_ c) => c.linkedName, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = remainingNames.first; |
| var nextProperty = _Renderer_String.propertyMap().getValue( |
| name, |
| ); |
| return nextProperty.renderVariable( |
| self.getValue(c) as String, |
| nextProperty, |
| [...remainingNames.skip(1)], |
| ); |
| }, |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String( |
| c.linkedName, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'linkedNameWithParameters': Property( |
| getValue: (CT_ c) => c.linkedNameWithParameters, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = remainingNames.first; |
| var nextProperty = _Renderer_String.propertyMap().getValue( |
| name, |
| ); |
| return nextProperty.renderVariable( |
| self.getValue(c) as String, |
| nextProperty, |
| [...remainingNames.skip(1)], |
| ); |
| }, |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String( |
| c.linkedNameWithParameters, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| }, |
| ) |
| as Map<String, Property<CT_>>; |
| |
| _Renderer_Annotation( |
| Annotation context, |
| RendererBase<Object>? parent, |
| Template template, |
| StringSink sink, |
| ) : super(context, parent, template, sink); |
| |
| @override |
| Property<Annotation>? getProperty(String key) { |
| if (propertyMap<Annotation>().containsKey(key)) { |
| return propertyMap<Annotation>()[key]; |
| } else { |
| return null; |
| } |
| } |
| } |
| |
| class _Renderer_Attribute extends RendererBase<Attribute> { |
| static final Map<Type, Object> _propertyMapCache = {}; |
| static Map<String, Property<CT_>> propertyMap<CT_ extends Attribute>() => |
| _propertyMapCache.putIfAbsent( |
| CT_, |
| () => { |
| ..._Renderer_Object.propertyMap<CT_>(), |
| 'cssClassName': Property( |
| getValue: (CT_ c) => c.cssClassName, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = remainingNames.first; |
| var nextProperty = _Renderer_String.propertyMap().getValue( |
| name, |
| ); |
| return nextProperty.renderVariable( |
| self.getValue(c) as String, |
| nextProperty, |
| [...remainingNames.skip(1)], |
| ); |
| }, |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String( |
| c.cssClassName, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'linkedName': Property( |
| getValue: (CT_ c) => c.linkedName, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = remainingNames.first; |
| var nextProperty = _Renderer_String.propertyMap().getValue( |
| name, |
| ); |
| return nextProperty.renderVariable( |
| self.getValue(c) as String, |
| nextProperty, |
| [...remainingNames.skip(1)], |
| ); |
| }, |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String( |
| c.linkedName, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'linkedNameWithParameters': Property( |
| getValue: (CT_ c) => c.linkedNameWithParameters, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = remainingNames.first; |
| var nextProperty = _Renderer_String.propertyMap().getValue( |
| name, |
| ); |
| return nextProperty.renderVariable( |
| self.getValue(c) as String, |
| nextProperty, |
| [...remainingNames.skip(1)], |
| ); |
| }, |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String( |
| c.linkedNameWithParameters, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'sortGroup': Property( |
| getValue: (CT_ c) => c.sortGroup, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'int'), |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| renderSimple( |
| c.sortGroup, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| getters: _invisibleGetters['int']!, |
| ); |
| }, |
| ), |
| }, |
| ) |
| as Map<String, Property<CT_>>; |
| |
| _Renderer_Attribute( |
| Attribute context, |
| RendererBase<Object>? parent, |
| Template template, |
| StringSink sink, |
| ) : super(context, parent, template, sink); |
| |
| @override |
| Property<Attribute>? getProperty(String key) { |
| if (propertyMap<Attribute>().containsKey(key)) { |
| return propertyMap<Attribute>()[key]; |
| } else { |
| return null; |
| } |
| } |
| } |
| |
| void _render_Callable( |
| Callable context, |
| List<MustachioNode> ast, |
| Template template, |
| StringSink sink, { |
| RendererBase<Object>? parent, |
| }) { |
| var renderer = _Renderer_Callable(context, parent, template, sink); |
| renderer.renderBlock(ast); |
| } |
| |
| class _Renderer_Callable extends RendererBase<Callable> { |
| static final Map<Type, Object> _propertyMapCache = {}; |
| static Map<String, Property<CT_>> propertyMap<CT_ extends Callable>() => |
| _propertyMapCache.putIfAbsent( |
| CT_, |
| () => { |
| 'linkedName': Property( |
| getValue: (CT_ c) => c.linkedName, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = remainingNames.first; |
| var nextProperty = _Renderer_String.propertyMap().getValue( |
| name, |
| ); |
| return nextProperty.renderVariable( |
| self.getValue(c) as String, |
| nextProperty, |
| [...remainingNames.skip(1)], |
| ); |
| }, |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String( |
| c.linkedName, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'parameters': Property( |
| getValue: (CT_ c) => c.parameters, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'List<Parameter>', |
| ), |
| |
| renderIterable: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, |
| List<String> 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<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_ElementType( |
| c.returnType, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'type': Property( |
| getValue: (CT_ c) => c.type, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'FunctionType', |
| ), |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| renderSimple( |
| c.type, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| getters: _invisibleGetters['FunctionType']!, |
| ); |
| }, |
| ), |
| }, |
| ) |
| as Map<String, Property<CT_>>; |
| |
| _Renderer_Callable( |
| Callable context, |
| RendererBase<Object>? parent, |
| Template template, |
| StringSink sink, |
| ) : super(context, parent, template, sink); |
| |
| @override |
| Property<Callable>? getProperty(String key) { |
| if (propertyMap<Callable>().containsKey(key)) { |
| return propertyMap<Callable>()[key]; |
| } else { |
| return null; |
| } |
| } |
| } |
| |
| class _Renderer_CanonicalFor extends RendererBase<CanonicalFor> { |
| static final Map<Type, Object> _propertyMapCache = {}; |
| static Map<String, Property<CT_>> propertyMap<CT_ extends CanonicalFor>() => |
| _propertyMapCache.putIfAbsent( |
| CT_, |
| () => { |
| 'canonicalFor': Property( |
| getValue: (CT_ c) => c.canonicalFor, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'Set<String>', |
| ), |
| |
| renderIterable: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| return c.canonicalFor.map( |
| (e) => _render_String(e, ast, r.template, sink, parent: r), |
| ); |
| }, |
| ), |
| }, |
| ) |
| as Map<String, Property<CT_>>; |
| |
| _Renderer_CanonicalFor( |
| CanonicalFor context, |
| RendererBase<Object>? parent, |
| Template template, |
| StringSink sink, |
| ) : super(context, parent, template, sink); |
| |
| @override |
| Property<CanonicalFor>? getProperty(String key) { |
| if (propertyMap<CanonicalFor>().containsKey(key)) { |
| return propertyMap<CanonicalFor>()[key]; |
| } else { |
| return null; |
| } |
| } |
| } |
| |
| class _Renderer_Categorization extends RendererBase<Categorization> { |
| static final Map<Type, Object> _propertyMapCache = {}; |
| static Map<String, Property<CT_>> propertyMap<CT_ extends Categorization>() => |
| _propertyMapCache.putIfAbsent( |
| CT_, |
| () => { |
| 'categoryNames': Property( |
| getValue: (CT_ c) => c.categoryNames, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'List<String>', |
| ), |
| |
| isNullValue: (CT_ c) => c.categoryNames == null, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'Iterable<Category>', |
| ), |
| |
| renderIterable: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'bool'), |
| |
| getBool: (CT_ c) => c.hasCategorization, |
| ), |
| 'hasCategoryNames': Property( |
| getValue: (CT_ c) => c.hasCategoryNames, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'bool'), |
| |
| getBool: (CT_ c) => c.hasCategoryNames, |
| ), |
| 'hasSubCategoryNames': Property( |
| getValue: (CT_ c) => c.hasSubCategoryNames, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'bool'), |
| |
| getBool: (CT_ c) => c.hasSubCategoryNames, |
| ), |
| 'subCategoryNames': Property( |
| getValue: (CT_ c) => c.subCategoryNames, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'List<String>', |
| ), |
| |
| isNullValue: (CT_ c) => c.subCategoryNames == null, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| renderSimple( |
| c.subCategoryNames, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| getters: _invisibleGetters['List']!, |
| ); |
| }, |
| ), |
| }, |
| ) |
| as Map<String, Property<CT_>>; |
| |
| _Renderer_Categorization( |
| Categorization context, |
| RendererBase<Object>? parent, |
| Template template, |
| StringSink sink, |
| ) : super(context, parent, template, sink); |
| |
| @override |
| Property<Categorization>? getProperty(String key) { |
| if (propertyMap<Categorization>().containsKey(key)) { |
| return propertyMap<Categorization>()[key]; |
| } else { |
| return null; |
| } |
| } |
| } |
| |
| void _render_Category( |
| Category context, |
| List<MustachioNode> ast, |
| Template template, |
| StringSink sink, { |
| RendererBase<Object>? parent, |
| }) { |
| var renderer = _Renderer_Category(context, parent, template, sink); |
| renderer.renderBlock(ast); |
| } |
| |
| class _Renderer_Category extends RendererBase<Category> { |
| static final Map<Type, Object> _propertyMapCache = {}; |
| static Map<String, Property<CT_>> propertyMap<CT_ extends Category>() => |
| _propertyMapCache.putIfAbsent( |
| CT_, |
| () => { |
| ..._Renderer_Object.propertyMap<CT_>(), |
| ..._Renderer_Nameable.propertyMap<CT_>(), |
| ..._Renderer_Warnable.propertyMap<CT_>(), |
| ..._Renderer_CommentReferable.propertyMap<CT_>(), |
| ..._Renderer_Locatable.propertyMap<CT_>(), |
| ..._Renderer_MarkdownFileDocumentation.propertyMap<CT_>(), |
| ..._Renderer_LibraryContainer.propertyMap<CT_>(), |
| ..._Renderer_TopLevelContainer.propertyMap<CT_>(), |
| ..._Renderer_Nameable.propertyMap<CT_>(), |
| ..._Renderer_Warnable.propertyMap<CT_>(), |
| ..._Renderer_CommentReferable.propertyMap<CT_>(), |
| ..._Renderer_Locatable.propertyMap<CT_>(), |
| ..._Renderer_MarkdownFileDocumentation.propertyMap<CT_>(), |
| ..._Renderer_LibraryContainer.propertyMap<CT_>(), |
| ..._Renderer_TopLevelContainer.propertyMap<CT_>(), |
| 'aboveSidebarPath': Property( |
| getValue: (CT_ c) => c.aboveSidebarPath, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = 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<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String( |
| c.aboveSidebarPath!, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'belowSidebarPath': Property( |
| getValue: (CT_ c) => c.belowSidebarPath, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = 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<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String( |
| c.belowSidebarPath!, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'categoryIndex': Property( |
| getValue: (CT_ c) => c.categoryIndex, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'int'), |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = remainingNames.first; |
| var nextProperty = _Renderer_String.propertyMap().getValue( |
| name, |
| ); |
| return nextProperty.renderVariable( |
| self.getValue(c) as String, |
| nextProperty, |
| [...remainingNames.skip(1)], |
| ); |
| }, |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String( |
| c.categoryLabel, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'classes': Property( |
| getValue: (CT_ c) => c.classes, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'Iterable<Class>', |
| ), |
| |
| renderIterable: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'DartdocOptionContext', |
| ), |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'List<TopLevelVariable>', |
| ), |
| |
| renderIterable: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'List<String>', |
| ), |
| |
| renderIterable: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'File'), |
| |
| isNullValue: (CT_ c) => c.documentationFile == null, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'List<Locatable>', |
| ), |
| |
| renderIterable: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'DocumentLocation', |
| ), |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'Element'), |
| |
| isNullValue: (CT_ c) => c.element == null, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| renderSimple( |
| c.element, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| getters: _invisibleGetters['Element']!, |
| ); |
| }, |
| ), |
| 'element2': Property( |
| getValue: (CT_ c) => c.element2, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'Element2', |
| ), |
| |
| isNullValue: (CT_ c) => c.element2 == null, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| renderSimple( |
| c.element2, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| getters: _invisibleGetters['Element2']!, |
| ); |
| }, |
| ), |
| 'enclosingName': Property( |
| getValue: (CT_ c) => c.enclosingName, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = remainingNames.first; |
| var nextProperty = _Renderer_String.propertyMap().getValue( |
| name, |
| ); |
| return nextProperty.renderVariable( |
| self.getValue(c) as String, |
| nextProperty, |
| [...remainingNames.skip(1)], |
| ); |
| }, |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String( |
| c.enclosingName, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'enums': Property( |
| getValue: (CT_ c) => c.enums, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'List<Enum>', |
| ), |
| |
| renderIterable: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'Iterable<Class>', |
| ), |
| |
| renderIterable: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'List<ExtensionType>', |
| ), |
| |
| renderIterable: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'List<Extension>', |
| ), |
| |
| renderIterable: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'Iterable<ExternalItem>', |
| ), |
| |
| renderIterable: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| return c.externalItems.map( |
| (e) => _render_ExternalItem( |
| e, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ), |
| ); |
| }, |
| ), |
| 'filePath': Property( |
| getValue: (CT_ c) => c.filePath, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = remainingNames.first; |
| var nextProperty = _Renderer_String.propertyMap().getValue( |
| name, |
| ); |
| return nextProperty.renderVariable( |
| self.getValue(c) as String, |
| nextProperty, |
| [...remainingNames.skip(1)], |
| ); |
| }, |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String(c.filePath, ast, r.template, sink, parent: r); |
| }, |
| ), |
| 'functions': Property( |
| getValue: (CT_ c) => c.functions, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'List<ModelFunction>', |
| ), |
| |
| renderIterable: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = 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<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String(c.href!, ast, r.template, sink, parent: r); |
| }, |
| ), |
| 'isCanonical': Property( |
| getValue: (CT_ c) => c.isCanonical, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'bool'), |
| |
| getBool: (CT_ c) => c.isCanonical, |
| ), |
| 'isDocumented': Property( |
| getValue: (CT_ c) => c.isDocumented, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'bool'), |
| |
| getBool: (CT_ c) => c.isDocumented, |
| ), |
| 'kind': Property( |
| getValue: (CT_ c) => c.kind, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'Kind'), |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = remainingNames.first; |
| var nextProperty = _Renderer_String.propertyMap().getValue( |
| name, |
| ); |
| return nextProperty.renderVariable( |
| self.getValue(c) as String, |
| nextProperty, |
| [...remainingNames.skip(1)], |
| ); |
| }, |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String( |
| c.linkedName, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'mixins': Property( |
| getValue: (CT_ c) => c.mixins, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'List<Mixin>', |
| ), |
| |
| renderIterable: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = remainingNames.first; |
| var nextProperty = _Renderer_String.propertyMap().getValue( |
| name, |
| ); |
| return nextProperty.renderVariable( |
| self.getValue(c) as String, |
| nextProperty, |
| [...remainingNames.skip(1)], |
| ); |
| }, |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String(c.name, ast, r.template, sink, parent: r); |
| }, |
| ), |
| 'package': Property( |
| getValue: (CT_ c) => c.package, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> 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<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_Package(c.package, ast, r.template, sink, parent: r); |
| }, |
| ), |
| 'packageGraph': Property( |
| getValue: (CT_ c) => c.packageGraph, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'PackageGraph', |
| ), |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'List<TopLevelVariable>', |
| ), |
| |
| renderIterable: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| return c.properties.map( |
| (e) => _render_TopLevelVariable( |
| e, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ), |
| ); |
| }, |
| ), |
| 'referenceChildren': Property( |
| getValue: (CT_ c) => c.referenceChildren, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'Map<String, CommentReferable>', |
| ), |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'Iterable<CommentReferable>', |
| ), |
| |
| renderIterable: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = remainingNames.first; |
| var nextProperty = _Renderer_String.propertyMap().getValue( |
| name, |
| ); |
| return nextProperty.renderVariable( |
| self.getValue(c) as String, |
| nextProperty, |
| [...remainingNames.skip(1)], |
| ); |
| }, |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String(c.sortKey, ast, r.template, sink, parent: r); |
| }, |
| ), |
| 'typedefs': Property( |
| getValue: (CT_ c) => c.typedefs, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'List<Typedef>', |
| ), |
| |
| renderIterable: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| return c.typedefs.map( |
| (e) => _render_Typedef(e, ast, r.template, sink, parent: r), |
| ); |
| }, |
| ), |
| }, |
| ) |
| as Map<String, Property<CT_>>; |
| |
| _Renderer_Category( |
| Category context, |
| RendererBase<Object>? parent, |
| Template template, |
| StringSink sink, |
| ) : super(context, parent, template, sink); |
| |
| @override |
| Property<Category>? getProperty(String key) { |
| if (propertyMap<Category>().containsKey(key)) { |
| return propertyMap<Category>()[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_CategoryTemplateData( |
| CategoryTemplateData context, |
| List<MustachioNode> ast, |
| Template template, |
| StringSink sink, { |
| RendererBase<Object>? parent, |
| }) { |
| var renderer = _Renderer_CategoryTemplateData( |
| context, |
| parent, |
| template, |
| sink, |
| ); |
| renderer.renderBlock(ast); |
| } |
| |
| class _Renderer_CategoryTemplateData |
| extends RendererBase<CategoryTemplateData> { |
| static final Map<Type, Object> _propertyMapCache = {}; |
| static Map<String, Property<CT_>> |
| propertyMap<CT_ extends CategoryTemplateData>() => |
| _propertyMapCache.putIfAbsent( |
| CT_, |
| () => { |
| ..._Renderer_TemplateData.propertyMap<Category, CT_>(), |
| ..._Renderer_OneDirectoryDown.propertyMap<Category, CT_>(), |
| 'category': Property( |
| getValue: (CT_ c) => c.category, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> 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<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_Category( |
| c.category, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'layoutTitle': Property( |
| getValue: (CT_ c) => c.layoutTitle, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = remainingNames.first; |
| var nextProperty = _Renderer_String.propertyMap().getValue( |
| name, |
| ); |
| return nextProperty.renderVariable( |
| self.getValue(c) as String, |
| nextProperty, |
| [...remainingNames.skip(1)], |
| ); |
| }, |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String( |
| c.layoutTitle, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'metaDescription': Property( |
| getValue: (CT_ c) => c.metaDescription, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = remainingNames.first; |
| var nextProperty = _Renderer_String.propertyMap().getValue( |
| name, |
| ); |
| return nextProperty.renderVariable( |
| self.getValue(c) as String, |
| nextProperty, |
| [...remainingNames.skip(1)], |
| ); |
| }, |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String( |
| c.metaDescription, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'navLinks': Property( |
| getValue: (CT_ c) => c.navLinks, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'List<Documentable>', |
| ), |
| |
| renderIterable: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, |
| List<String> 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<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_Category(c.self, ast, r.template, sink, parent: r); |
| }, |
| ), |
| 'title': Property( |
| getValue: (CT_ c) => c.title, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = remainingNames.first; |
| var nextProperty = _Renderer_String.propertyMap().getValue( |
| name, |
| ); |
| return nextProperty.renderVariable( |
| self.getValue(c) as String, |
| nextProperty, |
| [...remainingNames.skip(1)], |
| ); |
| }, |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String(c.title, ast, r.template, sink, parent: r); |
| }, |
| ), |
| }, |
| ) |
| as Map<String, Property<CT_>>; |
| |
| _Renderer_CategoryTemplateData( |
| CategoryTemplateData context, |
| RendererBase<Object>? parent, |
| Template template, |
| StringSink sink, |
| ) : super(context, parent, template, sink); |
| |
| @override |
| Property<CategoryTemplateData>? getProperty(String key) { |
| if (propertyMap<CategoryTemplateData>().containsKey(key)) { |
| return propertyMap<CategoryTemplateData>()[key]; |
| } else { |
| return null; |
| } |
| } |
| } |
| |
| void _render_Class( |
| Class context, |
| List<MustachioNode> ast, |
| Template template, |
| StringSink sink, { |
| RendererBase<Object>? parent, |
| }) { |
| var renderer = _Renderer_Class(context, parent, template, sink); |
| renderer.renderBlock(ast); |
| } |
| |
| class _Renderer_Class extends RendererBase<Class> { |
| static final Map<Type, Object> _propertyMapCache = {}; |
| static Map<String, Property<CT_>> propertyMap<CT_ extends Class>() => |
| _propertyMapCache.putIfAbsent( |
| CT_, |
| () => { |
| ..._Renderer_InheritingContainer.propertyMap<CT_>(), |
| ..._Renderer_Constructable.propertyMap<CT_>(), |
| ..._Renderer_MixedInTypes.propertyMap<CT_>(), |
| 'allModelElements': Property( |
| getValue: (CT_ c) => c.allModelElements, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'List<ModelElement>', |
| ), |
| |
| renderIterable: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'ClassElement', |
| ), |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| renderSimple( |
| c.element, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| getters: _invisibleGetters['ClassElement']!, |
| ); |
| }, |
| ), |
| 'element2': Property( |
| getValue: (CT_ c) => c.element2, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'ClassElement2', |
| ), |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| renderSimple( |
| c.element2, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| getters: _invisibleGetters['ClassElement2']!, |
| ); |
| }, |
| ), |
| 'fileName': Property( |
| getValue: (CT_ c) => c.fileName, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = remainingNames.first; |
| var nextProperty = _Renderer_String.propertyMap().getValue( |
| name, |
| ); |
| return nextProperty.renderVariable( |
| self.getValue(c) as String, |
| nextProperty, |
| [...remainingNames.skip(1)], |
| ); |
| }, |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String(c.fileName, ast, r.template, sink, parent: r); |
| }, |
| ), |
| 'inheritanceChain': Property( |
| getValue: (CT_ c) => c.inheritanceChain, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'List<InheritingContainer>', |
| ), |
| |
| renderIterable: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'bool'), |
| |
| getBool: (CT_ c) => c.isAbstract, |
| ), |
| 'isBase': Property( |
| getValue: (CT_ c) => c.isBase, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'bool'), |
| |
| getBool: (CT_ c) => c.isBase, |
| ), |
| 'isErrorOrException': Property( |
| getValue: (CT_ c) => c.isErrorOrException, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'bool'), |
| |
| getBool: (CT_ c) => c.isErrorOrException, |
| ), |
| 'isFinal': Property( |
| getValue: (CT_ c) => c.isFinal, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'bool'), |
| |
| getBool: (CT_ c) => c.isFinal, |
| ), |
| 'isImplementableInterface': Property( |
| getValue: (CT_ c) => c.isImplementableInterface, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'bool'), |
| |
| getBool: (CT_ c) => c.isImplementableInterface, |
| ), |
| 'isMixinClass': Property( |
| getValue: (CT_ c) => c.isMixinClass, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'bool'), |
| |
| getBool: (CT_ c) => c.isMixinClass, |
| ), |
| 'isSealed': Property( |
| getValue: (CT_ c) => c.isSealed, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'bool'), |
| |
| getBool: (CT_ c) => c.isSealed, |
| ), |
| 'kind': Property( |
| getValue: (CT_ c) => c.kind, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'Kind'), |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = remainingNames.first; |
| var nextProperty = _Renderer_String.propertyMap().getValue( |
| name, |
| ); |
| return nextProperty.renderVariable( |
| self.getValue(c) as String, |
| nextProperty, |
| [...remainingNames.skip(1)], |
| ); |
| }, |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String( |
| c.relationshipsClass, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'sidebarPath': Property( |
| getValue: (CT_ c) => c.sidebarPath, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = remainingNames.first; |
| var nextProperty = _Renderer_String.propertyMap().getValue( |
| name, |
| ); |
| return nextProperty.renderVariable( |
| self.getValue(c) as String, |
| nextProperty, |
| [...remainingNames.skip(1)], |
| ); |
| }, |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String( |
| c.sidebarPath, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| }, |
| ) |
| as Map<String, Property<CT_>>; |
| |
| _Renderer_Class( |
| Class context, |
| RendererBase<Object>? parent, |
| Template template, |
| StringSink sink, |
| ) : super(context, parent, template, sink); |
| |
| @override |
| Property<Class>? getProperty(String key) { |
| if (propertyMap<Class>().containsKey(key)) { |
| return propertyMap<Class>()[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<MustachioNode> ast, |
| Template template, |
| StringSink sink, { |
| RendererBase<Object>? parent, |
| }) { |
| var renderer = _Renderer_ClassTemplateData(context, parent, template, sink); |
| renderer.renderBlock(ast); |
| } |
| |
| class _Renderer_ClassTemplateData extends RendererBase<ClassTemplateData> { |
| static final Map<Type, Object> _propertyMapCache = {}; |
| static Map<String, Property<CT_>> |
| propertyMap<CT_ extends ClassTemplateData>() => |
| _propertyMapCache.putIfAbsent( |
| CT_, |
| () => { |
| ..._Renderer_InheritingContainerTemplateData.propertyMap< |
| Class, |
| CT_ |
| >(), |
| 'clazz': Property( |
| getValue: (CT_ c) => c.clazz, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> 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<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_Class(c.clazz, ast, r.template, sink, parent: r); |
| }, |
| ), |
| }, |
| ) |
| as Map<String, Property<CT_>>; |
| |
| _Renderer_ClassTemplateData( |
| ClassTemplateData context, |
| RendererBase<Object>? parent, |
| Template template, |
| StringSink sink, |
| ) : super(context, parent, template, sink); |
| |
| @override |
| Property<ClassTemplateData>? getProperty(String key) { |
| if (propertyMap<ClassTemplateData>().containsKey(key)) { |
| return propertyMap<ClassTemplateData>()[key]; |
| } else { |
| return null; |
| } |
| } |
| } |
| |
| class _Renderer_CommentReferable extends RendererBase<CommentReferable> { |
| static final Map<Type, Object> _propertyMapCache = {}; |
| static Map<String, Property<CT_>> |
| propertyMap<CT_ extends CommentReferable>() => |
| _propertyMapCache.putIfAbsent( |
| CT_, |
| () => { |
| 'href': Property( |
| getValue: (CT_ c) => c.href, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = 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<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String(c.href!, ast, r.template, sink, parent: r); |
| }, |
| ), |
| 'library': Property( |
| getValue: (CT_ c) => c.library, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> 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<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_Library(c.library!, ast, r.template, sink, parent: r); |
| }, |
| ), |
| 'referenceChildren': Property( |
| getValue: (CT_ c) => c.referenceChildren, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'Map<String, CommentReferable>', |
| ), |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'Iterable<CommentReferable>', |
| ), |
| |
| isNullValue: (CT_ c) => c.referenceGrandparentOverrides == null, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = remainingNames.first; |
| var nextProperty = _Renderer_String.propertyMap().getValue( |
| name, |
| ); |
| return nextProperty.renderVariable( |
| self.getValue(c) as String, |
| nextProperty, |
| [...remainingNames.skip(1)], |
| ); |
| }, |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String( |
| c.referenceName, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'referenceParents': Property( |
| getValue: (CT_ c) => c.referenceParents, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'Iterable<CommentReferable>', |
| ), |
| |
| renderIterable: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'Scope'), |
| |
| isNullValue: (CT_ c) => c.scope == null, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| renderSimple( |
| c.scope, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| getters: _invisibleGetters['Scope']!, |
| ); |
| }, |
| ), |
| }, |
| ) |
| as Map<String, Property<CT_>>; |
| |
| _Renderer_CommentReferable( |
| CommentReferable context, |
| RendererBase<Object>? parent, |
| Template template, |
| StringSink sink, |
| ) : super(context, parent, template, sink); |
| |
| @override |
| Property<CommentReferable>? getProperty(String key) { |
| if (propertyMap<CommentReferable>().containsKey(key)) { |
| return propertyMap<CommentReferable>()[key]; |
| } else { |
| return null; |
| } |
| } |
| } |
| |
| class _Renderer_Constructable extends RendererBase<Constructable> { |
| static final Map<Type, Object> _propertyMapCache = {}; |
| static Map<String, Property<CT_>> propertyMap<CT_ extends Constructable>() => |
| _propertyMapCache.putIfAbsent( |
| CT_, |
| () => { |
| 'constructors': Property( |
| getValue: (CT_ c) => c.constructors, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'List<Constructor>', |
| ), |
| |
| renderIterable: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'bool'), |
| |
| getBool: (CT_ c) => c.hasPublicConstructors, |
| ), |
| 'publicConstructorsSorted': Property( |
| getValue: (CT_ c) => c.publicConstructorsSorted, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'List<Constructor>', |
| ), |
| |
| renderIterable: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| return c.publicConstructorsSorted.map( |
| (e) => _render_Constructor( |
| e, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ), |
| ); |
| }, |
| ), |
| }, |
| ) |
| as Map<String, Property<CT_>>; |
| |
| _Renderer_Constructable( |
| Constructable context, |
| RendererBase<Object>? parent, |
| Template template, |
| StringSink sink, |
| ) : super(context, parent, template, sink); |
| |
| @override |
| Property<Constructable>? getProperty(String key) { |
| if (propertyMap<Constructable>().containsKey(key)) { |
| return propertyMap<Constructable>()[key]; |
| } else { |
| return null; |
| } |
| } |
| } |
| |
| void _render_Constructor( |
| Constructor context, |
| List<MustachioNode> ast, |
| Template template, |
| StringSink sink, { |
| RendererBase<Object>? parent, |
| }) { |
| var renderer = _Renderer_Constructor(context, parent, template, sink); |
| renderer.renderBlock(ast); |
| } |
| |
| class _Renderer_Constructor extends RendererBase<Constructor> { |
| static final Map<Type, Object> _propertyMapCache = {}; |
| static Map<String, Property<CT_>> propertyMap<CT_ extends Constructor>() => |
| _propertyMapCache.putIfAbsent( |
| CT_, |
| () => { |
| ..._Renderer_ModelElement.propertyMap<CT_>(), |
| ..._Renderer_ContainerMember.propertyMap<CT_>(), |
| ..._Renderer_TypeParameters.propertyMap<CT_>(), |
| ..._Renderer_ContainerMember.propertyMap<CT_>(), |
| ..._Renderer_TypeParameters.propertyMap<CT_>(), |
| 'aboveSidebarPath': Property( |
| getValue: (CT_ c) => c.aboveSidebarPath, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = remainingNames.first; |
| var nextProperty = _Renderer_String.propertyMap().getValue( |
| name, |
| ); |
| return nextProperty.renderVariable( |
| self.getValue(c) as String, |
| nextProperty, |
| [...remainingNames.skip(1)], |
| ); |
| }, |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String( |
| c.aboveSidebarPath, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'belowSidebarPath': Property( |
| getValue: (CT_ c) => c.belowSidebarPath, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = 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<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String( |
| c.belowSidebarPath!, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'characterLocation': Property( |
| getValue: (CT_ c) => c.characterLocation, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'CharacterLocation', |
| ), |
| |
| isNullValue: (CT_ c) => c.characterLocation == null, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'ConstructorElement', |
| ), |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| renderSimple( |
| c.element, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| getters: _invisibleGetters['ConstructorElement']!, |
| ); |
| }, |
| ), |
| 'element2': Property( |
| getValue: (CT_ c) => c.element2, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'ConstructorElement2', |
| ), |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| renderSimple( |
| c.element2, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| getters: _invisibleGetters['ConstructorElement2']!, |
| ); |
| }, |
| ), |
| 'enclosingElement': Property( |
| getValue: (CT_ c) => c.enclosingElement, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> 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<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_Container( |
| c.enclosingElement, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'fileName': Property( |
| getValue: (CT_ c) => c.fileName, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = remainingNames.first; |
| var nextProperty = _Renderer_String.propertyMap().getValue( |
| name, |
| ); |
| return nextProperty.renderVariable( |
| self.getValue(c) as String, |
| nextProperty, |
| [...remainingNames.skip(1)], |
| ); |
| }, |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String(c.fileName, ast, r.template, sink, parent: r); |
| }, |
| ), |
| 'fullKind': Property( |
| getValue: (CT_ c) => c.fullKind, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = remainingNames.first; |
| var nextProperty = _Renderer_String.propertyMap().getValue( |
| name, |
| ); |
| return nextProperty.renderVariable( |
| self.getValue(c) as String, |
| nextProperty, |
| [...remainingNames.skip(1)], |
| ); |
| }, |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String(c.fullKind, ast, r.template, sink, parent: r); |
| }, |
| ), |
| 'fullyQualifiedName': Property( |
| getValue: (CT_ c) => c.fullyQualifiedName, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = remainingNames.first; |
| var nextProperty = _Renderer_String.propertyMap().getValue( |
| name, |
| ); |
| return nextProperty.renderVariable( |
| self.getValue(c) as String, |
| nextProperty, |
| [...remainingNames.skip(1)], |
| ); |
| }, |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String( |
| c.fullyQualifiedName, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'isConst': Property( |
| getValue: (CT_ c) => c.isConst, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'bool'), |
| |
| getBool: (CT_ c) => c.isConst, |
| ), |
| 'isFactory': Property( |
| getValue: (CT_ c) => c.isFactory, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'bool'), |
| |
| getBool: (CT_ c) => c.isFactory, |
| ), |
| 'isPublic': Property( |
| getValue: (CT_ c) => c.isPublic, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'bool'), |
| |
| getBool: (CT_ c) => c.isPublic, |
| ), |
| 'isUnnamedConstructor': Property( |
| getValue: (CT_ c) => c.isUnnamedConstructor, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'bool'), |
| |
| getBool: (CT_ c) => c.isUnnamedConstructor, |
| ), |
| 'kind': Property( |
| getValue: (CT_ c) => c.kind, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'Kind'), |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, |
| List<String> 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<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_Callable( |
| c.modelType, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'name': Property( |
| getValue: (CT_ c) => c.name, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = remainingNames.first; |
| var nextProperty = _Renderer_String.propertyMap().getValue( |
| name, |
| ); |
| return nextProperty.renderVariable( |
| self.getValue(c) as String, |
| nextProperty, |
| [...remainingNames.skip(1)], |
| ); |
| }, |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String(c.name, ast, r.template, sink, parent: r); |
| }, |
| ), |
| 'nameWithGenerics': Property( |
| getValue: (CT_ c) => c.nameWithGenerics, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = remainingNames.first; |
| var nextProperty = _Renderer_String.propertyMap().getValue( |
| name, |
| ); |
| return nextProperty.renderVariable( |
| self.getValue(c) as String, |
| nextProperty, |
| [...remainingNames.skip(1)], |
| ); |
| }, |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String( |
| c.nameWithGenerics, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'referenceChildren': Property( |
| getValue: (CT_ c) => c.referenceChildren, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'Map<String, CommentReferable>', |
| ), |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = remainingNames.first; |
| var nextProperty = _Renderer_String.propertyMap().getValue( |
| name, |
| ); |
| return nextProperty.renderVariable( |
| self.getValue(c) as String, |
| nextProperty, |
| [...remainingNames.skip(1)], |
| ); |
| }, |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String( |
| c.referenceName, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'shortName': Property( |
| getValue: (CT_ c) => c.shortName, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = 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<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String( |
| c.shortName!, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'typeParameters': Property( |
| getValue: (CT_ c) => c.typeParameters, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'List<TypeParameter>', |
| ), |
| |
| renderIterable: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| return c.typeParameters.map( |
| (e) => _render_TypeParameter( |
| e, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ), |
| ); |
| }, |
| ), |
| }, |
| ) |
| as Map<String, Property<CT_>>; |
| |
| _Renderer_Constructor( |
| Constructor context, |
| RendererBase<Object>? parent, |
| Template template, |
| StringSink sink, |
| ) : super(context, parent, template, sink); |
| |
| @override |
| Property<Constructor>? getProperty(String key) { |
| if (propertyMap<Constructor>().containsKey(key)) { |
| return propertyMap<Constructor>()[key]; |
| } else { |
| return null; |
| } |
| } |
| } |
| |
| String renderConstructor(ConstructorTemplateData context, Template template) { |
| var buffer = StringBuffer(); |
| _render_ConstructorTemplateData(context, template.ast, template, buffer); |
| return buffer.toString(); |
| } |
| |
| void _render_ConstructorTemplateData( |
| ConstructorTemplateData context, |
| List<MustachioNode> ast, |
| Template template, |
| StringSink sink, { |
| RendererBase<Object>? parent, |
| }) { |
| var renderer = _Renderer_ConstructorTemplateData( |
| context, |
| parent, |
| template, |
| sink, |
| ); |
| renderer.renderBlock(ast); |
| } |
| |
| class _Renderer_ConstructorTemplateData |
| extends RendererBase<ConstructorTemplateData> { |
| static final Map<Type, Object> _propertyMapCache = {}; |
| static Map<String, Property<CT_>> |
| propertyMap<CT_ extends ConstructorTemplateData>() => |
| _propertyMapCache.putIfAbsent( |
| CT_, |
| () => { |
| ..._Renderer_TemplateData.propertyMap<Constructor, CT_>(), |
| ..._Renderer_TwoDirectoriesDown.propertyMap<Constructor, CT_>(), |
| 'constructable': Property( |
| getValue: (CT_ c) => c.constructable, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> 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<CT_> r, |
| List<MustachioNode> 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<CT_> self, |
| List<String> 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<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_Constructor( |
| c.constructor, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'container': Property( |
| getValue: (CT_ c) => c.container, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> 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<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_Container( |
| c.container, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'layoutTitle': Property( |
| getValue: (CT_ c) => c.layoutTitle, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = remainingNames.first; |
| var nextProperty = _Renderer_String.propertyMap().getValue( |
| name, |
| ); |
| return nextProperty.renderVariable( |
| self.getValue(c) as String, |
| nextProperty, |
| [...remainingNames.skip(1)], |
| ); |
| }, |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String( |
| c.layoutTitle, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'library': Property( |
| getValue: (CT_ c) => c.library, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> 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<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_Library(c.library, ast, r.template, sink, parent: r); |
| }, |
| ), |
| 'metaDescription': Property( |
| getValue: (CT_ c) => c.metaDescription, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = remainingNames.first; |
| var nextProperty = _Renderer_String.propertyMap().getValue( |
| name, |
| ); |
| return nextProperty.renderVariable( |
| self.getValue(c) as String, |
| nextProperty, |
| [...remainingNames.skip(1)], |
| ); |
| }, |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String( |
| c.metaDescription, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'navLinks': Property( |
| getValue: (CT_ c) => c.navLinks, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'List<Documentable>', |
| ), |
| |
| renderIterable: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'List<Container>', |
| ), |
| |
| renderIterable: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, |
| List<String> 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<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_Constructor(c.self, ast, r.template, sink, parent: r); |
| }, |
| ), |
| 'title': Property( |
| getValue: (CT_ c) => c.title, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = remainingNames.first; |
| var nextProperty = _Renderer_String.propertyMap().getValue( |
| name, |
| ); |
| return nextProperty.renderVariable( |
| self.getValue(c) as String, |
| nextProperty, |
| [...remainingNames.skip(1)], |
| ); |
| }, |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String(c.title, ast, r.template, sink, parent: r); |
| }, |
| ), |
| }, |
| ) |
| as Map<String, Property<CT_>>; |
| |
| _Renderer_ConstructorTemplateData( |
| ConstructorTemplateData context, |
| RendererBase<Object>? parent, |
| Template template, |
| StringSink sink, |
| ) : super(context, parent, template, sink); |
| |
| @override |
| Property<ConstructorTemplateData>? getProperty(String key) { |
| if (propertyMap<ConstructorTemplateData>().containsKey(key)) { |
| return propertyMap<ConstructorTemplateData>()[key]; |
| } else { |
| return null; |
| } |
| } |
| } |
| |
| void _render_Container( |
| Container context, |
| List<MustachioNode> ast, |
| Template template, |
| StringSink sink, { |
| RendererBase<Object>? parent, |
| }) { |
| var renderer = _Renderer_Container(context, parent, template, sink); |
| renderer.renderBlock(ast); |
| } |
| |
| class _Renderer_Container extends RendererBase<Container> { |
| static final Map<Type, Object> _propertyMapCache = {}; |
| static Map<String, Property<CT_>> propertyMap<CT_ extends Container>() => |
| _propertyMapCache.putIfAbsent( |
| CT_, |
| () => { |
| ..._Renderer_ModelElement.propertyMap<CT_>(), |
| ..._Renderer_Categorization.propertyMap<CT_>(), |
| ..._Renderer_TypeParameters.propertyMap<CT_>(), |
| ..._Renderer_Categorization.propertyMap<CT_>(), |
| ..._Renderer_TypeParameters.propertyMap<CT_>(), |
| 'aboveSidebarPath': Property( |
| getValue: (CT_ c) => c.aboveSidebarPath, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = remainingNames.first; |
| var nextProperty = _Renderer_String.propertyMap().getValue( |
| name, |
| ); |
| return nextProperty.renderVariable( |
| self.getValue(c) as String, |
| nextProperty, |
| [...remainingNames.skip(1)], |
| ); |
| }, |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String( |
| c.aboveSidebarPath, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'allCanonicalModelElements': Property( |
| getValue: (CT_ c) => c.allCanonicalModelElements, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'List<ModelElement>', |
| ), |
| |
| renderIterable: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'Iterable<ModelElement>', |
| ), |
| |
| renderIterable: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'List<Field>', |
| ), |
| |
| renderIterable: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'List<Method>', |
| ), |
| |
| renderIterable: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'List<Operator>', |
| ), |
| |
| renderIterable: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = remainingNames.first; |
| var nextProperty = _Renderer_String.propertyMap().getValue( |
| name, |
| ); |
| return nextProperty.renderVariable( |
| self.getValue(c) as String, |
| nextProperty, |
| [...remainingNames.skip(1)], |
| ); |
| }, |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String( |
| c.belowSidebarPath, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'constantFields': Property( |
| getValue: (CT_ c) => c.constantFields, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'Iterable<Field>', |
| ), |
| |
| renderIterable: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'Iterable<Field>', |
| ), |
| |
| renderIterable: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'Iterable<Method>', |
| ), |
| |
| renderIterable: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'List<Operator>', |
| ), |
| |
| renderIterable: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'Element'), |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| renderSimple( |
| c.element, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| getters: _invisibleGetters['Element']!, |
| ); |
| }, |
| ), |
| 'element2': Property( |
| getValue: (CT_ c) => c.element2, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'Element2', |
| ), |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| renderSimple( |
| c.element2, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| getters: _invisibleGetters['Element2']!, |
| ); |
| }, |
| ), |
| 'enclosingElement': Property( |
| getValue: (CT_ c) => c.enclosingElement, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> 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<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_ModelElement( |
| c.enclosingElement, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'hasAvailableInstanceFields': Property( |
| getValue: (CT_ c) => c.hasAvailableInstanceFields, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'bool'), |
| |
| getBool: (CT_ c) => c.hasAvailableInstanceFields, |
| ), |
| 'hasAvailableInstanceMethods': Property( |
| getValue: (CT_ c) => c.hasAvailableInstanceMethods, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'bool'), |
| |
| getBool: (CT_ c) => c.hasAvailableInstanceMethods, |
| ), |
| 'hasAvailableInstanceOperators': Property( |
| getValue: (CT_ c) => c.hasAvailableInstanceOperators, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'bool'), |
| |
| getBool: (CT_ c) => c.hasAvailableInstanceOperators, |
| ), |
| 'hasInstanceFields': Property( |
| getValue: (CT_ c) => c.hasInstanceFields, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'bool'), |
| |
| getBool: (CT_ c) => c.hasInstanceFields, |
| ), |
| 'hasParameters': Property( |
| getValue: (CT_ c) => c.hasParameters, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'bool'), |
| |
| getBool: (CT_ c) => c.hasParameters, |
| ), |
| 'hasPublicConstantFields': Property( |
| getValue: (CT_ c) => c.hasPublicConstantFields, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'bool'), |
| |
| getBool: (CT_ c) => c.hasPublicConstantFields, |
| ), |
| 'hasPublicConstructors': Property( |
| getValue: (CT_ c) => c.hasPublicConstructors, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'bool'), |
| |
| getBool: (CT_ c) => c.hasPublicConstructors, |
| ), |
| 'hasPublicEnumValues': Property( |
| getValue: (CT_ c) => c.hasPublicEnumValues, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'bool'), |
| |
| getBool: (CT_ c) => c.hasPublicEnumValues, |
| ), |
| 'hasPublicStaticFields': Property( |
| getValue: (CT_ c) => c.hasPublicStaticFields, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'bool'), |
| |
| getBool: (CT_ c) => c.hasPublicStaticFields, |
| ), |
| 'hasPublicStaticMethods': Property( |
| getValue: (CT_ c) => c.hasPublicStaticMethods, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'bool'), |
| |
| getBool: (CT_ c) => c.hasPublicStaticMethods, |
| ), |
| 'hasPublicVariableStaticFields': Property( |
| getValue: (CT_ c) => c.hasPublicVariableStaticFields, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'bool'), |
| |
| getBool: (CT_ c) => c.hasPublicVariableStaticFields, |
| ), |
| 'instanceAccessors': Property( |
| getValue: (CT_ c) => c.instanceAccessors, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'Iterable<Accessor>', |
| ), |
| |
| renderIterable: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'Iterable<Field>', |
| ), |
| |
| renderIterable: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'Iterable<Method>', |
| ), |
| |
| renderIterable: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'Iterable<Operator>', |
| ), |
| |
| renderIterable: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'bool'), |
| |
| getBool: (CT_ c) => c.isDartCoreObject, |
| ), |
| 'isEnum': Property( |
| getValue: (CT_ c) => c.isEnum, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'bool'), |
| |
| getBool: (CT_ c) => c.isEnum, |
| ), |
| 'isExtension': Property( |
| getValue: (CT_ c) => c.isExtension, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'bool'), |
| |
| getBool: (CT_ c) => c.isExtension, |
| ), |
| 'isInterface': Property( |
| getValue: (CT_ c) => c.isInterface, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'bool'), |
| |
| getBool: (CT_ c) => c.isInterface, |
| ), |
| 'isMixin': Property( |
| getValue: (CT_ c) => c.isMixin, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'bool'), |
| |
| getBool: (CT_ c) => c.isMixin, |
| ), |
| 'publicConstantFieldsSorted': Property( |
| getValue: (CT_ c) => c.publicConstantFieldsSorted, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'List<Field>', |
| ), |
| |
| renderIterable: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'List<Constructor>', |
| ), |
| |
| renderIterable: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'Iterable<Field>', |
| ), |
| |
| renderIterable: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'bool'), |
| |
| getBool: (CT_ c) => c.publicInheritedInstanceFields, |
| ), |
| 'publicInheritedInstanceMethods': Property( |
| getValue: (CT_ c) => c.publicInheritedInstanceMethods, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'bool'), |
| |
| getBool: (CT_ c) => c.publicInheritedInstanceMethods, |
| ), |
| 'publicInheritedInstanceOperators': Property( |
| getValue: (CT_ c) => c.publicInheritedInstanceOperators, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'bool'), |
| |
| getBool: (CT_ c) => c.publicInheritedInstanceOperators, |
| ), |
| 'publicStaticFieldsSorted': Property( |
| getValue: (CT_ c) => c.publicStaticFieldsSorted, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'List<Field>', |
| ), |
| |
| renderIterable: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'List<Method>', |
| ), |
| |
| renderIterable: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'List<Field>', |
| ), |
| |
| renderIterable: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'Map<String, CommentReferable>', |
| ), |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'Iterable<CommentReferable>', |
| ), |
| |
| renderIterable: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = remainingNames.first; |
| var nextProperty = _Renderer_String.propertyMap().getValue( |
| name, |
| ); |
| return nextProperty.renderVariable( |
| self.getValue(c) as String, |
| nextProperty, |
| [...remainingNames.skip(1)], |
| ); |
| }, |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String( |
| c.relationshipsClass, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'scope': Property( |
| getValue: (CT_ c) => c.scope, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'Scope'), |
| |
| isNullValue: (CT_ c) => c.scope == null, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = remainingNames.first; |
| var nextProperty = _Renderer_String.propertyMap().getValue( |
| name, |
| ); |
| return nextProperty.renderVariable( |
| self.getValue(c) as String, |
| nextProperty, |
| [...remainingNames.skip(1)], |
| ); |
| }, |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String( |
| c.sidebarPath, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'staticAccessors': Property( |
| getValue: (CT_ c) => c.staticAccessors, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'Iterable<Accessor>', |
| ), |
| |
| renderIterable: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'Iterable<Field>', |
| ), |
| |
| renderIterable: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'Iterable<Method>', |
| ), |
| |
| renderIterable: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'Iterable<Field>', |
| ), |
| |
| renderIterable: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| return c.variableStaticFields.map( |
| (e) => _render_Field(e, ast, r.template, sink, parent: r), |
| ); |
| }, |
| ), |
| }, |
| ) |
| as Map<String, Property<CT_>>; |
| |
| _Renderer_Container( |
| Container context, |
| RendererBase<Object>? parent, |
| Template template, |
| StringSink sink, |
| ) : super(context, parent, template, sink); |
| |
| @override |
| Property<Container>? getProperty(String key) { |
| if (propertyMap<Container>().containsKey(key)) { |
| return propertyMap<Container>()[key]; |
| } else { |
| return null; |
| } |
| } |
| } |
| |
| void _render_ContainerAccessor( |
| ContainerAccessor context, |
| List<MustachioNode> ast, |
| Template template, |
| StringSink sink, { |
| RendererBase<Object>? parent, |
| }) { |
| var renderer = _Renderer_ContainerAccessor(context, parent, template, sink); |
| renderer.renderBlock(ast); |
| } |
| |
| class _Renderer_ContainerAccessor extends RendererBase<ContainerAccessor> { |
| static final Map<Type, Object> _propertyMapCache = {}; |
| static Map<String, Property<CT_>> |
| propertyMap<CT_ extends ContainerAccessor>() => |
| _propertyMapCache.putIfAbsent( |
| CT_, |
| () => { |
| ..._Renderer_Accessor.propertyMap<CT_>(), |
| ..._Renderer_ContainerMember.propertyMap<CT_>(), |
| ..._Renderer_Inheritable.propertyMap<CT_>(), |
| 'characterLocation': Property( |
| getValue: (CT_ c) => c.characterLocation, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'CharacterLocation', |
| ), |
| |
| isNullValue: (CT_ c) => c.characterLocation == null, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, |
| List<String> 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<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_Container( |
| c.enclosingElement, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'isCovariant': Property( |
| getValue: (CT_ c) => c.isCovariant, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'bool'), |
| |
| getBool: (CT_ c) => c.isCovariant, |
| ), |
| 'isInherited': Property( |
| getValue: (CT_ c) => c.isInherited, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'bool'), |
| |
| getBool: (CT_ c) => c.isInherited, |
| ), |
| 'overriddenElement': Property( |
| getValue: (CT_ c) => c.overriddenElement, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> 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<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_ContainerAccessor( |
| c.overriddenElement!, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| }, |
| ) |
| as Map<String, Property<CT_>>; |
| |
| _Renderer_ContainerAccessor( |
| ContainerAccessor context, |
| RendererBase<Object>? parent, |
| Template template, |
| StringSink sink, |
| ) : super(context, parent, template, sink); |
| |
| @override |
| Property<ContainerAccessor>? getProperty(String key) { |
| if (propertyMap<ContainerAccessor>().containsKey(key)) { |
| return propertyMap<ContainerAccessor>()[key]; |
| } else { |
| return null; |
| } |
| } |
| } |
| |
| class _Renderer_ContainerMember extends RendererBase<ContainerMember> { |
| static final Map<Type, Object> _propertyMapCache = {}; |
| static Map<String, Property<CT_>> |
| propertyMap<CT_ extends ContainerMember>() => |
| _propertyMapCache.putIfAbsent( |
| CT_, |
| () => { |
| 'attributes': Property( |
| getValue: (CT_ c) => c.attributes, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'Set<Attribute>', |
| ), |
| |
| renderIterable: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, |
| List<String> 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<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_Container( |
| c.canonicalEnclosingContainer!, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'enclosingElement': Property( |
| getValue: (CT_ c) => c.enclosingElement, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> 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<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_Container( |
| c.enclosingElement, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'filePath': Property( |
| getValue: (CT_ c) => c.filePath, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = remainingNames.first; |
| var nextProperty = _Renderer_String.propertyMap().getValue( |
| name, |
| ); |
| return nextProperty.renderVariable( |
| self.getValue(c) as String, |
| nextProperty, |
| [...remainingNames.skip(1)], |
| ); |
| }, |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String(c.filePath, ast, r.template, sink, parent: r); |
| }, |
| ), |
| 'isExtended': Property( |
| getValue: (CT_ c) => c.isExtended, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'bool'), |
| |
| getBool: (CT_ c) => c.isExtended, |
| ), |
| 'referenceGrandparentOverrides': Property( |
| getValue: (CT_ c) => c.referenceGrandparentOverrides, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'List<Library>', |
| ), |
| |
| renderIterable: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'Iterable<Container>', |
| ), |
| |
| renderIterable: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| return c.referenceParents.map( |
| (e) => |
| _render_Container(e, ast, r.template, sink, parent: r), |
| ); |
| }, |
| ), |
| }, |
| ) |
| as Map<String, Property<CT_>>; |
| |
| _Renderer_ContainerMember( |
| ContainerMember context, |
| RendererBase<Object>? parent, |
| Template template, |
| StringSink sink, |
| ) : super(context, parent, template, sink); |
| |
| @override |
| Property<ContainerMember>? getProperty(String key) { |
| if (propertyMap<ContainerMember>().containsKey(key)) { |
| return propertyMap<ContainerMember>()[key]; |
| } else { |
| return null; |
| } |
| } |
| } |
| |
| void _render_DefinedElementType( |
| DefinedElementType context, |
| List<MustachioNode> ast, |
| Template template, |
| StringSink sink, { |
| RendererBase<Object>? parent, |
| }) { |
| var renderer = _Renderer_DefinedElementType(context, parent, template, sink); |
| renderer.renderBlock(ast); |
| } |
| |
| class _Renderer_DefinedElementType extends RendererBase<DefinedElementType> { |
| static final Map<Type, Object> _propertyMapCache = {}; |
| static Map<String, Property<CT_>> |
| propertyMap<CT_ extends DefinedElementType>() => |
| _propertyMapCache.putIfAbsent( |
| CT_, |
| () => { |
| ..._Renderer_ElementType.propertyMap<CT_>(), |
| 'fullyQualifiedName': Property( |
| getValue: (CT_ c) => c.fullyQualifiedName, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = remainingNames.first; |
| var nextProperty = _Renderer_String.propertyMap().getValue( |
| name, |
| ); |
| return nextProperty.renderVariable( |
| self.getValue(c) as String, |
| nextProperty, |
| [...remainingNames.skip(1)], |
| ); |
| }, |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String( |
| c.fullyQualifiedName, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'isPublic': Property( |
| getValue: (CT_ c) => c.isPublic, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'bool'), |
| |
| getBool: (CT_ c) => c.isPublic, |
| ), |
| 'modelElement': Property( |
| getValue: (CT_ c) => c.modelElement, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> 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<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_ModelElement( |
| c.modelElement, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'name': Property( |
| getValue: (CT_ c) => c.name, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = remainingNames.first; |
| var nextProperty = _Renderer_String.propertyMap().getValue( |
| name, |
| ); |
| return nextProperty.renderVariable( |
| self.getValue(c) as String, |
| nextProperty, |
| [...remainingNames.skip(1)], |
| ); |
| }, |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String(c.name, ast, r.template, sink, parent: r); |
| }, |
| ), |
| 'referenceChildren': Property( |
| getValue: (CT_ c) => c.referenceChildren, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'Map<String, CommentReferable>', |
| ), |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'Iterable<CommentReferable>', |
| ), |
| |
| isNullValue: (CT_ c) => c.referenceGrandparentOverrides == null, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'Iterable<CommentReferable>', |
| ), |
| |
| renderIterable: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'Iterable<ElementType>', |
| ), |
| |
| renderIterable: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| return c.typeArguments.map( |
| (e) => _render_ElementType( |
| e, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ), |
| ); |
| }, |
| ), |
| }, |
| ) |
| as Map<String, Property<CT_>>; |
| |
| _Renderer_DefinedElementType( |
| DefinedElementType context, |
| RendererBase<Object>? parent, |
| Template template, |
| StringSink sink, |
| ) : super(context, parent, template, sink); |
| |
| @override |
| Property<DefinedElementType>? getProperty(String key) { |
| if (propertyMap<DefinedElementType>().containsKey(key)) { |
| return propertyMap<DefinedElementType>()[key]; |
| } else { |
| return null; |
| } |
| } |
| } |
| |
| void _render_Documentable( |
| Documentable context, |
| List<MustachioNode> ast, |
| Template template, |
| StringSink sink, { |
| RendererBase<Object>? parent, |
| }) { |
| var renderer = _Renderer_Documentable(context, parent, template, sink); |
| renderer.renderBlock(ast); |
| } |
| |
| class _Renderer_Documentable extends RendererBase<Documentable> { |
| static final Map<Type, Object> _propertyMapCache = {}; |
| static Map<String, Property<CT_>> propertyMap<CT_ extends Documentable>() => |
| _propertyMapCache.putIfAbsent( |
| CT_, |
| () => { |
| ..._Renderer_Object.propertyMap<CT_>(), |
| ..._Renderer_Nameable.propertyMap<CT_>(), |
| ..._Renderer_Nameable.propertyMap<CT_>(), |
| 'aboveSidebarPath': Property( |
| getValue: (CT_ c) => c.aboveSidebarPath, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = 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<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String( |
| c.aboveSidebarPath!, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'belowSidebarPath': Property( |
| getValue: (CT_ c) => c.belowSidebarPath, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = 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<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String( |
| c.belowSidebarPath!, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'config': Property( |
| getValue: (CT_ c) => c.config, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'DartdocOptionContext', |
| ), |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = 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<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String( |
| c.documentation!, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'documentationAsHtml': Property( |
| getValue: (CT_ c) => c.documentationAsHtml, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = remainingNames.first; |
| var nextProperty = _Renderer_String.propertyMap().getValue( |
| name, |
| ); |
| return nextProperty.renderVariable( |
| self.getValue(c) as String, |
| nextProperty, |
| [...remainingNames.skip(1)], |
| ); |
| }, |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String( |
| c.documentationAsHtml, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'hasDocumentation': Property( |
| getValue: (CT_ c) => c.hasDocumentation, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'bool'), |
| |
| getBool: (CT_ c) => c.hasDocumentation, |
| ), |
| 'href': Property( |
| getValue: (CT_ c) => c.href, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = 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<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String(c.href!, ast, r.template, sink, parent: r); |
| }, |
| ), |
| 'isDocumented': Property( |
| getValue: (CT_ c) => c.isDocumented, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'bool'), |
| |
| getBool: (CT_ c) => c.isDocumented, |
| ), |
| 'kind': Property( |
| getValue: (CT_ c) => c.kind, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'Kind'), |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = remainingNames.first; |
| var nextProperty = _Renderer_String.propertyMap().getValue( |
| name, |
| ); |
| return nextProperty.renderVariable( |
| self.getValue(c) as String, |
| nextProperty, |
| [...remainingNames.skip(1)], |
| ); |
| }, |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String( |
| c.oneLineDoc, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'package': Property( |
| getValue: (CT_ c) => c.package, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> 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<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_Package(c.package, ast, r.template, sink, parent: r); |
| }, |
| ), |
| 'packageGraph': Property( |
| getValue: (CT_ c) => c.packageGraph, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'PackageGraph', |
| ), |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| renderSimple( |
| c.packageGraph, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| getters: _invisibleGetters['PackageGraph']!, |
| ); |
| }, |
| ), |
| }, |
| ) |
| as Map<String, Property<CT_>>; |
| |
| _Renderer_Documentable( |
| Documentable context, |
| RendererBase<Object>? parent, |
| Template template, |
| StringSink sink, |
| ) : super(context, parent, template, sink); |
| |
| @override |
| Property<Documentable>? getProperty(String key) { |
| if (propertyMap<Documentable>().containsKey(key)) { |
| return propertyMap<Documentable>()[key]; |
| } else { |
| return null; |
| } |
| } |
| } |
| |
| class _Renderer_DocumentationComment |
| extends RendererBase<DocumentationComment> { |
| static final Map<Type, Object> _propertyMapCache = {}; |
| static Map<String, Property<CT_>> |
| propertyMap<CT_ extends DocumentationComment>() => |
| _propertyMapCache.putIfAbsent( |
| CT_, |
| () => { |
| 'documentationAsHtml': Property( |
| getValue: (CT_ c) => c.documentationAsHtml, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = remainingNames.first; |
| var nextProperty = _Renderer_String.propertyMap().getValue( |
| name, |
| ); |
| return nextProperty.renderVariable( |
| self.getValue(c) as String, |
| nextProperty, |
| [...remainingNames.skip(1)], |
| ); |
| }, |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String( |
| c.documentationAsHtml, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'documentationComment': Property( |
| getValue: (CT_ c) => c.documentationComment, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = remainingNames.first; |
| var nextProperty = _Renderer_String.propertyMap().getValue( |
| name, |
| ); |
| return nextProperty.renderVariable( |
| self.getValue(c) as String, |
| nextProperty, |
| [...remainingNames.skip(1)], |
| ); |
| }, |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String( |
| c.documentationComment, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'documentationFrom': Property( |
| getValue: (CT_ c) => c.documentationFrom, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'List<DocumentationComment>', |
| ), |
| |
| renderIterable: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = remainingNames.first; |
| var nextProperty = _Renderer_String.propertyMap().getValue( |
| name, |
| ); |
| return nextProperty.renderVariable( |
| self.getValue(c) as String, |
| nextProperty, |
| [...remainingNames.skip(1)], |
| ); |
| }, |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String( |
| c.documentationLocal, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'element2': Property( |
| getValue: (CT_ c) => c.element2, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'Element2', |
| ), |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| renderSimple( |
| c.element2, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| getters: _invisibleGetters['Element2']!, |
| ); |
| }, |
| ), |
| 'elementDocumentation': Property( |
| getValue: (CT_ c) => c.elementDocumentation, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'Documentation', |
| ), |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'bool'), |
| |
| getBool: (CT_ c) => c.hasDocumentationComment, |
| ), |
| 'hasNodoc': Property( |
| getValue: (CT_ c) => c.hasNodoc, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'bool'), |
| |
| getBool: (CT_ c) => c.hasNodoc, |
| ), |
| 'needsPrecache': Property( |
| getValue: (CT_ c) => c.needsPrecache, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'bool'), |
| |
| getBool: (CT_ c) => c.needsPrecache, |
| ), |
| 'pathContext': Property( |
| getValue: (CT_ c) => c.pathContext, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'Context'), |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = 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<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String( |
| c.sourceFileName!, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| }, |
| ) |
| as Map<String, Property<CT_>>; |
| |
| _Renderer_DocumentationComment( |
| DocumentationComment context, |
| RendererBase<Object>? parent, |
| Template template, |
| StringSink sink, |
| ) : super(context, parent, template, sink); |
| |
| @override |
| Property<DocumentationComment>? getProperty(String key) { |
| if (propertyMap<DocumentationComment>().containsKey(key)) { |
| return propertyMap<DocumentationComment>()[key]; |
| } else { |
| return null; |
| } |
| } |
| } |
| |
| void _render_ElementType( |
| ElementType context, |
| List<MustachioNode> ast, |
| Template template, |
| StringSink sink, { |
| RendererBase<Object>? parent, |
| }) { |
| var renderer = _Renderer_ElementType(context, parent, template, sink); |
| renderer.renderBlock(ast); |
| } |
| |
| class _Renderer_ElementType extends RendererBase<ElementType> { |
| static final Map<Type, Object> _propertyMapCache = {}; |
| static Map<String, Property<CT_>> propertyMap<CT_ extends ElementType>() => |
| _propertyMapCache.putIfAbsent( |
| CT_, |
| () => { |
| ..._Renderer_Object.propertyMap<CT_>(), |
| ..._Renderer_CommentReferable.propertyMap<CT_>(), |
| ..._Renderer_Nameable.propertyMap<CT_>(), |
| 'breadcrumbName': Property( |
| getValue: (CT_ c) => c.breadcrumbName, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = remainingNames.first; |
| var nextProperty = _Renderer_String.propertyMap().getValue( |
| name, |
| ); |
| return nextProperty.renderVariable( |
| self.getValue(c) as String, |
| nextProperty, |
| [...remainingNames.skip(1)], |
| ); |
| }, |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String( |
| c.breadcrumbName, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'displayName': Property( |
| getValue: (CT_ c) => c.displayName, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = remainingNames.first; |
| var nextProperty = _Renderer_String.propertyMap().getValue( |
| name, |
| ); |
| return nextProperty.renderVariable( |
| self.getValue(c) as String, |
| nextProperty, |
| [...remainingNames.skip(1)], |
| ); |
| }, |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String( |
| c.displayName, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'isTypedef': Property( |
| getValue: (CT_ c) => c.isTypedef, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'bool'), |
| |
| getBool: (CT_ c) => c.isTypedef, |
| ), |
| 'library': Property( |
| getValue: (CT_ c) => c.library, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> 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<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_Library(c.library, ast, r.template, sink, parent: r); |
| }, |
| ), |
| 'linkedName': Property( |
| getValue: (CT_ c) => c.linkedName, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = remainingNames.first; |
| var nextProperty = _Renderer_String.propertyMap().getValue( |
| name, |
| ); |
| return nextProperty.renderVariable( |
| self.getValue(c) as String, |
| nextProperty, |
| [...remainingNames.skip(1)], |
| ); |
| }, |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String( |
| c.linkedName, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'nameWithGenerics': Property( |
| getValue: (CT_ c) => c.nameWithGenerics, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = remainingNames.first; |
| var nextProperty = _Renderer_String.propertyMap().getValue( |
| name, |
| ); |
| return nextProperty.renderVariable( |
| self.getValue(c) as String, |
| nextProperty, |
| [...remainingNames.skip(1)], |
| ); |
| }, |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String( |
| c.nameWithGenerics, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'nameWithGenericsPlain': Property( |
| getValue: (CT_ c) => c.nameWithGenericsPlain, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = remainingNames.first; |
| var nextProperty = _Renderer_String.propertyMap().getValue( |
| name, |
| ); |
| return nextProperty.renderVariable( |
| self.getValue(c) as String, |
| nextProperty, |
| [...remainingNames.skip(1)], |
| ); |
| }, |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String( |
| c.nameWithGenericsPlain, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'nullabilitySuffix': Property( |
| getValue: (CT_ c) => c.nullabilitySuffix, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = remainingNames.first; |
| var nextProperty = _Renderer_String.propertyMap().getValue( |
| name, |
| ); |
| return nextProperty.renderVariable( |
| self.getValue(c) as String, |
| nextProperty, |
| [...remainingNames.skip(1)], |
| ); |
| }, |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String( |
| c.nullabilitySuffix, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'packageGraph': Property( |
| getValue: (CT_ c) => c.packageGraph, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'PackageGraph', |
| ), |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'DartType', |
| ), |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'Iterable<ElementType>', |
| ), |
| |
| renderIterable: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| return c.typeArguments.map( |
| (e) => _render_ElementType( |
| e, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ), |
| ); |
| }, |
| ), |
| }, |
| ) |
| as Map<String, Property<CT_>>; |
| |
| _Renderer_ElementType( |
| ElementType context, |
| RendererBase<Object>? parent, |
| Template template, |
| StringSink sink, |
| ) : super(context, parent, template, sink); |
| |
| @override |
| Property<ElementType>? getProperty(String key) { |
| if (propertyMap<ElementType>().containsKey(key)) { |
| return propertyMap<ElementType>()[key]; |
| } else { |
| return null; |
| } |
| } |
| } |
| |
| void _render_Enum( |
| Enum context, |
| List<MustachioNode> ast, |
| Template template, |
| StringSink sink, { |
| RendererBase<Object>? parent, |
| }) { |
| var renderer = _Renderer_Enum(context, parent, template, sink); |
| renderer.renderBlock(ast); |
| } |
| |
| class _Renderer_Enum extends RendererBase<Enum> { |
| static final Map<Type, Object> _propertyMapCache = {}; |
| static Map<String, Property<CT_>> propertyMap<CT_ extends Enum>() => |
| _propertyMapCache.putIfAbsent( |
| CT_, |
| () => { |
| ..._Renderer_InheritingContainer.propertyMap<CT_>(), |
| ..._Renderer_Constructable.propertyMap<CT_>(), |
| ..._Renderer_MixedInTypes.propertyMap<CT_>(), |
| 'allModelElements': Property( |
| getValue: (CT_ c) => c.allModelElements, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'List<ModelElement>', |
| ), |
| |
| renderIterable: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'Iterable<Field>', |
| ), |
| |
| renderIterable: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'EnumElement', |
| ), |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| renderSimple( |
| c.element, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| getters: _invisibleGetters['EnumElement']!, |
| ); |
| }, |
| ), |
| 'element2': Property( |
| getValue: (CT_ c) => c.element2, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'EnumElement2', |
| ), |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| renderSimple( |
| c.element2, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| getters: _invisibleGetters['EnumElement2']!, |
| ); |
| }, |
| ), |
| 'fileName': Property( |
| getValue: (CT_ c) => c.fileName, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = remainingNames.first; |
| var nextProperty = _Renderer_String.propertyMap().getValue( |
| name, |
| ); |
| return nextProperty.renderVariable( |
| self.getValue(c) as String, |
| nextProperty, |
| [...remainingNames.skip(1)], |
| ); |
| }, |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String(c.fileName, ast, r.template, sink, parent: r); |
| }, |
| ), |
| 'hasPublicEnumValues': Property( |
| getValue: (CT_ c) => c.hasPublicEnumValues, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'bool'), |
| |
| getBool: (CT_ c) => c.hasPublicEnumValues, |
| ), |
| 'inheritanceChain': Property( |
| getValue: (CT_ c) => c.inheritanceChain, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'List<InheritingContainer>', |
| ), |
| |
| renderIterable: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'bool'), |
| |
| getBool: (CT_ c) => c.isAbstract, |
| ), |
| 'isBase': Property( |
| getValue: (CT_ c) => c.isBase, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'bool'), |
| |
| getBool: (CT_ c) => c.isBase, |
| ), |
| 'isImplementableInterface': Property( |
| getValue: (CT_ c) => c.isImplementableInterface, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'bool'), |
| |
| getBool: (CT_ c) => c.isImplementableInterface, |
| ), |
| 'isMixinClass': Property( |
| getValue: (CT_ c) => c.isMixinClass, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'bool'), |
| |
| getBool: (CT_ c) => c.isMixinClass, |
| ), |
| 'isSealed': Property( |
| getValue: (CT_ c) => c.isSealed, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'bool'), |
| |
| getBool: (CT_ c) => c.isSealed, |
| ), |
| 'kind': Property( |
| getValue: (CT_ c) => c.kind, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'Kind'), |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'List<Field>', |
| ), |
| |
| renderIterable: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = remainingNames.first; |
| var nextProperty = _Renderer_String.propertyMap().getValue( |
| name, |
| ); |
| return nextProperty.renderVariable( |
| self.getValue(c) as String, |
| nextProperty, |
| [...remainingNames.skip(1)], |
| ); |
| }, |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String( |
| c.relationshipsClass, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'sidebarPath': Property( |
| getValue: (CT_ c) => c.sidebarPath, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = remainingNames.first; |
| var nextProperty = _Renderer_String.propertyMap().getValue( |
| name, |
| ); |
| return nextProperty.renderVariable( |
| self.getValue(c) as String, |
| nextProperty, |
| [...remainingNames.skip(1)], |
| ); |
| }, |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String( |
| c.sidebarPath, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| }, |
| ) |
| as Map<String, Property<CT_>>; |
| |
| _Renderer_Enum( |
| Enum context, |
| RendererBase<Object>? parent, |
| Template template, |
| StringSink sink, |
| ) : super(context, parent, template, sink); |
| |
| @override |
| Property<Enum>? getProperty(String key) { |
| if (propertyMap<Enum>().containsKey(key)) { |
| return propertyMap<Enum>()[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<MustachioNode> ast, |
| Template template, |
| StringSink sink, { |
| RendererBase<Object>? parent, |
| }) { |
| var renderer = _Renderer_EnumTemplateData(context, parent, template, sink); |
| renderer.renderBlock(ast); |
| } |
| |
| class _Renderer_EnumTemplateData extends RendererBase<EnumTemplateData> { |
| static final Map<Type, Object> _propertyMapCache = {}; |
| static Map<String, Property<CT_>> |
| propertyMap<CT_ extends EnumTemplateData>() => |
| _propertyMapCache.putIfAbsent( |
| CT_, |
| () => { |
| ..._Renderer_InheritingContainerTemplateData.propertyMap< |
| Enum, |
| CT_ |
| >(), |
| 'eNum': Property( |
| getValue: (CT_ c) => c.eNum, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> 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<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_Enum(c.eNum, ast, r.template, sink, parent: r); |
| }, |
| ), |
| 'self': Property( |
| getValue: (CT_ c) => c.self, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> 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<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_Enum(c.self, ast, r.template, sink, parent: r); |
| }, |
| ), |
| }, |
| ) |
| as Map<String, Property<CT_>>; |
| |
| _Renderer_EnumTemplateData( |
| EnumTemplateData context, |
| RendererBase<Object>? parent, |
| Template template, |
| StringSink sink, |
| ) : super(context, parent, template, sink); |
| |
| @override |
| Property<EnumTemplateData>? getProperty(String key) { |
| if (propertyMap<EnumTemplateData>().containsKey(key)) { |
| return propertyMap<EnumTemplateData>()[key]; |
| } else { |
| return null; |
| } |
| } |
| } |
| |
| void _render_Extension( |
| Extension context, |
| List<MustachioNode> ast, |
| Template template, |
| StringSink sink, { |
| RendererBase<Object>? parent, |
| }) { |
| var renderer = _Renderer_Extension(context, parent, template, sink); |
| renderer.renderBlock(ast); |
| } |
| |
| class _Renderer_Extension extends RendererBase<Extension> { |
| static final Map<Type, Object> _propertyMapCache = {}; |
| static Map<String, Property<CT_>> propertyMap<CT_ extends Extension>() => |
| _propertyMapCache.putIfAbsent( |
| CT_, |
| () => { |
| ..._Renderer_Container.propertyMap<CT_>(), |
| 'allModelElements': Property( |
| getValue: (CT_ c) => c.allModelElements, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'List<ModelElement>', |
| ), |
| |
| renderIterable: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'bool'), |
| |
| getBool: (CT_ c) => c.alwaysApplies, |
| ), |
| 'availableInstanceFieldsSorted': Property( |
| getValue: (CT_ c) => c.availableInstanceFieldsSorted, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'List<Field>', |
| ), |
| |
| renderIterable: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'List<Method>', |
| ), |
| |
| renderIterable: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'List<Operator>', |
| ), |
| |
| renderIterable: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'List<Field>', |
| ), |
| |
| renderIterable: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'List<Method>', |
| ), |
| |
| renderIterable: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'ExtensionElement', |
| ), |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| renderSimple( |
| c.element, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| getters: _invisibleGetters['ExtensionElement']!, |
| ); |
| }, |
| ), |
| 'element2': Property( |
| getValue: (CT_ c) => c.element2, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'ExtensionElement2', |
| ), |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| renderSimple( |
| c.element2, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| getters: _invisibleGetters['ExtensionElement2']!, |
| ); |
| }, |
| ), |
| 'enclosingElement': Property( |
| getValue: (CT_ c) => c.enclosingElement, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> 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<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_Library( |
| c.enclosingElement, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'extendedElement': Property( |
| getValue: (CT_ c) => c.extendedElement, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> 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<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_ElementType( |
| c.extendedElement, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'instanceMethods': Property( |
| getValue: (CT_ c) => c.instanceMethods, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'Iterable<Method>', |
| ), |
| |
| renderIterable: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'Kind'), |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = remainingNames.first; |
| var nextProperty = _Renderer_String.propertyMap().getValue( |
| name, |
| ); |
| return nextProperty.renderVariable( |
| self.getValue(c) as String, |
| nextProperty, |
| [...remainingNames.skip(1)], |
| ); |
| }, |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String(c.name, ast, r.template, sink, parent: r); |
| }, |
| ), |
| 'referenceChildren': Property( |
| getValue: (CT_ c) => c.referenceChildren, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'Map<String, CommentReferable>', |
| ), |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = remainingNames.first; |
| var nextProperty = _Renderer_String.propertyMap().getValue( |
| name, |
| ); |
| return nextProperty.renderVariable( |
| self.getValue(c) as String, |
| nextProperty, |
| [...remainingNames.skip(1)], |
| ); |
| }, |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String( |
| c.relationshipsClass, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'sidebarPath': Property( |
| getValue: (CT_ c) => c.sidebarPath, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = remainingNames.first; |
| var nextProperty = _Renderer_String.propertyMap().getValue( |
| name, |
| ); |
| return nextProperty.renderVariable( |
| self.getValue(c) as String, |
| nextProperty, |
| [...remainingNames.skip(1)], |
| ); |
| }, |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String( |
| c.sidebarPath, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'typeParameters': Property( |
| getValue: (CT_ c) => c.typeParameters, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'List<TypeParameter>', |
| ), |
| |
| renderIterable: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| return c.typeParameters.map( |
| (e) => _render_TypeParameter( |
| e, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ), |
| ); |
| }, |
| ), |
| }, |
| ) |
| as Map<String, Property<CT_>>; |
| |
| _Renderer_Extension( |
| Extension context, |
| RendererBase<Object>? parent, |
| Template template, |
| StringSink sink, |
| ) : super(context, parent, template, sink); |
| |
| @override |
| Property<Extension>? getProperty(String key) { |
| if (propertyMap<Extension>().containsKey(key)) { |
| return propertyMap<Extension>()[key]; |
| } else { |
| return null; |
| } |
| } |
| } |
| |
| String renderExtension<T extends Extension>( |
| ExtensionTemplateData<T> context, |
| Template template, |
| ) { |
| var buffer = StringBuffer(); |
| _render_ExtensionTemplateData(context, template.ast, template, buffer); |
| return buffer.toString(); |
| } |
| |
| void _render_ExtensionTemplateData<T extends Extension>( |
| ExtensionTemplateData<T> context, |
| List<MustachioNode> ast, |
| Template template, |
| StringSink sink, { |
| RendererBase<Object>? parent, |
| }) { |
| var renderer = _Renderer_ExtensionTemplateData( |
| context, |
| parent, |
| template, |
| sink, |
| ); |
| renderer.renderBlock(ast); |
| } |
| |
| class _Renderer_ExtensionTemplateData<T extends Extension> |
| extends RendererBase<ExtensionTemplateData<T>> { |
| static final Map<Type, Object> _propertyMapCache = {}; |
| static Map<String, Property<CT_>> |
| propertyMap<T extends Extension, CT_ extends ExtensionTemplateData>() => |
| _propertyMapCache.putIfAbsent( |
| CT_, |
| () => { |
| ..._Renderer_TemplateData.propertyMap<T, CT_>(), |
| ..._Renderer_OneDirectoryDown.propertyMap<T, CT_>(), |
| 'container': Property( |
| getValue: (CT_ c) => c.container, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> 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<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_Container( |
| c.container, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'extension': Property( |
| getValue: (CT_ c) => c.extension, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> 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<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_Extension( |
| c.extension, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'layoutTitle': Property( |
| getValue: (CT_ c) => c.layoutTitle, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = remainingNames.first; |
| var nextProperty = _Renderer_String.propertyMap().getValue( |
| name, |
| ); |
| return nextProperty.renderVariable( |
| self.getValue(c) as String, |
| nextProperty, |
| [...remainingNames.skip(1)], |
| ); |
| }, |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String( |
| c.layoutTitle, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'library': Property( |
| getValue: (CT_ c) => c.library, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> 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<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_Library(c.library, ast, r.template, sink, parent: r); |
| }, |
| ), |
| 'metaDescription': Property( |
| getValue: (CT_ c) => c.metaDescription, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = remainingNames.first; |
| var nextProperty = _Renderer_String.propertyMap().getValue( |
| name, |
| ); |
| return nextProperty.renderVariable( |
| self.getValue(c) as String, |
| nextProperty, |
| [...remainingNames.skip(1)], |
| ); |
| }, |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String( |
| c.metaDescription, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'navLinks': Property( |
| getValue: (CT_ c) => c.navLinks, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'List<Documentable>', |
| ), |
| |
| renderIterable: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, |
| List<String> 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<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_Extension(c.self, ast, r.template, sink, parent: r); |
| }, |
| ), |
| 'title': Property( |
| getValue: (CT_ c) => c.title, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = remainingNames.first; |
| var nextProperty = _Renderer_String.propertyMap().getValue( |
| name, |
| ); |
| return nextProperty.renderVariable( |
| self.getValue(c) as String, |
| nextProperty, |
| [...remainingNames.skip(1)], |
| ); |
| }, |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String(c.title, ast, r.template, sink, parent: r); |
| }, |
| ), |
| }, |
| ) |
| as Map<String, Property<CT_>>; |
| |
| _Renderer_ExtensionTemplateData( |
| ExtensionTemplateData<T> context, |
| RendererBase<Object>? parent, |
| Template template, |
| StringSink sink, |
| ) : super(context, parent, template, sink); |
| |
| @override |
| Property<ExtensionTemplateData<T>>? getProperty(String key) { |
| if (propertyMap<T, ExtensionTemplateData<T>>().containsKey(key)) { |
| return propertyMap<T, ExtensionTemplateData<T>>()[key]; |
| } else { |
| return null; |
| } |
| } |
| } |
| |
| void _render_ExtensionType( |
| ExtensionType context, |
| List<MustachioNode> ast, |
| Template template, |
| StringSink sink, { |
| RendererBase<Object>? parent, |
| }) { |
| var renderer = _Renderer_ExtensionType(context, parent, template, sink); |
| renderer.renderBlock(ast); |
| } |
| |
| class _Renderer_ExtensionType extends RendererBase<ExtensionType> { |
| static final Map<Type, Object> _propertyMapCache = {}; |
| static Map<String, Property<CT_>> propertyMap<CT_ extends ExtensionType>() => |
| _propertyMapCache.putIfAbsent( |
| CT_, |
| () => { |
| ..._Renderer_InheritingContainer.propertyMap<CT_>(), |
| ..._Renderer_Constructable.propertyMap<CT_>(), |
| ..._Renderer_Constructable.propertyMap<CT_>(), |
| 'allModelElements': Property( |
| getValue: (CT_ c) => c.allModelElements, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'List<ModelElement>', |
| ), |
| |
| renderIterable: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'List<Field>', |
| ), |
| |
| renderIterable: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'ExtensionTypeElement', |
| ), |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| renderSimple( |
| c.element, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| getters: _invisibleGetters['ExtensionTypeElement']!, |
| ); |
| }, |
| ), |
| 'element2': Property( |
| getValue: (CT_ c) => c.element2, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'ExtensionTypeElement2', |
| ), |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| renderSimple( |
| c.element2, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| getters: _invisibleGetters['ExtensionTypeElement2']!, |
| ); |
| }, |
| ), |
| 'enclosingElement': Property( |
| getValue: (CT_ c) => c.enclosingElement, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> 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<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_Library( |
| c.enclosingElement, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'fileName': Property( |
| getValue: (CT_ c) => c.fileName, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = remainingNames.first; |
| var nextProperty = _Renderer_String.propertyMap().getValue( |
| name, |
| ); |
| return nextProperty.renderVariable( |
| self.getValue(c) as String, |
| nextProperty, |
| [...remainingNames.skip(1)], |
| ); |
| }, |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String(c.fileName, ast, r.template, sink, parent: r); |
| }, |
| ), |
| 'inheritanceChain': Property( |
| getValue: (CT_ c) => c.inheritanceChain, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'List<InheritingContainer>', |
| ), |
| |
| renderIterable: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'bool'), |
| |
| getBool: (CT_ c) => c.isAbstract, |
| ), |
| 'isBase': Property( |
| getValue: (CT_ c) => c.isBase, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'bool'), |
| |
| getBool: (CT_ c) => c.isBase, |
| ), |
| 'isImplementableInterface': Property( |
| getValue: (CT_ c) => c.isImplementableInterface, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'bool'), |
| |
| getBool: (CT_ c) => c.isImplementableInterface, |
| ), |
| 'isMixinClass': Property( |
| getValue: (CT_ c) => c.isMixinClass, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'bool'), |
| |
| getBool: (CT_ c) => c.isMixinClass, |
| ), |
| 'isSealed': Property( |
| getValue: (CT_ c) => c.isSealed, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'bool'), |
| |
| getBool: (CT_ c) => c.isSealed, |
| ), |
| 'kind': Property( |
| getValue: (CT_ c) => c.kind, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'Kind'), |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'Map<String, CommentReferable>', |
| ), |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = remainingNames.first; |
| var nextProperty = _Renderer_String.propertyMap().getValue( |
| name, |
| ); |
| return nextProperty.renderVariable( |
| self.getValue(c) as String, |
| nextProperty, |
| [...remainingNames.skip(1)], |
| ); |
| }, |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String( |
| c.relationshipsClass, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'representationType': Property( |
| getValue: (CT_ c) => c.representationType, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> 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<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_ElementType( |
| c.representationType, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'sidebarPath': Property( |
| getValue: (CT_ c) => c.sidebarPath, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = remainingNames.first; |
| var nextProperty = _Renderer_String.propertyMap().getValue( |
| name, |
| ); |
| return nextProperty.renderVariable( |
| self.getValue(c) as String, |
| nextProperty, |
| [...remainingNames.skip(1)], |
| ); |
| }, |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String( |
| c.sidebarPath, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| }, |
| ) |
| as Map<String, Property<CT_>>; |
| |
| _Renderer_ExtensionType( |
| ExtensionType context, |
| RendererBase<Object>? parent, |
| Template template, |
| StringSink sink, |
| ) : super(context, parent, template, sink); |
| |
| @override |
| Property<ExtensionType>? getProperty(String key) { |
| if (propertyMap<ExtensionType>().containsKey(key)) { |
| return propertyMap<ExtensionType>()[key]; |
| } else { |
| return null; |
| } |
| } |
| } |
| |
| String renderExtensionType<T extends ExtensionType>( |
| ExtensionTypeTemplateData<T> context, |
| Template template, |
| ) { |
| var buffer = StringBuffer(); |
| _render_ExtensionTypeTemplateData(context, template.ast, template, buffer); |
| return buffer.toString(); |
| } |
| |
| void _render_ExtensionTypeTemplateData<T extends ExtensionType>( |
| ExtensionTypeTemplateData<T> context, |
| List<MustachioNode> ast, |
| Template template, |
| StringSink sink, { |
| RendererBase<Object>? parent, |
| }) { |
| var renderer = _Renderer_ExtensionTypeTemplateData( |
| context, |
| parent, |
| template, |
| sink, |
| ); |
| renderer.renderBlock(ast); |
| } |
| |
| class _Renderer_ExtensionTypeTemplateData<T extends ExtensionType> |
| extends RendererBase<ExtensionTypeTemplateData<T>> { |
| static final Map<Type, Object> _propertyMapCache = {}; |
| static Map<String, Property<CT_>> propertyMap< |
| T extends ExtensionType, |
| CT_ extends ExtensionTypeTemplateData |
| >() => |
| _propertyMapCache.putIfAbsent( |
| CT_, |
| () => { |
| ..._Renderer_TemplateData.propertyMap<T, CT_>(), |
| ..._Renderer_OneDirectoryDown.propertyMap<T, CT_>(), |
| 'container': Property( |
| getValue: (CT_ c) => c.container, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> 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<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_Container( |
| c.container, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'extensionType': Property( |
| getValue: (CT_ c) => c.extensionType, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> 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<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_ExtensionType( |
| c.extensionType, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'layoutTitle': Property( |
| getValue: (CT_ c) => c.layoutTitle, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = remainingNames.first; |
| var nextProperty = _Renderer_String.propertyMap().getValue( |
| name, |
| ); |
| return nextProperty.renderVariable( |
| self.getValue(c) as String, |
| nextProperty, |
| [...remainingNames.skip(1)], |
| ); |
| }, |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String( |
| c.layoutTitle, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'library': Property( |
| getValue: (CT_ c) => c.library, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> 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<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_Library(c.library, ast, r.template, sink, parent: r); |
| }, |
| ), |
| 'metaDescription': Property( |
| getValue: (CT_ c) => c.metaDescription, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = remainingNames.first; |
| var nextProperty = _Renderer_String.propertyMap().getValue( |
| name, |
| ); |
| return nextProperty.renderVariable( |
| self.getValue(c) as String, |
| nextProperty, |
| [...remainingNames.skip(1)], |
| ); |
| }, |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String( |
| c.metaDescription, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'navLinks': Property( |
| getValue: (CT_ c) => c.navLinks, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'List<Documentable>', |
| ), |
| |
| renderIterable: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, |
| List<String> 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<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_ExtensionType( |
| c.self, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'title': Property( |
| getValue: (CT_ c) => c.title, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = remainingNames.first; |
| var nextProperty = _Renderer_String.propertyMap().getValue( |
| name, |
| ); |
| return nextProperty.renderVariable( |
| self.getValue(c) as String, |
| nextProperty, |
| [...remainingNames.skip(1)], |
| ); |
| }, |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String(c.title, ast, r.template, sink, parent: r); |
| }, |
| ), |
| }, |
| ) |
| as Map<String, Property<CT_>>; |
| |
| _Renderer_ExtensionTypeTemplateData( |
| ExtensionTypeTemplateData<T> context, |
| RendererBase<Object>? parent, |
| Template template, |
| StringSink sink, |
| ) : super(context, parent, template, sink); |
| |
| @override |
| Property<ExtensionTypeTemplateData<T>>? getProperty(String key) { |
| if (propertyMap<T, ExtensionTypeTemplateData<T>>().containsKey(key)) { |
| return propertyMap<T, ExtensionTypeTemplateData<T>>()[key]; |
| } else { |
| return null; |
| } |
| } |
| } |
| |
| void _render_ExternalItem( |
| ExternalItem context, |
| List<MustachioNode> ast, |
| Template template, |
| StringSink sink, { |
| RendererBase<Object>? parent, |
| }) { |
| var renderer = _Renderer_ExternalItem(context, parent, template, sink); |
| renderer.renderBlock(ast); |
| } |
| |
| class _Renderer_ExternalItem extends RendererBase<ExternalItem> { |
| static final Map<Type, Object> _propertyMapCache = {}; |
| static Map<String, Property<CT_>> propertyMap<CT_ extends ExternalItem>() => |
| _propertyMapCache.putIfAbsent( |
| CT_, |
| () => { |
| ..._Renderer_Object.propertyMap<CT_>(), |
| 'docs': Property( |
| getValue: (CT_ c) => c.docs, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = remainingNames.first; |
| var nextProperty = _Renderer_String.propertyMap().getValue( |
| name, |
| ); |
| return nextProperty.renderVariable( |
| self.getValue(c) as String, |
| nextProperty, |
| [...remainingNames.skip(1)], |
| ); |
| }, |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String(c.docs, ast, r.template, sink, parent: r); |
| }, |
| ), |
| 'name': Property( |
| getValue: (CT_ c) => c.name, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = remainingNames.first; |
| var nextProperty = _Renderer_String.propertyMap().getValue( |
| name, |
| ); |
| return nextProperty.renderVariable( |
| self.getValue(c) as String, |
| nextProperty, |
| [...remainingNames.skip(1)], |
| ); |
| }, |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String(c.name, ast, r.template, sink, parent: r); |
| }, |
| ), |
| 'url': Property( |
| getValue: (CT_ c) => c.url, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = remainingNames.first; |
| var nextProperty = _Renderer_String.propertyMap().getValue( |
| name, |
| ); |
| return nextProperty.renderVariable( |
| self.getValue(c) as String, |
| nextProperty, |
| [...remainingNames.skip(1)], |
| ); |
| }, |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String(c.url, ast, r.template, sink, parent: r); |
| }, |
| ), |
| }, |
| ) |
| as Map<String, Property<CT_>>; |
| |
| _Renderer_ExternalItem( |
| ExternalItem context, |
| RendererBase<Object>? parent, |
| Template template, |
| StringSink sink, |
| ) : super(context, parent, template, sink); |
| |
| @override |
| Property<ExternalItem>? getProperty(String key) { |
| if (propertyMap<ExternalItem>().containsKey(key)) { |
| return propertyMap<ExternalItem>()[key]; |
| } else { |
| return null; |
| } |
| } |
| } |
| |
| class _Renderer_FeatureSet extends RendererBase<FeatureSet> { |
| static final Map<Type, Object> _propertyMapCache = {}; |
| static Map<String, Property<CT_>> propertyMap<CT_ extends FeatureSet>() => |
| _propertyMapCache.putIfAbsent( |
| CT_, |
| () => { |
| 'displayedLanguageFeatures': Property( |
| getValue: (CT_ c) => c.displayedLanguageFeatures, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'Iterable<LanguageFeature>', |
| ), |
| |
| renderIterable: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'bool'), |
| |
| getBool: (CT_ c) => c.hasFeatureSet, |
| ), |
| 'library': Property( |
| getValue: (CT_ c) => c.library, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> 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<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_Library(c.library, ast, r.template, sink, parent: r); |
| }, |
| ), |
| 'packageGraph': Property( |
| getValue: (CT_ c) => c.packageGraph, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'PackageGraph', |
| ), |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| renderSimple( |
| c.packageGraph, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| getters: _invisibleGetters['PackageGraph']!, |
| ); |
| }, |
| ), |
| }, |
| ) |
| as Map<String, Property<CT_>>; |
| |
| _Renderer_FeatureSet( |
| FeatureSet context, |
| RendererBase<Object>? parent, |
| Template template, |
| StringSink sink, |
| ) : super(context, parent, template, sink); |
| |
| @override |
| Property<FeatureSet>? getProperty(String key) { |
| if (propertyMap<FeatureSet>().containsKey(key)) { |
| return propertyMap<FeatureSet>()[key]; |
| } else { |
| return null; |
| } |
| } |
| } |
| |
| void _render_Field( |
| Field context, |
| List<MustachioNode> ast, |
| Template template, |
| StringSink sink, { |
| RendererBase<Object>? parent, |
| }) { |
| var renderer = _Renderer_Field(context, parent, template, sink); |
| renderer.renderBlock(ast); |
| } |
| |
| class _Renderer_Field extends RendererBase<Field> { |
| static final Map<Type, Object> _propertyMapCache = {}; |
| static Map<String, Property<CT_>> propertyMap<CT_ extends Field>() => |
| _propertyMapCache.putIfAbsent( |
| CT_, |
| () => { |
| ..._Renderer_ModelElement.propertyMap<CT_>(), |
| ..._Renderer_GetterSetterCombo.propertyMap<CT_>(), |
| ..._Renderer_ContainerMember.propertyMap<CT_>(), |
| ..._Renderer_Inheritable.propertyMap<CT_>(), |
| ..._Renderer_GetterSetterCombo.propertyMap<CT_>(), |
| ..._Renderer_ContainerMember.propertyMap<CT_>(), |
| ..._Renderer_Inheritable.propertyMap<CT_>(), |
| 'aboveSidebarPath': Property( |
| getValue: (CT_ c) => c.aboveSidebarPath, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = remainingNames.first; |
| var nextProperty = _Renderer_String.propertyMap().getValue( |
| name, |
| ); |
| return nextProperty.renderVariable( |
| self.getValue(c) as String, |
| nextProperty, |
| [...remainingNames.skip(1)], |
| ); |
| }, |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String( |
| c.aboveSidebarPath, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'attributes': Property( |
| getValue: (CT_ c) => c.attributes, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'Set<Attribute>', |
| ), |
| |
| renderIterable: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = 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<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String( |
| c.belowSidebarPath!, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'documentation': Property( |
| getValue: (CT_ c) => c.documentation, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = remainingNames.first; |
| var nextProperty = _Renderer_String.propertyMap().getValue( |
| name, |
| ); |
| return nextProperty.renderVariable( |
| self.getValue(c) as String, |
| nextProperty, |
| [...remainingNames.skip(1)], |
| ); |
| }, |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String( |
| c.documentation, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'element': Property( |
| getValue: (CT_ c) => c.element, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'FieldElement', |
| ), |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| renderSimple( |
| c.element, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| getters: _invisibleGetters['FieldElement']!, |
| ); |
| }, |
| ), |
| 'element2': Property( |
| getValue: (CT_ c) => c.element2, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'FieldElement2', |
| ), |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| renderSimple( |
| c.element2, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| getters: _invisibleGetters['FieldElement2']!, |
| ); |
| }, |
| ), |
| 'enclosingElement': Property( |
| getValue: (CT_ c) => c.enclosingElement, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> 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<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_Container( |
| c.enclosingElement, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'enclosingExtension': Property( |
| getValue: (CT_ c) => c.enclosingExtension, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> 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<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_Extension( |
| c.enclosingExtension, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'fileName': Property( |
| getValue: (CT_ c) => c.fileName, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = remainingNames.first; |
| var nextProperty = _Renderer_String.propertyMap().getValue( |
| name, |
| ); |
| return nextProperty.renderVariable( |
| self.getValue(c) as String, |
| nextProperty, |
| [...remainingNames.skip(1)], |
| ); |
| }, |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String(c.fileName, ast, r.template, sink, parent: r); |
| }, |
| ), |
| 'fullkind': Property( |
| getValue: (CT_ c) => c.fullkind, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = remainingNames.first; |
| var nextProperty = _Renderer_String.propertyMap().getValue( |
| name, |
| ); |
| return nextProperty.renderVariable( |
| self.getValue(c) as String, |
| nextProperty, |
| [...remainingNames.skip(1)], |
| ); |
| }, |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String(c.fullkind, ast, r.template, sink, parent: r); |
| }, |
| ), |
| 'getter': Property( |
| getValue: (CT_ c) => c.getter, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> 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<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_ContainerAccessor( |
| c.getter!, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'href': Property( |
| getValue: (CT_ c) => c.href, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = 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<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String(c.href!, ast, r.template, sink, parent: r); |
| }, |
| ), |
| 'isConst': Property( |
| getValue: (CT_ c) => c.isConst, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'bool'), |
| |
| getBool: (CT_ c) => c.isConst, |
| ), |
| 'isCovariant': Property( |
| getValue: (CT_ c) => c.isCovariant, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'bool'), |
| |
| getBool: (CT_ c) => c.isCovariant, |
| ), |
| 'isFinal': Property( |
| getValue: (CT_ c) => c.isFinal, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'bool'), |
| |
| getBool: (CT_ c) => c.isFinal, |
| ), |
| 'isInherited': Property( |
| getValue: (CT_ c) => c.isInherited, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'bool'), |
| |
| getBool: (CT_ c) => c.isInherited, |
| ), |
| 'isLate': Property( |
| getValue: (CT_ c) => c.isLate, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'bool'), |
| |
| getBool: (CT_ c) => c.isLate, |
| ), |
| 'isProvidedByExtension': Property( |
| getValue: (CT_ c) => c.isProvidedByExtension, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'bool'), |
| |
| getBool: (CT_ c) => c.isProvidedByExtension, |
| ), |
| 'isStatic': Property( |
| getValue: (CT_ c) => c.isStatic, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'bool'), |
| |
| getBool: (CT_ c) => c.isStatic, |
| ), |
| 'kind': Property( |
| getValue: (CT_ c) => c.kind, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'Kind'), |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, |
| List<String> 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<CT_> r, |
| List<MustachioNode> 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<CT_> self, |
| List<String> 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<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_ContainerAccessor( |
| c.setter!, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'sourceCode': Property( |
| getValue: (CT_ c) => c.sourceCode, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = remainingNames.first; |
| var nextProperty = _Renderer_String.propertyMap().getValue( |
| name, |
| ); |
| return nextProperty.renderVariable( |
| self.getValue(c) as String, |
| nextProperty, |
| [...remainingNames.skip(1)], |
| ); |
| }, |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String( |
| c.sourceCode, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| }, |
| ) |
| as Map<String, Property<CT_>>; |
| |
| _Renderer_Field( |
| Field context, |
| RendererBase<Object>? parent, |
| Template template, |
| StringSink sink, |
| ) : super(context, parent, template, sink); |
| |
| @override |
| Property<Field>? getProperty(String key) { |
| if (propertyMap<Field>().containsKey(key)) { |
| return propertyMap<Field>()[key]; |
| } else { |
| return null; |
| } |
| } |
| } |
| |
| String renderFunction(FunctionTemplateData context, Template template) { |
| var buffer = StringBuffer(); |
| _render_FunctionTemplateData(context, template.ast, template, buffer); |
| return buffer.toString(); |
| } |
| |
| void _render_FunctionTemplateData( |
| FunctionTemplateData context, |
| List<MustachioNode> ast, |
| Template template, |
| StringSink sink, { |
| RendererBase<Object>? parent, |
| }) { |
| var renderer = _Renderer_FunctionTemplateData( |
| context, |
| parent, |
| template, |
| sink, |
| ); |
| renderer.renderBlock(ast); |
| } |
| |
| class _Renderer_FunctionTemplateData |
| extends RendererBase<FunctionTemplateData> { |
| static final Map<Type, Object> _propertyMapCache = {}; |
| static Map<String, Property<CT_>> |
| propertyMap<CT_ extends FunctionTemplateData>() => |
| _propertyMapCache.putIfAbsent( |
| CT_, |
| () => { |
| ..._Renderer_TemplateData.propertyMap<ModelFunction, CT_>(), |
| ..._Renderer_OneDirectoryDown.propertyMap<ModelFunction, CT_>(), |
| 'function': Property( |
| getValue: (CT_ c) => c.function, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> 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<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_ModelFunction( |
| c.function, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'layoutTitle': Property( |
| getValue: (CT_ c) => c.layoutTitle, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = remainingNames.first; |
| var nextProperty = _Renderer_String.propertyMap().getValue( |
| name, |
| ); |
| return nextProperty.renderVariable( |
| self.getValue(c) as String, |
| nextProperty, |
| [...remainingNames.skip(1)], |
| ); |
| }, |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String( |
| c.layoutTitle, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'library': Property( |
| getValue: (CT_ c) => c.library, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> 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<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_Library(c.library, ast, r.template, sink, parent: r); |
| }, |
| ), |
| 'metaDescription': Property( |
| getValue: (CT_ c) => c.metaDescription, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = remainingNames.first; |
| var nextProperty = _Renderer_String.propertyMap().getValue( |
| name, |
| ); |
| return nextProperty.renderVariable( |
| self.getValue(c) as String, |
| nextProperty, |
| [...remainingNames.skip(1)], |
| ); |
| }, |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String( |
| c.metaDescription, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'navLinks': Property( |
| getValue: (CT_ c) => c.navLinks, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'List<Documentable>', |
| ), |
| |
| renderIterable: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, |
| List<String> 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<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_ModelFunction( |
| c.self, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'title': Property( |
| getValue: (CT_ c) => c.title, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = remainingNames.first; |
| var nextProperty = _Renderer_String.propertyMap().getValue( |
| name, |
| ); |
| return nextProperty.renderVariable( |
| self.getValue(c) as String, |
| nextProperty, |
| [...remainingNames.skip(1)], |
| ); |
| }, |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String(c.title, ast, r.template, sink, parent: r); |
| }, |
| ), |
| }, |
| ) |
| as Map<String, Property<CT_>>; |
| |
| _Renderer_FunctionTemplateData( |
| FunctionTemplateData context, |
| RendererBase<Object>? parent, |
| Template template, |
| StringSink sink, |
| ) : super(context, parent, template, sink); |
| |
| @override |
| Property<FunctionTemplateData>? getProperty(String key) { |
| if (propertyMap<FunctionTemplateData>().containsKey(key)) { |
| return propertyMap<FunctionTemplateData>()[key]; |
| } else { |
| return null; |
| } |
| } |
| } |
| |
| void _render_FunctionTypedef( |
| FunctionTypedef context, |
| List<MustachioNode> ast, |
| Template template, |
| StringSink sink, { |
| RendererBase<Object>? parent, |
| }) { |
| var renderer = _Renderer_FunctionTypedef(context, parent, template, sink); |
| renderer.renderBlock(ast); |
| } |
| |
| class _Renderer_FunctionTypedef extends RendererBase<FunctionTypedef> { |
| static final Map<Type, Object> _propertyMapCache = {}; |
| static Map<String, Property<CT_>> |
| propertyMap<CT_ extends FunctionTypedef>() => |
| _propertyMapCache.putIfAbsent( |
| CT_, |
| () => { |
| ..._Renderer_Typedef.propertyMap<CT_>(), |
| 'modelType': Property( |
| getValue: (CT_ c) => c.modelType, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> 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<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_Callable( |
| c.modelType, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'referenceChildren': Property( |
| getValue: (CT_ c) => c.referenceChildren, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'Map<String, CommentReferable>', |
| ), |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| renderSimple( |
| c.referenceChildren, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| getters: _invisibleGetters['Map']!, |
| ); |
| }, |
| ), |
| }, |
| ) |
| as Map<String, Property<CT_>>; |
| |
| _Renderer_FunctionTypedef( |
| FunctionTypedef context, |
| RendererBase<Object>? parent, |
| Template template, |
| StringSink sink, |
| ) : super(context, parent, template, sink); |
| |
| @override |
| Property<FunctionTypedef>? getProperty(String key) { |
| if (propertyMap<FunctionTypedef>().containsKey(key)) { |
| return propertyMap<FunctionTypedef>()[key]; |
| } else { |
| return null; |
| } |
| } |
| } |
| |
| class _Renderer_GetterSetterCombo extends RendererBase<GetterSetterCombo> { |
| static final Map<Type, Object> _propertyMapCache = {}; |
| static Map<String, Property<CT_>> |
| propertyMap<CT_ extends GetterSetterCombo>() => |
| _propertyMapCache.putIfAbsent( |
| CT_, |
| () => { |
| 'allAccessors': Property( |
| getValue: (CT_ c) => c.allAccessors, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'List<Accessor>', |
| ), |
| |
| renderIterable: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'List<Annotation>', |
| ), |
| |
| renderIterable: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = remainingNames.first; |
| var nextProperty = _Renderer_String.propertyMap().getValue( |
| name, |
| ); |
| return nextProperty.renderVariable( |
| self.getValue(c) as String, |
| nextProperty, |
| [...remainingNames.skip(1)], |
| ); |
| }, |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String(c.arrow, ast, r.template, sink, parent: r); |
| }, |
| ), |
| 'characterLocation': Property( |
| getValue: (CT_ c) => c.characterLocation, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'CharacterLocation', |
| ), |
| |
| isNullValue: (CT_ c) => c.characterLocation == null, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = remainingNames.first; |
| var nextProperty = _Renderer_String.propertyMap().getValue( |
| name, |
| ); |
| return nextProperty.renderVariable( |
| self.getValue(c) as String, |
| nextProperty, |
| [...remainingNames.skip(1)], |
| ); |
| }, |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String( |
| c.constantValue, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'constantValueBase': Property( |
| getValue: (CT_ c) => c.constantValueBase, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = remainingNames.first; |
| var nextProperty = _Renderer_String.propertyMap().getValue( |
| name, |
| ); |
| return nextProperty.renderVariable( |
| self.getValue(c) as String, |
| nextProperty, |
| [...remainingNames.skip(1)], |
| ); |
| }, |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String( |
| c.constantValueBase, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'constantValueTruncated': Property( |
| getValue: (CT_ c) => c.constantValueTruncated, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = remainingNames.first; |
| var nextProperty = _Renderer_String.propertyMap().getValue( |
| name, |
| ); |
| return nextProperty.renderVariable( |
| self.getValue(c) as String, |
| nextProperty, |
| [...remainingNames.skip(1)], |
| ); |
| }, |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String( |
| c.constantValueTruncated, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'documentationComment': Property( |
| getValue: (CT_ c) => c.documentationComment, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = remainingNames.first; |
| var nextProperty = _Renderer_String.propertyMap().getValue( |
| name, |
| ); |
| return nextProperty.renderVariable( |
| self.getValue(c) as String, |
| nextProperty, |
| [...remainingNames.skip(1)], |
| ); |
| }, |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String( |
| c.documentationComment, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'documentationFrom': Property( |
| getValue: (CT_ c) => c.documentationFrom, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'List<DocumentationComment>', |
| ), |
| |
| renderIterable: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, |
| List<String> 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<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_ModelElement( |
| c.enclosingElement, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'fileName': Property( |
| getValue: (CT_ c) => c.fileName, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = remainingNames.first; |
| var nextProperty = _Renderer_String.propertyMap().getValue( |
| name, |
| ); |
| return nextProperty.renderVariable( |
| self.getValue(c) as String, |
| nextProperty, |
| [...remainingNames.skip(1)], |
| ); |
| }, |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String(c.fileName, ast, r.template, sink, parent: r); |
| }, |
| ), |
| 'getter': Property( |
| getValue: (CT_ c) => c.getter, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> 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<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_Accessor(c.getter!, ast, r.template, sink, parent: r); |
| }, |
| ), |
| 'getterSetterBothAvailable': Property( |
| getValue: (CT_ c) => c.getterSetterBothAvailable, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'bool'), |
| |
| getBool: (CT_ c) => c.getterSetterBothAvailable, |
| ), |
| 'hasAccessorsWithDocs': Property( |
| getValue: (CT_ c) => c.hasAccessorsWithDocs, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'bool'), |
| |
| getBool: (CT_ c) => c.hasAccessorsWithDocs, |
| ), |
| 'hasConstantValueForDisplay': Property( |
| getValue: (CT_ c) => c.hasConstantValueForDisplay, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'bool'), |
| |
| getBool: (CT_ c) => c.hasConstantValueForDisplay, |
| ), |
| 'hasDocumentationComment': Property( |
| getValue: (CT_ c) => c.hasDocumentationComment, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'bool'), |
| |
| getBool: (CT_ c) => c.hasDocumentationComment, |
| ), |
| 'hasExplicitGetter': Property( |
| getValue: (CT_ c) => c.hasExplicitGetter, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'bool'), |
| |
| getBool: (CT_ c) => c.hasExplicitGetter, |
| ), |
| 'hasExplicitSetter': Property( |
| getValue: (CT_ c) => c.hasExplicitSetter, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'bool'), |
| |
| getBool: (CT_ c) => c.hasExplicitSetter, |
| ), |
| 'hasGetter': Property( |
| getValue: (CT_ c) => c.hasGetter, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'bool'), |
| |
| getBool: (CT_ c) => c.hasGetter, |
| ), |
| 'hasGetterOrSetter': Property( |
| getValue: (CT_ c) => c.hasGetterOrSetter, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'bool'), |
| |
| getBool: (CT_ c) => c.hasGetterOrSetter, |
| ), |
| 'hasParameters': Property( |
| getValue: (CT_ c) => c.hasParameters, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'bool'), |
| |
| getBool: (CT_ c) => c.hasParameters, |
| ), |
| 'hasPublicGetter': Property( |
| getValue: (CT_ c) => c.hasPublicGetter, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'bool'), |
| |
| getBool: (CT_ c) => c.hasPublicGetter, |
| ), |
| 'hasPublicGetterNoSetter': Property( |
| getValue: (CT_ c) => c.hasPublicGetterNoSetter, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'bool'), |
| |
| getBool: (CT_ c) => c.hasPublicGetterNoSetter, |
| ), |
| 'hasPublicSetter': Property( |
| getValue: (CT_ c) => c.hasPublicSetter, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'bool'), |
| |
| getBool: (CT_ c) => c.hasPublicSetter, |
| ), |
| 'hasSetter': Property( |
| getValue: (CT_ c) => c.hasSetter, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'bool'), |
| |
| getBool: (CT_ c) => c.hasSetter, |
| ), |
| 'isCallable': Property( |
| getValue: (CT_ c) => c.isCallable, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'bool'), |
| |
| getBool: (CT_ c) => c.isCallable, |
| ), |
| 'isInherited': Property( |
| getValue: (CT_ c) => c.isInherited, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'bool'), |
| |
| getBool: (CT_ c) => c.isInherited, |
| ), |
| 'isPublic': Property( |
| getValue: (CT_ c) => c.isPublic, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'bool'), |
| |
| getBool: (CT_ c) => c.isPublic, |
| ), |
| 'linkedParamsNoMetadata': Property( |
| getValue: (CT_ c) => c.linkedParamsNoMetadata, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = 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<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String( |
| c.linkedParamsNoMetadata!, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'modelType': Property( |
| getValue: (CT_ c) => c.modelType, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> 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<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_ElementType( |
| c.modelType, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'name': Property( |
| getValue: (CT_ c) => c.name, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = remainingNames.first; |
| var nextProperty = _Renderer_String.propertyMap().getValue( |
| name, |
| ); |
| return nextProperty.renderVariable( |
| self.getValue(c) as String, |
| nextProperty, |
| [...remainingNames.skip(1)], |
| ); |
| }, |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String(c.name, ast, r.template, sink, parent: r); |
| }, |
| ), |
| 'oneLineDoc': Property( |
| getValue: (CT_ c) => c.oneLineDoc, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = remainingNames.first; |
| var nextProperty = _Renderer_String.propertyMap().getValue( |
| name, |
| ); |
| return nextProperty.renderVariable( |
| self.getValue(c) as String, |
| nextProperty, |
| [...remainingNames.skip(1)], |
| ); |
| }, |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String( |
| c.oneLineDoc, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'parameters': Property( |
| getValue: (CT_ c) => c.parameters, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'List<Parameter>', |
| ), |
| |
| renderIterable: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'bool'), |
| |
| getBool: (CT_ c) => c.readOnly, |
| ), |
| 'readWrite': Property( |
| getValue: (CT_ c) => c.readWrite, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'bool'), |
| |
| getBool: (CT_ c) => c.readWrite, |
| ), |
| 'referenceChildren': Property( |
| getValue: (CT_ c) => c.referenceChildren, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'Map<String, CommentReferable>', |
| ), |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, |
| List<String> 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<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_Accessor(c.setter!, ast, r.template, sink, parent: r); |
| }, |
| ), |
| 'writeOnly': Property( |
| getValue: (CT_ c) => c.writeOnly, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'bool'), |
| |
| getBool: (CT_ c) => c.writeOnly, |
| ), |
| }, |
| ) |
| as Map<String, Property<CT_>>; |
| |
| _Renderer_GetterSetterCombo( |
| GetterSetterCombo context, |
| RendererBase<Object>? parent, |
| Template template, |
| StringSink sink, |
| ) : super(context, parent, template, sink); |
| |
| @override |
| Property<GetterSetterCombo>? getProperty(String key) { |
| if (propertyMap<GetterSetterCombo>().containsKey(key)) { |
| return propertyMap<GetterSetterCombo>()[key]; |
| } else { |
| return null; |
| } |
| } |
| } |
| |
| class _Renderer_HasNoPage extends RendererBase<HasNoPage> { |
| static final Map<Type, Object> _propertyMapCache = {}; |
| static Map<String, Property<CT_>> propertyMap<CT_ extends HasNoPage>() => |
| _propertyMapCache.putIfAbsent( |
| CT_, |
| () => { |
| 'aboveSidebarPath': Property( |
| getValue: (CT_ c) => c.aboveSidebarPath, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = 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<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String( |
| c.aboveSidebarPath!, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'belowSidebarPath': Property( |
| getValue: (CT_ c) => c.belowSidebarPath, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = 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<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String( |
| c.belowSidebarPath!, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'filePath': Property( |
| getValue: (CT_ c) => c.filePath, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = remainingNames.first; |
| var nextProperty = _Renderer_String.propertyMap().getValue( |
| name, |
| ); |
| return nextProperty.renderVariable( |
| self.getValue(c) as String, |
| nextProperty, |
| [...remainingNames.skip(1)], |
| ); |
| }, |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String(c.filePath, ast, r.template, sink, parent: r); |
| }, |
| ), |
| }, |
| ) |
| as Map<String, Property<CT_>>; |
| |
| _Renderer_HasNoPage( |
| HasNoPage context, |
| RendererBase<Object>? parent, |
| Template template, |
| StringSink sink, |
| ) : super(context, parent, template, sink); |
| |
| @override |
| Property<HasNoPage>? getProperty(String key) { |
| if (propertyMap<HasNoPage>().containsKey(key)) { |
| return propertyMap<HasNoPage>()[key]; |
| } else { |
| return null; |
| } |
| } |
| } |
| |
| class _Renderer_Inheritable extends RendererBase<Inheritable> { |
| static final Map<Type, Object> _propertyMapCache = {}; |
| static Map<String, Property<CT_>> propertyMap<CT_ extends Inheritable>() => |
| _propertyMapCache.putIfAbsent( |
| CT_, |
| () => { |
| 'attributes': Property( |
| getValue: (CT_ c) => c.attributes, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'Set<Attribute>', |
| ), |
| |
| renderIterable: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, |
| List<String> 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<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_Library( |
| c.canonicalLibrary!, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'canonicalModelElement': Property( |
| getValue: (CT_ c) => c.canonicalModelElement, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> 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<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_ModelElement( |
| c.canonicalModelElement!, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'isCovariant': Property( |
| getValue: (CT_ c) => c.isCovariant, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'bool'), |
| |
| getBool: (CT_ c) => c.isCovariant, |
| ), |
| 'isInherited': Property( |
| getValue: (CT_ c) => c.isInherited, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'bool'), |
| |
| getBool: (CT_ c) => c.isInherited, |
| ), |
| 'isOverride': Property( |
| getValue: (CT_ c) => c.isOverride, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'bool'), |
| |
| getBool: (CT_ c) => c.isOverride, |
| ), |
| 'overriddenDepth': Property( |
| getValue: (CT_ c) => c.overriddenDepth, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'int'), |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, |
| List<String> 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<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| renderSimple( |
| c.overriddenElement, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| getters: _invisibleGetters['Inheritable']!, |
| ); |
| }, |
| ), |
| }, |
| ) |
| as Map<String, Property<CT_>>; |
| |
| _Renderer_Inheritable( |
| Inheritable context, |
| RendererBase<Object>? parent, |
| Template template, |
| StringSink sink, |
| ) : super(context, parent, template, sink); |
| |
| @override |
| Property<Inheritable>? getProperty(String key) { |
| if (propertyMap<Inheritable>().containsKey(key)) { |
| return propertyMap<Inheritable>()[key]; |
| } else { |
| return null; |
| } |
| } |
| } |
| |
| void _render_InheritingContainer( |
| InheritingContainer context, |
| List<MustachioNode> ast, |
| Template template, |
| StringSink sink, { |
| RendererBase<Object>? parent, |
| }) { |
| var renderer = _Renderer_InheritingContainer(context, parent, template, sink); |
| renderer.renderBlock(ast); |
| } |
| |
| class _Renderer_InheritingContainer extends RendererBase<InheritingContainer> { |
| static final Map<Type, Object> _propertyMapCache = {}; |
| static Map<String, Property<CT_>> |
| propertyMap<CT_ extends InheritingContainer>() => |
| _propertyMapCache.putIfAbsent( |
| CT_, |
| () => { |
| ..._Renderer_Container.propertyMap<CT_>(), |
| 'allFields': Property( |
| getValue: (CT_ c) => c.allFields, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'List<Field>', |
| ), |
| |
| renderIterable: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| return c.allFields.map( |
| (e) => _render_Field(e, ast, r.template, sink, parent: r), |
| ); |
| }, |
| ), |
| 'allModelElements': Property( |
| getValue: (CT_ c) => c.allModelElements, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'List<ModelElement>', |
| ), |
| |
| renderIterable: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'List<Field>', |
| ), |
| |
| renderIterable: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'List<Method>', |
| ), |
| |
| renderIterable: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'List<Operator>', |
| ), |
| |
| renderIterable: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'Iterable<Field>', |
| ), |
| |
| renderIterable: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'List<ContainerModifier>', |
| ), |
| |
| renderIterable: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'Iterable<Field>', |
| ), |
| |
| renderIterable: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'List<Method>', |
| ), |
| |
| renderIterable: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| return c.declaredMethods.map( |
| (e) => _render_Method(e, ast, r.template, sink, parent: r), |
| ); |
| }, |
| ), |
| 'definingContainer': Property( |
| getValue: (CT_ c) => c.definingContainer, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> 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<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_InheritingContainer( |
| c.definingContainer, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'displayedLanguageFeatures': Property( |
| getValue: (CT_ c) => c.displayedLanguageFeatures, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'List<LanguageFeature>', |
| ), |
| |
| renderIterable: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| return c.displayedLanguageFeatures.map( |
| (e) => _render_LanguageFeature( |
| e, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ), |
| ); |
| }, |
| ), |
| 'element': Property( |
| getValue: (CT_ c) => c.element, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'InterfaceElement', |
| ), |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| renderSimple( |
| c.element, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| getters: _invisibleGetters['InterfaceElement']!, |
| ); |
| }, |
| ), |
| 'element2': Property( |
| getValue: (CT_ c) => c.element2, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'InterfaceElement2', |
| ), |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| renderSimple( |
| c.element2, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| getters: _invisibleGetters['InterfaceElement2']!, |
| ); |
| }, |
| ), |
| 'enclosingElement': Property( |
| getValue: (CT_ c) => c.enclosingElement, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> 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<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_Library( |
| c.enclosingElement, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'fullkind': Property( |
| getValue: (CT_ c) => c.fullkind, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = remainingNames.first; |
| var nextProperty = _Renderer_String.propertyMap().getValue( |
| name, |
| ); |
| return nextProperty.renderVariable( |
| self.getValue(c) as String, |
| nextProperty, |
| [...remainingNames.skip(1)], |
| ); |
| }, |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String(c.fullkind, ast, r.template, sink, parent: r); |
| }, |
| ), |
| 'hasModifiers': Property( |
| getValue: (CT_ c) => c.hasModifiers, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'bool'), |
| |
| getBool: (CT_ c) => c.hasModifiers, |
| ), |
| 'hasPotentiallyApplicableExtensions': Property( |
| getValue: (CT_ c) => c.hasPotentiallyApplicableExtensions, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'bool'), |
| |
| getBool: (CT_ c) => c.hasPotentiallyApplicableExtensions, |
| ), |
| 'hasPublicImplementers': Property( |
| getValue: (CT_ c) => c.hasPublicImplementers, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'bool'), |
| |
| getBool: (CT_ c) => c.hasPublicImplementers, |
| ), |
| 'hasPublicInterfaces': Property( |
| getValue: (CT_ c) => c.hasPublicInterfaces, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'bool'), |
| |
| getBool: (CT_ c) => c.hasPublicInterfaces, |
| ), |
| 'hasPublicSuperChainReversed': Property( |
| getValue: (CT_ c) => c.hasPublicSuperChainReversed, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'bool'), |
| |
| getBool: (CT_ c) => c.hasPublicSuperChainReversed, |
| ), |
| 'inheritanceChain': Property( |
| getValue: (CT_ c) => c.inheritanceChain, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'List<InheritingContainer>', |
| ), |
| |
| renderIterable: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| return c.inheritanceChain.map( |
| (e) => _render_InheritingContainer( |
| e, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ), |
| ); |
| }, |
| ), |
| 'inheritedMethods': Property( |
| getValue: (CT_ c) => c.inheritedMethods, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'Iterable<Method>', |
| ), |
| |
| renderIterable: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| return c.inheritedMethods.map( |
| (e) => _render_Method(e, ast, r.template, sink, parent: r), |
| ); |
| }, |
| ), |
| 'inheritedOperators': Property( |
| getValue: (CT_ c) => c.inheritedOperators, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'List<Operator>', |
| ), |
| |
| renderIterable: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| return c.inheritedOperators.map( |
| (e) => |
| _render_Operator(e, ast, r.template, sink, parent: r), |
| ); |
| }, |
| ), |
| 'instanceFields': Property( |
| getValue: (CT_ c) => c.instanceFields, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'Iterable<Field>', |
| ), |
| |
| renderIterable: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'Iterable<Method>', |
| ), |
| |
| renderIterable: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'Iterable<Operator>', |
| ), |
| |
| renderIterable: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'List<InheritingContainer>', |
| ), |
| |
| renderIterable: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'bool'), |
| |
| getBool: (CT_ c) => c.isAbstract, |
| ), |
| 'isBase': Property( |
| getValue: (CT_ c) => c.isBase, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'bool'), |
| |
| getBool: (CT_ c) => c.isBase, |
| ), |
| 'isCanonical': Property( |
| getValue: (CT_ c) => c.isCanonical, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'bool'), |
| |
| getBool: (CT_ c) => c.isCanonical, |
| ), |
| 'isFinal': Property( |
| getValue: (CT_ c) => c.isFinal, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'bool'), |
| |
| getBool: (CT_ c) => c.isFinal, |
| ), |
| 'isImplementableInterface': Property( |
| getValue: (CT_ c) => c.isImplementableInterface, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'bool'), |
| |
| getBool: (CT_ c) => c.isImplementableInterface, |
| ), |
| 'isMixinClass': Property( |
| getValue: (CT_ c) => c.isMixinClass, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'bool'), |
| |
| getBool: (CT_ c) => c.isMixinClass, |
| ), |
| 'isSealed': Property( |
| getValue: (CT_ c) => c.isSealed, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'bool'), |
| |
| getBool: (CT_ c) => c.isSealed, |
| ), |
| 'modelType': Property( |
| getValue: (CT_ c) => c.modelType, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> 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<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_DefinedElementType( |
| c.modelType, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'potentiallyApplicableExtensionsSorted': Property( |
| getValue: (CT_ c) => c.potentiallyApplicableExtensionsSorted, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'List<Extension>', |
| ), |
| |
| renderIterable: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'List<InheritingContainer>', |
| ), |
| |
| renderIterable: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'bool'), |
| |
| getBool: (CT_ c) => c.publicInheritedInstanceFields, |
| ), |
| 'publicInheritedInstanceMethods': Property( |
| getValue: (CT_ c) => c.publicInheritedInstanceMethods, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'bool'), |
| |
| getBool: (CT_ c) => c.publicInheritedInstanceMethods, |
| ), |
| 'publicInheritedInstanceOperators': Property( |
| getValue: (CT_ c) => c.publicInheritedInstanceOperators, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'bool'), |
| |
| getBool: (CT_ c) => c.publicInheritedInstanceOperators, |
| ), |
| 'publicInterfaceElements': Property( |
| getValue: (CT_ c) => c.publicInterfaceElements, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'Iterable<InheritingContainer>', |
| ), |
| |
| renderIterable: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'List<DefinedElementType>', |
| ), |
| |
| renderIterable: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'Iterable<DefinedElementType>', |
| ), |
| |
| renderIterable: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'List<DefinedElementType>', |
| ), |
| |
| renderIterable: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, |
| List<String> 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<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_DefinedElementType( |
| c.supertype!, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'typeParameters': Property( |
| getValue: (CT_ c) => c.typeParameters, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'List<TypeParameter>', |
| ), |
| |
| renderIterable: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| return c.typeParameters.map( |
| (e) => _render_TypeParameter( |
| e, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ), |
| ); |
| }, |
| ), |
| }, |
| ) |
| as Map<String, Property<CT_>>; |
| |
| _Renderer_InheritingContainer( |
| InheritingContainer context, |
| RendererBase<Object>? parent, |
| Template template, |
| StringSink sink, |
| ) : super(context, parent, template, sink); |
| |
| @override |
| Property<InheritingContainer>? getProperty(String key) { |
| if (propertyMap<InheritingContainer>().containsKey(key)) { |
| return propertyMap<InheritingContainer>()[key]; |
| } else { |
| return null; |
| } |
| } |
| } |
| |
| class _Renderer_InheritingContainerTemplateData<T extends InheritingContainer> |
| extends RendererBase<InheritingContainerTemplateData<T>> { |
| static final Map<Type, Object> _propertyMapCache = {}; |
| static Map<String, Property<CT_>> propertyMap< |
| T extends InheritingContainer, |
| CT_ extends InheritingContainerTemplateData |
| >() => |
| _propertyMapCache.putIfAbsent( |
| CT_, |
| () => { |
| ..._Renderer_TemplateData.propertyMap<T, CT_>(), |
| ..._Renderer_OneDirectoryDown.propertyMap<T, CT_>(), |
| 'clazz': Property( |
| getValue: (CT_ c) => c.clazz, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> 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<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_InheritingContainer( |
| c.clazz, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'container': Property( |
| getValue: (CT_ c) => c.container, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> 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<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_Container( |
| c.container, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'layoutTitle': Property( |
| getValue: (CT_ c) => c.layoutTitle, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = remainingNames.first; |
| var nextProperty = _Renderer_String.propertyMap().getValue( |
| name, |
| ); |
| return nextProperty.renderVariable( |
| self.getValue(c) as String, |
| nextProperty, |
| [...remainingNames.skip(1)], |
| ); |
| }, |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String( |
| c.layoutTitle, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'library': Property( |
| getValue: (CT_ c) => c.library, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> 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<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_Library(c.library, ast, r.template, sink, parent: r); |
| }, |
| ), |
| 'metaDescription': Property( |
| getValue: (CT_ c) => c.metaDescription, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = remainingNames.first; |
| var nextProperty = _Renderer_String.propertyMap().getValue( |
| name, |
| ); |
| return nextProperty.renderVariable( |
| self.getValue(c) as String, |
| nextProperty, |
| [...remainingNames.skip(1)], |
| ); |
| }, |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String( |
| c.metaDescription, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'navLinks': Property( |
| getValue: (CT_ c) => c.navLinks, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'List<Documentable>', |
| ), |
| |
| renderIterable: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, |
| List<String> 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<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_InheritingContainer( |
| c.self, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'title': Property( |
| getValue: (CT_ c) => c.title, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = remainingNames.first; |
| var nextProperty = _Renderer_String.propertyMap().getValue( |
| name, |
| ); |
| return nextProperty.renderVariable( |
| self.getValue(c) as String, |
| nextProperty, |
| [...remainingNames.skip(1)], |
| ); |
| }, |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String(c.title, ast, r.template, sink, parent: r); |
| }, |
| ), |
| }, |
| ) |
| as Map<String, Property<CT_>>; |
| |
| _Renderer_InheritingContainerTemplateData( |
| InheritingContainerTemplateData<T> context, |
| RendererBase<Object>? parent, |
| Template template, |
| StringSink sink, |
| ) : super(context, parent, template, sink); |
| |
| @override |
| Property<InheritingContainerTemplateData<T>>? getProperty(String key) { |
| if (propertyMap<T, InheritingContainerTemplateData<T>>().containsKey(key)) { |
| return propertyMap<T, InheritingContainerTemplateData<T>>()[key]; |
| } else { |
| return null; |
| } |
| } |
| } |
| |
| void _render_LanguageFeature( |
| LanguageFeature context, |
| List<MustachioNode> ast, |
| Template template, |
| StringSink sink, { |
| RendererBase<Object>? parent, |
| }) { |
| var renderer = _Renderer_LanguageFeature(context, parent, template, sink); |
| renderer.renderBlock(ast); |
| } |
| |
| class _Renderer_LanguageFeature extends RendererBase<LanguageFeature> { |
| static final Map<Type, Object> _propertyMapCache = {}; |
| static Map<String, Property<CT_>> |
| propertyMap<CT_ extends LanguageFeature>() => |
| _propertyMapCache.putIfAbsent( |
| CT_, |
| () => { |
| ..._Renderer_Object.propertyMap<CT_>(), |
| 'featureDescription': Property( |
| getValue: (CT_ c) => c.featureDescription, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = 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<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String( |
| c.featureDescription!, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'featureLabel': Property( |
| getValue: (CT_ c) => c.featureLabel, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = remainingNames.first; |
| var nextProperty = _Renderer_String.propertyMap().getValue( |
| name, |
| ); |
| return nextProperty.renderVariable( |
| self.getValue(c) as String, |
| nextProperty, |
| [...remainingNames.skip(1)], |
| ); |
| }, |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String( |
| c.featureLabel, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'featureUrl': Property( |
| getValue: (CT_ c) => c.featureUrl, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = 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<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String( |
| c.featureUrl!, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'name': Property( |
| getValue: (CT_ c) => c.name, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = remainingNames.first; |
| var nextProperty = _Renderer_String.propertyMap().getValue( |
| name, |
| ); |
| return nextProperty.renderVariable( |
| self.getValue(c) as String, |
| nextProperty, |
| [...remainingNames.skip(1)], |
| ); |
| }, |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String(c.name, ast, r.template, sink, parent: r); |
| }, |
| ), |
| }, |
| ) |
| as Map<String, Property<CT_>>; |
| |
| _Renderer_LanguageFeature( |
| LanguageFeature context, |
| RendererBase<Object>? parent, |
| Template template, |
| StringSink sink, |
| ) : super(context, parent, template, sink); |
| |
| @override |
| Property<LanguageFeature>? getProperty(String key) { |
| if (propertyMap<LanguageFeature>().containsKey(key)) { |
| return propertyMap<LanguageFeature>()[key]; |
| } else { |
| return null; |
| } |
| } |
| } |
| |
| void _render_Library( |
| Library context, |
| List<MustachioNode> ast, |
| Template template, |
| StringSink sink, { |
| RendererBase<Object>? parent, |
| }) { |
| var renderer = _Renderer_Library(context, parent, template, sink); |
| renderer.renderBlock(ast); |
| } |
| |
| class _Renderer_Library extends RendererBase<Library> { |
| static final Map<Type, Object> _propertyMapCache = {}; |
| static Map<String, Property<CT_>> propertyMap<CT_ extends Library>() => |
| _propertyMapCache.putIfAbsent( |
| CT_, |
| () => { |
| ..._Renderer_ModelElement.propertyMap<CT_>(), |
| ..._Renderer_Categorization.propertyMap<CT_>(), |
| ..._Renderer_TopLevelContainer.propertyMap<CT_>(), |
| ..._Renderer_CanonicalFor.propertyMap<CT_>(), |
| ..._Renderer_Categorization.propertyMap<CT_>(), |
| ..._Renderer_TopLevelContainer.propertyMap<CT_>(), |
| ..._Renderer_CanonicalFor.propertyMap<CT_>(), |
| 'aboveSidebarPath': Property( |
| getValue: (CT_ c) => c.aboveSidebarPath, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = 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<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String( |
| c.aboveSidebarPath!, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'allModelElements': Property( |
| getValue: (CT_ c) => c.allModelElements, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'List<ModelElement>', |
| ), |
| |
| renderIterable: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = remainingNames.first; |
| var nextProperty = _Renderer_String.propertyMap().getValue( |
| name, |
| ); |
| return nextProperty.renderVariable( |
| self.getValue(c) as String, |
| nextProperty, |
| [...remainingNames.skip(1)], |
| ); |
| }, |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String( |
| c.belowSidebarPath, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'breadcrumbName': Property( |
| getValue: (CT_ c) => c.breadcrumbName, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = remainingNames.first; |
| var nextProperty = _Renderer_String.propertyMap().getValue( |
| name, |
| ); |
| return nextProperty.renderVariable( |
| self.getValue(c) as String, |
| nextProperty, |
| [...remainingNames.skip(1)], |
| ); |
| }, |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String( |
| c.breadcrumbName, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'characterLocation': Property( |
| getValue: (CT_ c) => c.characterLocation, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'CharacterLocation', |
| ), |
| |
| isNullValue: (CT_ c) => c.characterLocation == null, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'Iterable<Class>', |
| ), |
| |
| renderIterable: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'List<Class>', |
| ), |
| |
| renderIterable: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'Iterable<TopLevelVariable>', |
| ), |
| |
| renderIterable: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = remainingNames.first; |
| var nextProperty = _Renderer_String.propertyMap().getValue( |
| name, |
| ); |
| return nextProperty.renderVariable( |
| self.getValue(c) as String, |
| nextProperty, |
| [...remainingNames.skip(1)], |
| ); |
| }, |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String(c.dirName, ast, r.template, sink, parent: r); |
| }, |
| ), |
| 'displayName': Property( |
| getValue: (CT_ c) => c.displayName, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = remainingNames.first; |
| var nextProperty = _Renderer_String.propertyMap().getValue( |
| name, |
| ); |
| return nextProperty.renderVariable( |
| self.getValue(c) as String, |
| nextProperty, |
| [...remainingNames.skip(1)], |
| ); |
| }, |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String( |
| c.displayName, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'element': Property( |
| getValue: (CT_ c) => c.element, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'LibraryElement', |
| ), |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| renderSimple( |
| c.element, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| getters: _invisibleGetters['LibraryElement']!, |
| ); |
| }, |
| ), |
| 'element2': Property( |
| getValue: (CT_ c) => c.element2, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'LibraryElement2', |
| ), |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| renderSimple( |
| c.element2, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| getters: _invisibleGetters['LibraryElement2']!, |
| ); |
| }, |
| ), |
| 'enclosingElement': Property( |
| getValue: (CT_ c) => c.enclosingElement, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> 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<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_ModelElement( |
| c.enclosingElement!, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'enums': Property( |
| getValue: (CT_ c) => c.enums, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'List<Enum>', |
| ), |
| |
| renderIterable: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'List<Class>', |
| ), |
| |
| renderIterable: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'List<ExtensionType>', |
| ), |
| |
| renderIterable: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'List<Extension>', |
| ), |
| |
| renderIterable: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = remainingNames.first; |
| var nextProperty = _Renderer_String.propertyMap().getValue( |
| name, |
| ); |
| return nextProperty.renderVariable( |
| self.getValue(c) as String, |
| nextProperty, |
| [...remainingNames.skip(1)], |
| ); |
| }, |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String(c.fileName, ast, r.template, sink, parent: r); |
| }, |
| ), |
| 'filePath': Property( |
| getValue: (CT_ c) => c.filePath, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = remainingNames.first; |
| var nextProperty = _Renderer_String.propertyMap().getValue( |
| name, |
| ); |
| return nextProperty.renderVariable( |
| self.getValue(c) as String, |
| nextProperty, |
| [...remainingNames.skip(1)], |
| ); |
| }, |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String(c.filePath, ast, r.template, sink, parent: r); |
| }, |
| ), |
| 'functions': Property( |
| getValue: (CT_ c) => c.functions, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'List<ModelFunction>', |
| ), |
| |
| renderIterable: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = 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<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String(c.href!, ast, r.template, sink, parent: r); |
| }, |
| ), |
| 'isAnonymous': Property( |
| getValue: (CT_ c) => c.isAnonymous, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'bool'), |
| |
| getBool: (CT_ c) => c.isAnonymous, |
| ), |
| 'isInSdk': Property( |
| getValue: (CT_ c) => c.isInSdk, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'bool'), |
| |
| getBool: (CT_ c) => c.isInSdk, |
| ), |
| 'isPublic': Property( |
| getValue: (CT_ c) => c.isPublic, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'bool'), |
| |
| getBool: (CT_ c) => c.isPublic, |
| ), |
| 'kind': Property( |
| getValue: (CT_ c) => c.kind, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'Kind'), |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, |
| List<String> 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<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_Library(c.library, ast, r.template, sink, parent: r); |
| }, |
| ), |
| 'mixins': Property( |
| getValue: (CT_ c) => c.mixins, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'List<Mixin>', |
| ), |
| |
| renderIterable: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = remainingNames.first; |
| var nextProperty = _Renderer_String.propertyMap().getValue( |
| name, |
| ); |
| return nextProperty.renderVariable( |
| self.getValue(c) as String, |
| nextProperty, |
| [...remainingNames.skip(1)], |
| ); |
| }, |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String(c.name, ast, r.template, sink, parent: r); |
| }, |
| ), |
| 'package': Property( |
| getValue: (CT_ c) => c.package, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> 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<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_Package(c.package, ast, r.template, sink, parent: r); |
| }, |
| ), |
| 'packageMeta': Property( |
| getValue: (CT_ c) => c.packageMeta, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'PackageMeta', |
| ), |
| |
| isNullValue: (CT_ c) => c.packageMeta == null, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = remainingNames.first; |
| var nextProperty = _Renderer_String.propertyMap().getValue( |
| name, |
| ); |
| return nextProperty.renderVariable( |
| self.getValue(c) as String, |
| nextProperty, |
| [...remainingNames.skip(1)], |
| ); |
| }, |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String( |
| c.packageName, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'properties': Property( |
| getValue: (CT_ c) => c.properties, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'List<TopLevelVariable>', |
| ), |
| |
| renderIterable: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = remainingNames.first; |
| var nextProperty = _Renderer_String.propertyMap().getValue( |
| name, |
| ); |
| return nextProperty.renderVariable( |
| self.getValue(c) as String, |
| nextProperty, |
| [...remainingNames.skip(1)], |
| ); |
| }, |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String( |
| c.redirectingPath, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'referenceChildren': Property( |
| getValue: (CT_ c) => c.referenceChildren, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'Map<String, CommentReferable>', |
| ), |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'Iterable<CommentReferable>', |
| ), |
| |
| renderIterable: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'Scope'), |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = remainingNames.first; |
| var nextProperty = _Renderer_String.propertyMap().getValue( |
| name, |
| ); |
| return nextProperty.renderVariable( |
| self.getValue(c) as String, |
| nextProperty, |
| [...remainingNames.skip(1)], |
| ); |
| }, |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String( |
| c.sidebarPath, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'typedefs': Property( |
| getValue: (CT_ c) => c.typedefs, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'List<Typedef>', |
| ), |
| |
| renderIterable: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'LibraryFragment', |
| ), |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| renderSimple( |
| c.unitElement, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| getters: _invisibleGetters['LibraryFragment']!, |
| ); |
| }, |
| ), |
| }, |
| ) |
| as Map<String, Property<CT_>>; |
| |
| _Renderer_Library( |
| Library context, |
| RendererBase<Object>? parent, |
| Template template, |
| StringSink sink, |
| ) : super(context, parent, template, sink); |
| |
| @override |
| Property<Library>? getProperty(String key) { |
| if (propertyMap<Library>().containsKey(key)) { |
| return propertyMap<Library>()[key]; |
| } else { |
| return null; |
| } |
| } |
| } |
| |
| class _Renderer_LibraryContainer extends RendererBase<LibraryContainer> { |
| static final Map<Type, Object> _propertyMapCache = {}; |
| static Map<String, Property<CT_>> |
| propertyMap<CT_ extends LibraryContainer>() => |
| _propertyMapCache.putIfAbsent( |
| CT_, |
| () => { |
| ..._Renderer_Object.propertyMap<CT_>(), |
| 'containerOrder': Property( |
| getValue: (CT_ c) => c.containerOrder, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'List<String>', |
| ), |
| |
| renderIterable: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = remainingNames.first; |
| var nextProperty = _Renderer_String.propertyMap().getValue( |
| name, |
| ); |
| return nextProperty.renderVariable( |
| self.getValue(c) as String, |
| nextProperty, |
| [...remainingNames.skip(1)], |
| ); |
| }, |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String( |
| c.enclosingName, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'hasPublicLibraries': Property( |
| getValue: (CT_ c) => c.hasPublicLibraries, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'bool'), |
| |
| getBool: (CT_ c) => c.hasPublicLibraries, |
| ), |
| 'isSdk': Property( |
| getValue: (CT_ c) => c.isSdk, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'bool'), |
| |
| getBool: (CT_ c) => c.isSdk, |
| ), |
| 'libraries': Property( |
| getValue: (CT_ c) => c.libraries, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'List<Library>', |
| ), |
| |
| renderIterable: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'List<Library>', |
| ), |
| |
| renderIterable: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = remainingNames.first; |
| var nextProperty = _Renderer_String.propertyMap().getValue( |
| name, |
| ); |
| return nextProperty.renderVariable( |
| self.getValue(c) as String, |
| nextProperty, |
| [...remainingNames.skip(1)], |
| ); |
| }, |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String(c.sortKey, ast, r.template, sink, parent: r); |
| }, |
| ), |
| }, |
| ) |
| as Map<String, Property<CT_>>; |
| |
| _Renderer_LibraryContainer( |
| LibraryContainer context, |
| RendererBase<Object>? parent, |
| Template template, |
| StringSink sink, |
| ) : super(context, parent, template, sink); |
| |
| @override |
| Property<LibraryContainer>? getProperty(String key) { |
| if (propertyMap<LibraryContainer>().containsKey(key)) { |
| return propertyMap<LibraryContainer>()[key]; |
| } else { |
| return null; |
| } |
| } |
| } |
| |
| String renderLibraryRedirect(LibraryTemplateData context, Template template) { |
| var buffer = StringBuffer(); |
| _render_LibraryTemplateData(context, template.ast, template, buffer); |
| return buffer.toString(); |
| } |
| |
| void _render_LibraryTemplateData( |
| LibraryTemplateData context, |
| List<MustachioNode> ast, |
| Template template, |
| StringSink sink, { |
| RendererBase<Object>? parent, |
| }) { |
| var renderer = _Renderer_LibraryTemplateData(context, parent, template, sink); |
| renderer.renderBlock(ast); |
| } |
| |
| class _Renderer_LibraryTemplateData extends RendererBase<LibraryTemplateData> { |
| static final Map<Type, Object> _propertyMapCache = {}; |
| static Map<String, Property<CT_>> |
| propertyMap<CT_ extends LibraryTemplateData>() => |
| _propertyMapCache.putIfAbsent( |
| CT_, |
| () => { |
| ..._Renderer_TemplateData.propertyMap<Library, CT_>(), |
| ..._Renderer_OneDirectoryDown.propertyMap<Library, CT_>(), |
| 'layoutTitle': Property( |
| getValue: (CT_ c) => c.layoutTitle, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = remainingNames.first; |
| var nextProperty = _Renderer_String.propertyMap().getValue( |
| name, |
| ); |
| return nextProperty.renderVariable( |
| self.getValue(c) as String, |
| nextProperty, |
| [...remainingNames.skip(1)], |
| ); |
| }, |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String( |
| c.layoutTitle, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'library': Property( |
| getValue: (CT_ c) => c.library, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> 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<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_Library(c.library, ast, r.template, sink, parent: r); |
| }, |
| ), |
| 'metaDescription': Property( |
| getValue: (CT_ c) => c.metaDescription, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = remainingNames.first; |
| var nextProperty = _Renderer_String.propertyMap().getValue( |
| name, |
| ); |
| return nextProperty.renderVariable( |
| self.getValue(c) as String, |
| nextProperty, |
| [...remainingNames.skip(1)], |
| ); |
| }, |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String( |
| c.metaDescription, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'navLinks': Property( |
| getValue: (CT_ c) => c.navLinks, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'List<Documentable>', |
| ), |
| |
| renderIterable: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, |
| List<String> 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<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_Library(c.self, ast, r.template, sink, parent: r); |
| }, |
| ), |
| 'title': Property( |
| getValue: (CT_ c) => c.title, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = remainingNames.first; |
| var nextProperty = _Renderer_String.propertyMap().getValue( |
| name, |
| ); |
| return nextProperty.renderVariable( |
| self.getValue(c) as String, |
| nextProperty, |
| [...remainingNames.skip(1)], |
| ); |
| }, |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String(c.title, ast, r.template, sink, parent: r); |
| }, |
| ), |
| }, |
| ) |
| as Map<String, Property<CT_>>; |
| |
| _Renderer_LibraryTemplateData( |
| LibraryTemplateData context, |
| RendererBase<Object>? parent, |
| Template template, |
| StringSink sink, |
| ) : super(context, parent, template, sink); |
| |
| @override |
| Property<LibraryTemplateData>? getProperty(String key) { |
| if (propertyMap<LibraryTemplateData>().containsKey(key)) { |
| return propertyMap<LibraryTemplateData>()[key]; |
| } else { |
| return null; |
| } |
| } |
| } |
| |
| String renderLibrary(LibraryTemplateData context, Template template) { |
| var buffer = StringBuffer(); |
| _render_LibraryTemplateData(context, template.ast, template, buffer); |
| return buffer.toString(); |
| } |
| |
| class _Renderer_Locatable extends RendererBase<Locatable> { |
| static final Map<Type, Object> _propertyMapCache = {}; |
| static Map<String, Property<CT_>> propertyMap<CT_ extends Locatable>() => |
| _propertyMapCache.putIfAbsent( |
| CT_, |
| () => { |
| 'documentationFrom': Property( |
| getValue: (CT_ c) => c.documentationFrom, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'List<Locatable>', |
| ), |
| |
| renderIterable: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'bool'), |
| |
| getBool: (CT_ c) => c.documentationIsLocal, |
| ), |
| 'fullyQualifiedName': Property( |
| getValue: (CT_ c) => c.fullyQualifiedName, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = remainingNames.first; |
| var nextProperty = _Renderer_String.propertyMap().getValue( |
| name, |
| ); |
| return nextProperty.renderVariable( |
| self.getValue(c) as String, |
| nextProperty, |
| [...remainingNames.skip(1)], |
| ); |
| }, |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String( |
| c.fullyQualifiedName, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'href': Property( |
| getValue: (CT_ c) => c.href, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = 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<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String(c.href!, ast, r.template, sink, parent: r); |
| }, |
| ), |
| 'isCanonical': Property( |
| getValue: (CT_ c) => c.isCanonical, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'bool'), |
| |
| getBool: (CT_ c) => c.isCanonical, |
| ), |
| 'location': Property( |
| getValue: (CT_ c) => c.location, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = remainingNames.first; |
| var nextProperty = _Renderer_String.propertyMap().getValue( |
| name, |
| ); |
| return nextProperty.renderVariable( |
| self.getValue(c) as String, |
| nextProperty, |
| [...remainingNames.skip(1)], |
| ); |
| }, |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String(c.location, ast, r.template, sink, parent: r); |
| }, |
| ), |
| }, |
| ) |
| as Map<String, Property<CT_>>; |
| |
| _Renderer_Locatable( |
| Locatable context, |
| RendererBase<Object>? parent, |
| Template template, |
| StringSink sink, |
| ) : super(context, parent, template, sink); |
| |
| @override |
| Property<Locatable>? getProperty(String key) { |
| if (propertyMap<Locatable>().containsKey(key)) { |
| return propertyMap<Locatable>()[key]; |
| } else { |
| return null; |
| } |
| } |
| } |
| |
| class _Renderer_MarkdownFileDocumentation |
| extends RendererBase<MarkdownFileDocumentation> { |
| static final Map<Type, Object> _propertyMapCache = {}; |
| static Map<String, Property<CT_>> |
| propertyMap<CT_ extends MarkdownFileDocumentation>() => |
| _propertyMapCache.putIfAbsent( |
| CT_, |
| () => { |
| 'documentation': Property( |
| getValue: (CT_ c) => c.documentation, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = remainingNames.first; |
| var nextProperty = _Renderer_String.propertyMap().getValue( |
| name, |
| ); |
| return nextProperty.renderVariable( |
| self.getValue(c) as String, |
| nextProperty, |
| [...remainingNames.skip(1)], |
| ); |
| }, |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String( |
| c.documentation, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'documentationAsHtml': Property( |
| getValue: (CT_ c) => c.documentationAsHtml, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = remainingNames.first; |
| var nextProperty = _Renderer_String.propertyMap().getValue( |
| name, |
| ); |
| return nextProperty.renderVariable( |
| self.getValue(c) as String, |
| nextProperty, |
| [...remainingNames.skip(1)], |
| ); |
| }, |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String( |
| c.documentationAsHtml, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'documentationFile': Property( |
| getValue: (CT_ c) => c.documentationFile, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'File'), |
| |
| isNullValue: (CT_ c) => c.documentationFile == null, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'DocumentLocation', |
| ), |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'bool'), |
| |
| getBool: (CT_ c) => c.hasDocumentation, |
| ), |
| 'isDocumented': Property( |
| getValue: (CT_ c) => c.isDocumented, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'bool'), |
| |
| getBool: (CT_ c) => c.isDocumented, |
| ), |
| 'location': Property( |
| getValue: (CT_ c) => c.location, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = remainingNames.first; |
| var nextProperty = _Renderer_String.propertyMap().getValue( |
| name, |
| ); |
| return nextProperty.renderVariable( |
| self.getValue(c) as String, |
| nextProperty, |
| [...remainingNames.skip(1)], |
| ); |
| }, |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String(c.location, ast, r.template, sink, parent: r); |
| }, |
| ), |
| 'oneLineDoc': Property( |
| getValue: (CT_ c) => c.oneLineDoc, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = remainingNames.first; |
| var nextProperty = _Renderer_String.propertyMap().getValue( |
| name, |
| ); |
| return nextProperty.renderVariable( |
| self.getValue(c) as String, |
| nextProperty, |
| [...remainingNames.skip(1)], |
| ); |
| }, |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String( |
| c.oneLineDoc, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| }, |
| ) |
| as Map<String, Property<CT_>>; |
| |
| _Renderer_MarkdownFileDocumentation( |
| MarkdownFileDocumentation context, |
| RendererBase<Object>? parent, |
| Template template, |
| StringSink sink, |
| ) : super(context, parent, template, sink); |
| |
| @override |
| Property<MarkdownFileDocumentation>? getProperty(String key) { |
| if (propertyMap<MarkdownFileDocumentation>().containsKey(key)) { |
| return propertyMap<MarkdownFileDocumentation>()[key]; |
| } else { |
| return null; |
| } |
| } |
| } |
| |
| void _render_Method( |
| Method context, |
| List<MustachioNode> ast, |
| Template template, |
| StringSink sink, { |
| RendererBase<Object>? parent, |
| }) { |
| var renderer = _Renderer_Method(context, parent, template, sink); |
| renderer.renderBlock(ast); |
| } |
| |
| class _Renderer_Method extends RendererBase<Method> { |
| static final Map<Type, Object> _propertyMapCache = {}; |
| static Map<String, Property<CT_>> propertyMap<CT_ extends Method>() => |
| _propertyMapCache.putIfAbsent( |
| CT_, |
| () => { |
| ..._Renderer_ModelElement.propertyMap<CT_>(), |
| ..._Renderer_ContainerMember.propertyMap<CT_>(), |
| ..._Renderer_Inheritable.propertyMap<CT_>(), |
| ..._Renderer_TypeParameters.propertyMap<CT_>(), |
| ..._Renderer_ContainerMember.propertyMap<CT_>(), |
| ..._Renderer_Inheritable.propertyMap<CT_>(), |
| ..._Renderer_TypeParameters.propertyMap<CT_>(), |
| 'aboveSidebarPath': Property( |
| getValue: (CT_ c) => c.aboveSidebarPath, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = remainingNames.first; |
| var nextProperty = _Renderer_String.propertyMap().getValue( |
| name, |
| ); |
| return nextProperty.renderVariable( |
| self.getValue(c) as String, |
| nextProperty, |
| [...remainingNames.skip(1)], |
| ); |
| }, |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String( |
| c.aboveSidebarPath, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'attributes': Property( |
| getValue: (CT_ c) => c.attributes, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'Set<Attribute>', |
| ), |
| |
| renderIterable: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = 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<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String( |
| c.belowSidebarPath!, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'characterLocation': Property( |
| getValue: (CT_ c) => c.characterLocation, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'CharacterLocation', |
| ), |
| |
| isNullValue: (CT_ c) => c.characterLocation == null, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'MethodElement', |
| ), |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| renderSimple( |
| c.element, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| getters: _invisibleGetters['MethodElement']!, |
| ); |
| }, |
| ), |
| 'element2': Property( |
| getValue: (CT_ c) => c.element2, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'MethodElement2', |
| ), |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| renderSimple( |
| c.element2, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| getters: _invisibleGetters['MethodElement2']!, |
| ); |
| }, |
| ), |
| 'enclosingElement': Property( |
| getValue: (CT_ c) => c.enclosingElement, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> 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<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_Container( |
| c.enclosingElement, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'enclosingExtension': Property( |
| getValue: (CT_ c) => c.enclosingExtension, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> 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<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_Extension( |
| c.enclosingExtension, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'fullkind': Property( |
| getValue: (CT_ c) => c.fullkind, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = remainingNames.first; |
| var nextProperty = _Renderer_String.propertyMap().getValue( |
| name, |
| ); |
| return nextProperty.renderVariable( |
| self.getValue(c) as String, |
| nextProperty, |
| [...remainingNames.skip(1)], |
| ); |
| }, |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String(c.fullkind, ast, r.template, sink, parent: r); |
| }, |
| ), |
| 'href': Property( |
| getValue: (CT_ c) => c.href, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = 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<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String(c.href!, ast, r.template, sink, parent: r); |
| }, |
| ), |
| 'isCovariant': Property( |
| getValue: (CT_ c) => c.isCovariant, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'bool'), |
| |
| getBool: (CT_ c) => c.isCovariant, |
| ), |
| 'isInherited': Property( |
| getValue: (CT_ c) => c.isInherited, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'bool'), |
| |
| getBool: (CT_ c) => c.isInherited, |
| ), |
| 'isOperator': Property( |
| getValue: (CT_ c) => c.isOperator, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'bool'), |
| |
| getBool: (CT_ c) => c.isOperator, |
| ), |
| 'isProvidedByExtension': Property( |
| getValue: (CT_ c) => c.isProvidedByExtension, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'bool'), |
| |
| getBool: (CT_ c) => c.isProvidedByExtension, |
| ), |
| 'isStatic': Property( |
| getValue: (CT_ c) => c.isStatic, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'bool'), |
| |
| getBool: (CT_ c) => c.isStatic, |
| ), |
| 'kind': Property( |
| getValue: (CT_ c) => c.kind, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'Kind'), |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, |
| List<String> 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<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_Callable( |
| c.modelType, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'originalMember': Property( |
| getValue: (CT_ c) => c.originalMember, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'ExecutableMember', |
| ), |
| |
| isNullValue: (CT_ c) => c.originalMember == null, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, |
| List<String> 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<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_Method( |
| c.overriddenElement!, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'referenceChildren': Property( |
| getValue: (CT_ c) => c.referenceChildren, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'Map<String, CommentReferable>', |
| ), |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'List<TypeParameter>', |
| ), |
| |
| renderIterable: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| return c.typeParameters.map( |
| (e) => _render_TypeParameter( |
| e, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ), |
| ); |
| }, |
| ), |
| }, |
| ) |
| as Map<String, Property<CT_>>; |
| |
| _Renderer_Method( |
| Method context, |
| RendererBase<Object>? parent, |
| Template template, |
| StringSink sink, |
| ) : super(context, parent, template, sink); |
| |
| @override |
| Property<Method>? getProperty(String key) { |
| if (propertyMap<Method>().containsKey(key)) { |
| return propertyMap<Method>()[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<MustachioNode> ast, |
| Template template, |
| StringSink sink, { |
| RendererBase<Object>? parent, |
| }) { |
| var renderer = _Renderer_MethodTemplateData(context, parent, template, sink); |
| renderer.renderBlock(ast); |
| } |
| |
| class _Renderer_MethodTemplateData extends RendererBase<MethodTemplateData> { |
| static final Map<Type, Object> _propertyMapCache = {}; |
| static Map<String, Property<CT_>> |
| propertyMap<CT_ extends MethodTemplateData>() => |
| _propertyMapCache.putIfAbsent( |
| CT_, |
| () => { |
| ..._Renderer_TemplateData.propertyMap<Method, CT_>(), |
| ..._Renderer_TwoDirectoriesDown.propertyMap<Method, CT_>(), |
| 'container': Property( |
| getValue: (CT_ c) => c.container, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> 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<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_Container( |
| c.container, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'layoutTitle': Property( |
| getValue: (CT_ c) => c.layoutTitle, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = remainingNames.first; |
| var nextProperty = _Renderer_String.propertyMap().getValue( |
| name, |
| ); |
| return nextProperty.renderVariable( |
| self.getValue(c) as String, |
| nextProperty, |
| [...remainingNames.skip(1)], |
| ); |
| }, |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String( |
| c.layoutTitle, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'library': Property( |
| getValue: (CT_ c) => c.library, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> 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<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_Library(c.library, ast, r.template, sink, parent: r); |
| }, |
| ), |
| 'metaDescription': Property( |
| getValue: (CT_ c) => c.metaDescription, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = remainingNames.first; |
| var nextProperty = _Renderer_String.propertyMap().getValue( |
| name, |
| ); |
| return nextProperty.renderVariable( |
| self.getValue(c) as String, |
| nextProperty, |
| [...remainingNames.skip(1)], |
| ); |
| }, |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String( |
| c.metaDescription, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'method': Property( |
| getValue: (CT_ c) => c.method, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> 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<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_Method(c.method, ast, r.template, sink, parent: r); |
| }, |
| ), |
| 'navLinks': Property( |
| getValue: (CT_ c) => c.navLinks, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'List<Documentable>', |
| ), |
| |
| renderIterable: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'List<Container>', |
| ), |
| |
| renderIterable: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, |
| List<String> 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<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_Method(c.self, ast, r.template, sink, parent: r); |
| }, |
| ), |
| 'title': Property( |
| getValue: (CT_ c) => c.title, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = remainingNames.first; |
| var nextProperty = _Renderer_String.propertyMap().getValue( |
| name, |
| ); |
| return nextProperty.renderVariable( |
| self.getValue(c) as String, |
| nextProperty, |
| [...remainingNames.skip(1)], |
| ); |
| }, |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String(c.title, ast, r.template, sink, parent: r); |
| }, |
| ), |
| }, |
| ) |
| as Map<String, Property<CT_>>; |
| |
| _Renderer_MethodTemplateData( |
| MethodTemplateData context, |
| RendererBase<Object>? parent, |
| Template template, |
| StringSink sink, |
| ) : super(context, parent, template, sink); |
| |
| @override |
| Property<MethodTemplateData>? getProperty(String key) { |
| if (propertyMap<MethodTemplateData>().containsKey(key)) { |
| return propertyMap<MethodTemplateData>()[key]; |
| } else { |
| return null; |
| } |
| } |
| } |
| |
| class _Renderer_MixedInTypes extends RendererBase<MixedInTypes> { |
| static final Map<Type, Object> _propertyMapCache = {}; |
| static Map<String, Property<CT_>> propertyMap<CT_ extends MixedInTypes>() => |
| _propertyMapCache.putIfAbsent( |
| CT_, |
| () => { |
| 'hasModifiers': Property( |
| getValue: (CT_ c) => c.hasModifiers, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'bool'), |
| |
| getBool: (CT_ c) => c.hasModifiers, |
| ), |
| 'hasPublicMixedInTypes': Property( |
| getValue: (CT_ c) => c.hasPublicMixedInTypes, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'bool'), |
| |
| getBool: (CT_ c) => c.hasPublicMixedInTypes, |
| ), |
| 'mixedInTypes': Property( |
| getValue: (CT_ c) => c.mixedInTypes, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'List<DefinedElementType>', |
| ), |
| |
| renderIterable: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'Iterable<DefinedElementType>', |
| ), |
| |
| renderIterable: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| return c.publicMixedInTypes.map( |
| (e) => _render_DefinedElementType( |
| e, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ), |
| ); |
| }, |
| ), |
| }, |
| ) |
| as Map<String, Property<CT_>>; |
| |
| _Renderer_MixedInTypes( |
| MixedInTypes context, |
| RendererBase<Object>? parent, |
| Template template, |
| StringSink sink, |
| ) : super(context, parent, template, sink); |
| |
| @override |
| Property<MixedInTypes>? getProperty(String key) { |
| if (propertyMap<MixedInTypes>().containsKey(key)) { |
| return propertyMap<MixedInTypes>()[key]; |
| } else { |
| return null; |
| } |
| } |
| } |
| |
| void _render_Mixin( |
| Mixin context, |
| List<MustachioNode> ast, |
| Template template, |
| StringSink sink, { |
| RendererBase<Object>? parent, |
| }) { |
| var renderer = _Renderer_Mixin(context, parent, template, sink); |
| renderer.renderBlock(ast); |
| } |
| |
| class _Renderer_Mixin extends RendererBase<Mixin> { |
| static final Map<Type, Object> _propertyMapCache = {}; |
| static Map<String, Property<CT_>> propertyMap<CT_ extends Mixin>() => |
| _propertyMapCache.putIfAbsent( |
| CT_, |
| () => { |
| ..._Renderer_InheritingContainer.propertyMap<CT_>(), |
| 'element': Property( |
| getValue: (CT_ c) => c.element, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'MixinElement', |
| ), |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| renderSimple( |
| c.element, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| getters: _invisibleGetters['MixinElement']!, |
| ); |
| }, |
| ), |
| 'element2': Property( |
| getValue: (CT_ c) => c.element2, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'MixinElement2', |
| ), |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| renderSimple( |
| c.element2, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| getters: _invisibleGetters['MixinElement2']!, |
| ); |
| }, |
| ), |
| 'fileName': Property( |
| getValue: (CT_ c) => c.fileName, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = remainingNames.first; |
| var nextProperty = _Renderer_String.propertyMap().getValue( |
| name, |
| ); |
| return nextProperty.renderVariable( |
| self.getValue(c) as String, |
| nextProperty, |
| [...remainingNames.skip(1)], |
| ); |
| }, |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String(c.fileName, ast, r.template, sink, parent: r); |
| }, |
| ), |
| 'hasModifiers': Property( |
| getValue: (CT_ c) => c.hasModifiers, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'bool'), |
| |
| getBool: (CT_ c) => c.hasModifiers, |
| ), |
| 'hasPublicSuperclassConstraints': Property( |
| getValue: (CT_ c) => c.hasPublicSuperclassConstraints, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'bool'), |
| |
| getBool: (CT_ c) => c.hasPublicSuperclassConstraints, |
| ), |
| 'inheritanceChain': Property( |
| getValue: (CT_ c) => c.inheritanceChain, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'List<InheritingContainer>', |
| ), |
| |
| renderIterable: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'bool'), |
| |
| getBool: (CT_ c) => c.isAbstract, |
| ), |
| 'isBase': Property( |
| getValue: (CT_ c) => c.isBase, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'bool'), |
| |
| getBool: (CT_ c) => c.isBase, |
| ), |
| 'isFinal': Property( |
| getValue: (CT_ c) => c.isFinal, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'bool'), |
| |
| getBool: (CT_ c) => c.isFinal, |
| ), |
| 'isImplementableInterface': Property( |
| getValue: (CT_ c) => c.isImplementableInterface, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'bool'), |
| |
| getBool: (CT_ c) => c.isImplementableInterface, |
| ), |
| 'isMixinClass': Property( |
| getValue: (CT_ c) => c.isMixinClass, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'bool'), |
| |
| getBool: (CT_ c) => c.isMixinClass, |
| ), |
| 'isSealed': Property( |
| getValue: (CT_ c) => c.isSealed, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'bool'), |
| |
| getBool: (CT_ c) => c.isSealed, |
| ), |
| 'kind': Property( |
| getValue: (CT_ c) => c.kind, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'Kind'), |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'Iterable<ParameterizedElementType>', |
| ), |
| |
| renderIterable: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = remainingNames.first; |
| var nextProperty = _Renderer_String.propertyMap().getValue( |
| name, |
| ); |
| return nextProperty.renderVariable( |
| self.getValue(c) as String, |
| nextProperty, |
| [...remainingNames.skip(1)], |
| ); |
| }, |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String( |
| c.relationshipsClass, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'sidebarPath': Property( |
| getValue: (CT_ c) => c.sidebarPath, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = remainingNames.first; |
| var nextProperty = _Renderer_String.propertyMap().getValue( |
| name, |
| ); |
| return nextProperty.renderVariable( |
| self.getValue(c) as String, |
| nextProperty, |
| [...remainingNames.skip(1)], |
| ); |
| }, |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String( |
| c.sidebarPath, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'superclassConstraints': Property( |
| getValue: (CT_ c) => c.superclassConstraints, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'List<ParameterizedElementType>', |
| ), |
| |
| renderIterable: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| return c.superclassConstraints.map( |
| (e) => _render_ParameterizedElementType( |
| e, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ), |
| ); |
| }, |
| ), |
| }, |
| ) |
| as Map<String, Property<CT_>>; |
| |
| _Renderer_Mixin( |
| Mixin context, |
| RendererBase<Object>? parent, |
| Template template, |
| StringSink sink, |
| ) : super(context, parent, template, sink); |
| |
| @override |
| Property<Mixin>? getProperty(String key) { |
| if (propertyMap<Mixin>().containsKey(key)) { |
| return propertyMap<Mixin>()[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<MustachioNode> ast, |
| Template template, |
| StringSink sink, { |
| RendererBase<Object>? parent, |
| }) { |
| var renderer = _Renderer_MixinTemplateData(context, parent, template, sink); |
| renderer.renderBlock(ast); |
| } |
| |
| class _Renderer_MixinTemplateData extends RendererBase<MixinTemplateData> { |
| static final Map<Type, Object> _propertyMapCache = {}; |
| static Map<String, Property<CT_>> |
| propertyMap<CT_ extends MixinTemplateData>() => |
| _propertyMapCache.putIfAbsent( |
| CT_, |
| () => { |
| ..._Renderer_InheritingContainerTemplateData.propertyMap< |
| Mixin, |
| CT_ |
| >(), |
| 'mixin': Property( |
| getValue: (CT_ c) => c.mixin, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> 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<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_Mixin(c.mixin, ast, r.template, sink, parent: r); |
| }, |
| ), |
| 'self': Property( |
| getValue: (CT_ c) => c.self, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> 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<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_Mixin(c.self, ast, r.template, sink, parent: r); |
| }, |
| ), |
| }, |
| ) |
| as Map<String, Property<CT_>>; |
| |
| _Renderer_MixinTemplateData( |
| MixinTemplateData context, |
| RendererBase<Object>? parent, |
| Template template, |
| StringSink sink, |
| ) : super(context, parent, template, sink); |
| |
| @override |
| Property<MixinTemplateData>? getProperty(String key) { |
| if (propertyMap<MixinTemplateData>().containsKey(key)) { |
| return propertyMap<MixinTemplateData>()[key]; |
| } else { |
| return null; |
| } |
| } |
| } |
| |
| void _render_ModelElement( |
| ModelElement context, |
| List<MustachioNode> ast, |
| Template template, |
| StringSink sink, { |
| RendererBase<Object>? parent, |
| }) { |
| var renderer = _Renderer_ModelElement(context, parent, template, sink); |
| renderer.renderBlock(ast); |
| } |
| |
| class _Renderer_ModelElement extends RendererBase<ModelElement> { |
| static final Map<Type, Object> _propertyMapCache = {}; |
| static Map<String, Property<CT_>> propertyMap<CT_ extends ModelElement>() => |
| _propertyMapCache.putIfAbsent( |
| CT_, |
| () => { |
| ..._Renderer_Object.propertyMap<CT_>(), |
| ..._Renderer_CommentReferable.propertyMap<CT_>(), |
| ..._Renderer_Warnable.propertyMap<CT_>(), |
| ..._Renderer_Locatable.propertyMap<CT_>(), |
| ..._Renderer_Nameable.propertyMap<CT_>(), |
| ..._Renderer_SourceCode.propertyMap<CT_>(), |
| ..._Renderer_FeatureSet.propertyMap<CT_>(), |
| ..._Renderer_DocumentationComment.propertyMap<CT_>(), |
| ..._Renderer_CommentReferable.propertyMap<CT_>(), |
| ..._Renderer_Warnable.propertyMap<CT_>(), |
| ..._Renderer_Locatable.propertyMap<CT_>(), |
| ..._Renderer_Nameable.propertyMap<CT_>(), |
| ..._Renderer_SourceCode.propertyMap<CT_>(), |
| ..._Renderer_FeatureSet.propertyMap<CT_>(), |
| ..._Renderer_DocumentationComment.propertyMap<CT_>(), |
| 'annotations': Property( |
| getValue: (CT_ c) => c.annotations, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'List<Annotation>', |
| ), |
| |
| renderIterable: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'Set<Attribute>', |
| ), |
| |
| renderIterable: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = remainingNames.first; |
| var nextProperty = _Renderer_String.propertyMap().getValue( |
| name, |
| ); |
| return nextProperty.renderVariable( |
| self.getValue(c) as String, |
| nextProperty, |
| [...remainingNames.skip(1)], |
| ); |
| }, |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String( |
| c.attributesAsString, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'canonicalLibrary': Property( |
| getValue: (CT_ c) => c.canonicalLibrary, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> 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<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_Library( |
| c.canonicalLibrary!, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'canonicalLibraryOrThrow': Property( |
| getValue: (CT_ c) => c.canonicalLibraryOrThrow, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> 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<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_Library( |
| c.canonicalLibraryOrThrow, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'canonicalModelElement': Property( |
| getValue: (CT_ c) => c.canonicalModelElement, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> 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<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_ModelElement( |
| c.canonicalModelElement!, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'characterLocation': Property( |
| getValue: (CT_ c) => c.characterLocation, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'CharacterLocation', |
| ), |
| |
| isNullValue: (CT_ c) => c.characterLocation == null, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'DartdocOptionContext', |
| ), |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'Iterable<Category?>', |
| ), |
| |
| renderIterable: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = remainingNames.first; |
| var nextProperty = _Renderer_String.propertyMap().getValue( |
| name, |
| ); |
| return nextProperty.renderVariable( |
| self.getValue(c) as String, |
| nextProperty, |
| [...remainingNames.skip(1)], |
| ); |
| }, |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String( |
| c.documentation, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'element': Property( |
| getValue: (CT_ c) => c.element, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'Element'), |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| renderSimple( |
| c.element, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| getters: _invisibleGetters['Element']!, |
| ); |
| }, |
| ), |
| 'element2': Property( |
| getValue: (CT_ c) => c.element2, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'Element2', |
| ), |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| renderSimple( |
| c.element2, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| getters: _invisibleGetters['Element2']!, |
| ); |
| }, |
| ), |
| 'enclosingElement': Property( |
| getValue: (CT_ c) => c.enclosingElement, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> 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<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_ModelElement( |
| c.enclosingElement!, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'fileName': Property( |
| getValue: (CT_ c) => c.fileName, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = remainingNames.first; |
| var nextProperty = _Renderer_String.propertyMap().getValue( |
| name, |
| ); |
| return nextProperty.renderVariable( |
| self.getValue(c) as String, |
| nextProperty, |
| [...remainingNames.skip(1)], |
| ); |
| }, |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String(c.fileName, ast, r.template, sink, parent: r); |
| }, |
| ), |
| 'filePath': Property( |
| getValue: (CT_ c) => c.filePath, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = remainingNames.first; |
| var nextProperty = _Renderer_String.propertyMap().getValue( |
| name, |
| ); |
| return nextProperty.renderVariable( |
| self.getValue(c) as String, |
| nextProperty, |
| [...remainingNames.skip(1)], |
| ); |
| }, |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String(c.filePath, ast, r.template, sink, parent: r); |
| }, |
| ), |
| 'fullyQualifiedName': Property( |
| getValue: (CT_ c) => c.fullyQualifiedName, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = remainingNames.first; |
| var nextProperty = _Renderer_String.propertyMap().getValue( |
| name, |
| ); |
| return nextProperty.renderVariable( |
| self.getValue(c) as String, |
| nextProperty, |
| [...remainingNames.skip(1)], |
| ); |
| }, |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String( |
| c.fullyQualifiedName, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'hasAnnotations': Property( |
| getValue: (CT_ c) => c.hasAnnotations, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'bool'), |
| |
| getBool: (CT_ c) => c.hasAnnotations, |
| ), |
| 'hasAttributes': Property( |
| getValue: (CT_ c) => c.hasAttributes, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'bool'), |
| |
| getBool: (CT_ c) => c.hasAttributes, |
| ), |
| 'hasCategoryNames': Property( |
| getValue: (CT_ c) => c.hasCategoryNames, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'bool'), |
| |
| getBool: (CT_ c) => c.hasCategoryNames, |
| ), |
| 'hasDocumentation': Property( |
| getValue: (CT_ c) => c.hasDocumentation, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'bool'), |
| |
| getBool: (CT_ c) => c.hasDocumentation, |
| ), |
| 'hasParameters': Property( |
| getValue: (CT_ c) => c.hasParameters, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'bool'), |
| |
| getBool: (CT_ c) => c.hasParameters, |
| ), |
| 'hasSourceHref': Property( |
| getValue: (CT_ c) => c.hasSourceHref, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'bool'), |
| |
| getBool: (CT_ c) => c.hasSourceHref, |
| ), |
| 'href': Property( |
| getValue: (CT_ c) => c.href, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = 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<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String(c.href!, ast, r.template, sink, parent: r); |
| }, |
| ), |
| 'htmlId': Property( |
| getValue: (CT_ c) => c.htmlId, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = remainingNames.first; |
| var nextProperty = _Renderer_String.propertyMap().getValue( |
| name, |
| ); |
| return nextProperty.renderVariable( |
| self.getValue(c) as String, |
| nextProperty, |
| [...remainingNames.skip(1)], |
| ); |
| }, |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String(c.htmlId, ast, r.template, sink, parent: r); |
| }, |
| ), |
| 'isCallable': Property( |
| getValue: (CT_ c) => c.isCallable, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'bool'), |
| |
| getBool: (CT_ c) => c.isCallable, |
| ), |
| 'isCanonical': Property( |
| getValue: (CT_ c) => c.isCanonical, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'bool'), |
| |
| getBool: (CT_ c) => c.isCanonical, |
| ), |
| 'isConst': Property( |
| getValue: (CT_ c) => c.isConst, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'bool'), |
| |
| getBool: (CT_ c) => c.isConst, |
| ), |
| 'isDeprecated': Property( |
| getValue: (CT_ c) => c.isDeprecated, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'bool'), |
| |
| getBool: (CT_ c) => c.isDeprecated, |
| ), |
| 'isDocumented': Property( |
| getValue: (CT_ c) => c.isDocumented, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'bool'), |
| |
| getBool: (CT_ c) => c.isDocumented, |
| ), |
| 'isEnumValue': Property( |
| getValue: (CT_ c) => c.isEnumValue, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'bool'), |
| |
| getBool: (CT_ c) => c.isEnumValue, |
| ), |
| 'isFinal': Property( |
| getValue: (CT_ c) => c.isFinal, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'bool'), |
| |
| getBool: (CT_ c) => c.isFinal, |
| ), |
| 'isLate': Property( |
| getValue: (CT_ c) => c.isLate, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'bool'), |
| |
| getBool: (CT_ c) => c.isLate, |
| ), |
| 'isPublic': Property( |
| getValue: (CT_ c) => c.isPublic, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'bool'), |
| |
| getBool: (CT_ c) => c.isPublic, |
| ), |
| 'isPublicAndPackageDocumented': Property( |
| getValue: (CT_ c) => c.isPublicAndPackageDocumented, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'bool'), |
| |
| getBool: (CT_ c) => c.isPublicAndPackageDocumented, |
| ), |
| 'kind': Property( |
| getValue: (CT_ c) => c.kind, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'Kind'), |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, |
| List<String> 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<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_Library(c.library, ast, r.template, sink, parent: r); |
| }, |
| ), |
| 'linkedName': Property( |
| getValue: (CT_ c) => c.linkedName, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = remainingNames.first; |
| var nextProperty = _Renderer_String.propertyMap().getValue( |
| name, |
| ); |
| return nextProperty.renderVariable( |
| self.getValue(c) as String, |
| nextProperty, |
| [...remainingNames.skip(1)], |
| ); |
| }, |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String( |
| c.linkedName, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'linkedObjectType': Property( |
| getValue: (CT_ c) => c.linkedObjectType, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = remainingNames.first; |
| var nextProperty = _Renderer_String.propertyMap().getValue( |
| name, |
| ); |
| return nextProperty.renderVariable( |
| self.getValue(c) as String, |
| nextProperty, |
| [...remainingNames.skip(1)], |
| ); |
| }, |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String( |
| c.linkedObjectType, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'linkedParams': Property( |
| getValue: (CT_ c) => c.linkedParams, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = remainingNames.first; |
| var nextProperty = _Renderer_String.propertyMap().getValue( |
| name, |
| ); |
| return nextProperty.renderVariable( |
| self.getValue(c) as String, |
| nextProperty, |
| [...remainingNames.skip(1)], |
| ); |
| }, |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String( |
| c.linkedParams, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'linkedParamsLines': Property( |
| getValue: (CT_ c) => c.linkedParamsLines, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = remainingNames.first; |
| var nextProperty = _Renderer_String.propertyMap().getValue( |
| name, |
| ); |
| return nextProperty.renderVariable( |
| self.getValue(c) as String, |
| nextProperty, |
| [...remainingNames.skip(1)], |
| ); |
| }, |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String( |
| c.linkedParamsLines, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'linkedParamsNoMetadata': Property( |
| getValue: (CT_ c) => c.linkedParamsNoMetadata, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = 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<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String( |
| c.linkedParamsNoMetadata!, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'location': Property( |
| getValue: (CT_ c) => c.location, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = remainingNames.first; |
| var nextProperty = _Renderer_String.propertyMap().getValue( |
| name, |
| ); |
| return nextProperty.renderVariable( |
| self.getValue(c) as String, |
| nextProperty, |
| [...remainingNames.skip(1)], |
| ); |
| }, |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String(c.location, ast, r.template, sink, parent: r); |
| }, |
| ), |
| 'modelNode': Property( |
| getValue: (CT_ c) => c.modelNode, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'ModelNode', |
| ), |
| |
| isNullValue: (CT_ c) => c.modelNode == null, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = remainingNames.first; |
| var nextProperty = _Renderer_String.propertyMap().getValue( |
| name, |
| ); |
| return nextProperty.renderVariable( |
| self.getValue(c) as String, |
| nextProperty, |
| [...remainingNames.skip(1)], |
| ); |
| }, |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String(c.name, ast, r.template, sink, parent: r); |
| }, |
| ), |
| 'oneLineDoc': Property( |
| getValue: (CT_ c) => c.oneLineDoc, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = remainingNames.first; |
| var nextProperty = _Renderer_String.propertyMap().getValue( |
| name, |
| ); |
| return nextProperty.renderVariable( |
| self.getValue(c) as String, |
| nextProperty, |
| [...remainingNames.skip(1)], |
| ); |
| }, |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String( |
| c.oneLineDoc, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'originalMember': Property( |
| getValue: (CT_ c) => c.originalMember, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'Member'), |
| |
| isNullValue: (CT_ c) => c.originalMember == null, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, |
| List<String> 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<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_Package(c.package, ast, r.template, sink, parent: r); |
| }, |
| ), |
| 'packageGraph': Property( |
| getValue: (CT_ c) => c.packageGraph, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'PackageGraph', |
| ), |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'List<Parameter>', |
| ), |
| |
| renderIterable: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'Context'), |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = remainingNames.first; |
| var nextProperty = _Renderer_String.propertyMap().getValue( |
| name, |
| ); |
| return nextProperty.renderVariable( |
| self.getValue(c) as String, |
| nextProperty, |
| [...remainingNames.skip(1)], |
| ); |
| }, |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String( |
| c.qualifiedName, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'sourceCode': Property( |
| getValue: (CT_ c) => c.sourceCode, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = remainingNames.first; |
| var nextProperty = _Renderer_String.propertyMap().getValue( |
| name, |
| ); |
| return nextProperty.renderVariable( |
| self.getValue(c) as String, |
| nextProperty, |
| [...remainingNames.skip(1)], |
| ); |
| }, |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String( |
| c.sourceCode, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'sourceFileName': Property( |
| getValue: (CT_ c) => c.sourceFileName, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = remainingNames.first; |
| var nextProperty = _Renderer_String.propertyMap().getValue( |
| name, |
| ); |
| return nextProperty.renderVariable( |
| self.getValue(c) as String, |
| nextProperty, |
| [...remainingNames.skip(1)], |
| ); |
| }, |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String( |
| c.sourceFileName, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'sourceHref': Property( |
| getValue: (CT_ c) => c.sourceHref, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = remainingNames.first; |
| var nextProperty = _Renderer_String.propertyMap().getValue( |
| name, |
| ); |
| return nextProperty.renderVariable( |
| self.getValue(c) as String, |
| nextProperty, |
| [...remainingNames.skip(1)], |
| ); |
| }, |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String( |
| c.sourceHref, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'unitElement': Property( |
| getValue: (CT_ c) => c.unitElement, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'LibraryFragment', |
| ), |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| renderSimple( |
| c.unitElement, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| getters: _invisibleGetters['LibraryFragment']!, |
| ); |
| }, |
| ), |
| }, |
| ) |
| as Map<String, Property<CT_>>; |
| |
| _Renderer_ModelElement( |
| ModelElement context, |
| RendererBase<Object>? parent, |
| Template template, |
| StringSink sink, |
| ) : super(context, parent, template, sink); |
| |
| @override |
| Property<ModelElement>? getProperty(String key) { |
| if (propertyMap<ModelElement>().containsKey(key)) { |
| return propertyMap<ModelElement>()[key]; |
| } else { |
| return null; |
| } |
| } |
| } |
| |
| void _render_ModelFunction( |
| ModelFunction context, |
| List<MustachioNode> ast, |
| Template template, |
| StringSink sink, { |
| RendererBase<Object>? parent, |
| }) { |
| var renderer = _Renderer_ModelFunction(context, parent, template, sink); |
| renderer.renderBlock(ast); |
| } |
| |
| class _Renderer_ModelFunction extends RendererBase<ModelFunction> { |
| static final Map<Type, Object> _propertyMapCache = {}; |
| static Map<String, Property<CT_>> propertyMap<CT_ extends ModelFunction>() => |
| _propertyMapCache.putIfAbsent( |
| CT_, |
| () => { |
| ..._Renderer_ModelFunctionTyped.propertyMap<CT_>(), |
| ..._Renderer_Categorization.propertyMap<CT_>(), |
| ..._Renderer_Categorization.propertyMap<CT_>(), |
| 'element2': Property( |
| getValue: (CT_ c) => c.element2, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'TopLevelFunctionElement', |
| ), |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| renderSimple( |
| c.element2, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| getters: _invisibleGetters['TopLevelFunctionElement']!, |
| ); |
| }, |
| ), |
| 'isAsynchronous': Property( |
| getValue: (CT_ c) => c.isAsynchronous, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'bool'), |
| |
| getBool: (CT_ c) => c.isAsynchronous, |
| ), |
| 'isStatic': Property( |
| getValue: (CT_ c) => c.isStatic, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'bool'), |
| |
| getBool: (CT_ c) => c.isStatic, |
| ), |
| 'name': Property( |
| getValue: (CT_ c) => c.name, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = remainingNames.first; |
| var nextProperty = _Renderer_String.propertyMap().getValue( |
| name, |
| ); |
| return nextProperty.renderVariable( |
| self.getValue(c) as String, |
| nextProperty, |
| [...remainingNames.skip(1)], |
| ); |
| }, |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String(c.name, ast, r.template, sink, parent: r); |
| }, |
| ), |
| }, |
| ) |
| as Map<String, Property<CT_>>; |
| |
| _Renderer_ModelFunction( |
| ModelFunction context, |
| RendererBase<Object>? parent, |
| Template template, |
| StringSink sink, |
| ) : super(context, parent, template, sink); |
| |
| @override |
| Property<ModelFunction>? getProperty(String key) { |
| if (propertyMap<ModelFunction>().containsKey(key)) { |
| return propertyMap<ModelFunction>()[key]; |
| } else { |
| return null; |
| } |
| } |
| } |
| |
| void _render_ModelFunctionTyped( |
| ModelFunctionTyped context, |
| List<MustachioNode> ast, |
| Template template, |
| StringSink sink, { |
| RendererBase<Object>? parent, |
| }) { |
| var renderer = _Renderer_ModelFunctionTyped(context, parent, template, sink); |
| renderer.renderBlock(ast); |
| } |
| |
| class _Renderer_ModelFunctionTyped extends RendererBase<ModelFunctionTyped> { |
| static final Map<Type, Object> _propertyMapCache = {}; |
| static Map<String, Property<CT_>> |
| propertyMap<CT_ extends ModelFunctionTyped>() => |
| _propertyMapCache.putIfAbsent( |
| CT_, |
| () => { |
| ..._Renderer_ModelElement.propertyMap<CT_>(), |
| ..._Renderer_TypeParameters.propertyMap<CT_>(), |
| ..._Renderer_TypeParameters.propertyMap<CT_>(), |
| 'aboveSidebarPath': Property( |
| getValue: (CT_ c) => c.aboveSidebarPath, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = remainingNames.first; |
| var nextProperty = _Renderer_String.propertyMap().getValue( |
| name, |
| ); |
| return nextProperty.renderVariable( |
| self.getValue(c) as String, |
| nextProperty, |
| [...remainingNames.skip(1)], |
| ); |
| }, |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String( |
| c.aboveSidebarPath, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'belowSidebarPath': Property( |
| getValue: (CT_ c) => c.belowSidebarPath, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = 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<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String( |
| c.belowSidebarPath!, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'element': Property( |
| getValue: (CT_ c) => c.element, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'FunctionTypedElement', |
| ), |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| renderSimple( |
| c.element, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| getters: _invisibleGetters['FunctionTypedElement']!, |
| ); |
| }, |
| ), |
| 'element2': Property( |
| getValue: (CT_ c) => c.element2, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'FunctionTypedElement2', |
| ), |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| renderSimple( |
| c.element2, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| getters: _invisibleGetters['FunctionTypedElement2']!, |
| ); |
| }, |
| ), |
| 'enclosingElement': Property( |
| getValue: (CT_ c) => c.enclosingElement, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> 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<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_Library( |
| c.enclosingElement, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'enclosingExtension': Property( |
| getValue: (CT_ c) => c.enclosingExtension, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> 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<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_Extension( |
| c.enclosingExtension, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'fileName': Property( |
| getValue: (CT_ c) => c.fileName, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = remainingNames.first; |
| var nextProperty = _Renderer_String.propertyMap().getValue( |
| name, |
| ); |
| return nextProperty.renderVariable( |
| self.getValue(c) as String, |
| nextProperty, |
| [...remainingNames.skip(1)], |
| ); |
| }, |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String(c.fileName, ast, r.template, sink, parent: r); |
| }, |
| ), |
| 'href': Property( |
| getValue: (CT_ c) => c.href, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = 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<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String(c.href!, ast, r.template, sink, parent: r); |
| }, |
| ), |
| 'isInherited': Property( |
| getValue: (CT_ c) => c.isInherited, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'bool'), |
| |
| getBool: (CT_ c) => c.isInherited, |
| ), |
| 'isProvidedByExtension': Property( |
| getValue: (CT_ c) => c.isProvidedByExtension, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'bool'), |
| |
| getBool: (CT_ c) => c.isProvidedByExtension, |
| ), |
| 'kind': Property( |
| getValue: (CT_ c) => c.kind, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'Kind'), |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, |
| List<String> 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<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_Callable( |
| c.modelType, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'referenceChildren': Property( |
| getValue: (CT_ c) => c.referenceChildren, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'Map<String, CommentReferable>', |
| ), |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'Iterable<CommentReferable>', |
| ), |
| |
| renderIterable: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'List<TypeParameter>', |
| ), |
| |
| renderIterable: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| return c.typeParameters.map( |
| (e) => _render_TypeParameter( |
| e, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ), |
| ); |
| }, |
| ), |
| }, |
| ) |
| as Map<String, Property<CT_>>; |
| |
| _Renderer_ModelFunctionTyped( |
| ModelFunctionTyped context, |
| RendererBase<Object>? parent, |
| Template template, |
| StringSink sink, |
| ) : super(context, parent, template, sink); |
| |
| @override |
| Property<ModelFunctionTyped>? getProperty(String key) { |
| if (propertyMap<ModelFunctionTyped>().containsKey(key)) { |
| return propertyMap<ModelFunctionTyped>()[key]; |
| } else { |
| return null; |
| } |
| } |
| } |
| |
| class _Renderer_Nameable extends RendererBase<Nameable> { |
| static final Map<Type, Object> _propertyMapCache = {}; |
| static Map<String, Property<CT_>> propertyMap<CT_ extends Nameable>() => |
| _propertyMapCache.putIfAbsent( |
| CT_, |
| () => { |
| 'breadcrumbName': Property( |
| getValue: (CT_ c) => c.breadcrumbName, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = remainingNames.first; |
| var nextProperty = _Renderer_String.propertyMap().getValue( |
| name, |
| ); |
| return nextProperty.renderVariable( |
| self.getValue(c) as String, |
| nextProperty, |
| [...remainingNames.skip(1)], |
| ); |
| }, |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String( |
| c.breadcrumbName, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'displayName': Property( |
| getValue: (CT_ c) => c.displayName, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = remainingNames.first; |
| var nextProperty = _Renderer_String.propertyMap().getValue( |
| name, |
| ); |
| return nextProperty.renderVariable( |
| self.getValue(c) as String, |
| nextProperty, |
| [...remainingNames.skip(1)], |
| ); |
| }, |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String( |
| c.displayName, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'fullyQualifiedName': Property( |
| getValue: (CT_ c) => c.fullyQualifiedName, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = remainingNames.first; |
| var nextProperty = _Renderer_String.propertyMap().getValue( |
| name, |
| ); |
| return nextProperty.renderVariable( |
| self.getValue(c) as String, |
| nextProperty, |
| [...remainingNames.skip(1)], |
| ); |
| }, |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String( |
| c.fullyQualifiedName, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'isPublic': Property( |
| getValue: (CT_ c) => c.isPublic, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'bool'), |
| |
| getBool: (CT_ c) => c.isPublic, |
| ), |
| 'name': Property( |
| getValue: (CT_ c) => c.name, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = remainingNames.first; |
| var nextProperty = _Renderer_String.propertyMap().getValue( |
| name, |
| ); |
| return nextProperty.renderVariable( |
| self.getValue(c) as String, |
| nextProperty, |
| [...remainingNames.skip(1)], |
| ); |
| }, |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String(c.name, ast, r.template, sink, parent: r); |
| }, |
| ), |
| 'packageGraph': Property( |
| getValue: (CT_ c) => c.packageGraph, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'PackageGraph', |
| ), |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| renderSimple( |
| c.packageGraph, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| getters: _invisibleGetters['PackageGraph']!, |
| ); |
| }, |
| ), |
| }, |
| ) |
| as Map<String, Property<CT_>>; |
| |
| _Renderer_Nameable( |
| Nameable context, |
| RendererBase<Object>? parent, |
| Template template, |
| StringSink sink, |
| ) : super(context, parent, template, sink); |
| |
| @override |
| Property<Nameable>? getProperty(String key) { |
| if (propertyMap<Nameable>().containsKey(key)) { |
| return propertyMap<Nameable>()[key]; |
| } else { |
| return null; |
| } |
| } |
| } |
| |
| class _Renderer_Object extends RendererBase<Object> { |
| static final Map<Type, Object> _propertyMapCache = {}; |
| static Map<String, Property<CT_>> propertyMap<CT_ extends Object>() => |
| _propertyMapCache.putIfAbsent( |
| CT_, |
| () => { |
| 'hashCode': Property( |
| getValue: (CT_ c) => c.hashCode, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'int'), |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| renderSimple( |
| c.hashCode, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| getters: _invisibleGetters['int']!, |
| ); |
| }, |
| ), |
| }, |
| ) |
| as Map<String, Property<CT_>>; |
| |
| _Renderer_Object( |
| Object context, |
| RendererBase<Object>? parent, |
| Template template, |
| StringSink sink, |
| ) : super(context, parent, template, sink); |
| |
| @override |
| Property<Object>? getProperty(String key) { |
| if (propertyMap<Object>().containsKey(key)) { |
| return propertyMap<Object>()[key]; |
| } else { |
| return null; |
| } |
| } |
| } |
| |
| class _Renderer_OneDirectoryDown<T extends Documentable> |
| extends RendererBase<OneDirectoryDown<T>> { |
| static final Map<Type, Object> _propertyMapCache = {}; |
| static Map<String, Property<CT_>> |
| propertyMap<T extends Documentable, CT_ extends OneDirectoryDown>() => |
| _propertyMapCache.putIfAbsent( |
| CT_, |
| () => { |
| 'htmlBase': Property( |
| getValue: (CT_ c) => c.htmlBase, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = remainingNames.first; |
| var nextProperty = _Renderer_String.propertyMap().getValue( |
| name, |
| ); |
| return nextProperty.renderVariable( |
| self.getValue(c) as String, |
| nextProperty, |
| [...remainingNames.skip(1)], |
| ); |
| }, |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String(c.htmlBase, ast, r.template, sink, parent: r); |
| }, |
| ), |
| }, |
| ) |
| as Map<String, Property<CT_>>; |
| |
| _Renderer_OneDirectoryDown( |
| OneDirectoryDown<T> context, |
| RendererBase<Object>? parent, |
| Template template, |
| StringSink sink, |
| ) : super(context, parent, template, sink); |
| |
| @override |
| Property<OneDirectoryDown<T>>? getProperty(String key) { |
| if (propertyMap<T, OneDirectoryDown<T>>().containsKey(key)) { |
| return propertyMap<T, OneDirectoryDown<T>>()[key]; |
| } else { |
| return null; |
| } |
| } |
| } |
| |
| void _render_Operator( |
| Operator context, |
| List<MustachioNode> ast, |
| Template template, |
| StringSink sink, { |
| RendererBase<Object>? parent, |
| }) { |
| var renderer = _Renderer_Operator(context, parent, template, sink); |
| renderer.renderBlock(ast); |
| } |
| |
| class _Renderer_Operator extends RendererBase<Operator> { |
| static final Map<Type, Object> _propertyMapCache = {}; |
| static Map<String, Property<CT_>> propertyMap<CT_ extends Operator>() => |
| _propertyMapCache.putIfAbsent( |
| CT_, |
| () => { |
| ..._Renderer_Method.propertyMap<CT_>(), |
| 'fileName': Property( |
| getValue: (CT_ c) => c.fileName, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = remainingNames.first; |
| var nextProperty = _Renderer_String.propertyMap().getValue( |
| name, |
| ); |
| return nextProperty.renderVariable( |
| self.getValue(c) as String, |
| nextProperty, |
| [...remainingNames.skip(1)], |
| ); |
| }, |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String(c.fileName, ast, r.template, sink, parent: r); |
| }, |
| ), |
| 'fullyQualifiedName': Property( |
| getValue: (CT_ c) => c.fullyQualifiedName, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = remainingNames.first; |
| var nextProperty = _Renderer_String.propertyMap().getValue( |
| name, |
| ); |
| return nextProperty.renderVariable( |
| self.getValue(c) as String, |
| nextProperty, |
| [...remainingNames.skip(1)], |
| ); |
| }, |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String( |
| c.fullyQualifiedName, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'isOperator': Property( |
| getValue: (CT_ c) => c.isOperator, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'bool'), |
| |
| getBool: (CT_ c) => c.isOperator, |
| ), |
| 'name': Property( |
| getValue: (CT_ c) => c.name, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = remainingNames.first; |
| var nextProperty = _Renderer_String.propertyMap().getValue( |
| name, |
| ); |
| return nextProperty.renderVariable( |
| self.getValue(c) as String, |
| nextProperty, |
| [...remainingNames.skip(1)], |
| ); |
| }, |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String(c.name, ast, r.template, sink, parent: r); |
| }, |
| ), |
| 'referenceName': Property( |
| getValue: (CT_ c) => c.referenceName, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = remainingNames.first; |
| var nextProperty = _Renderer_String.propertyMap().getValue( |
| name, |
| ); |
| return nextProperty.renderVariable( |
| self.getValue(c) as String, |
| nextProperty, |
| [...remainingNames.skip(1)], |
| ); |
| }, |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String( |
| c.referenceName, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| }, |
| ) |
| as Map<String, Property<CT_>>; |
| |
| _Renderer_Operator( |
| Operator context, |
| RendererBase<Object>? parent, |
| Template template, |
| StringSink sink, |
| ) : super(context, parent, template, sink); |
| |
| @override |
| Property<Operator>? getProperty(String key) { |
| if (propertyMap<Operator>().containsKey(key)) { |
| return propertyMap<Operator>()[key]; |
| } else { |
| return null; |
| } |
| } |
| } |
| |
| void _render_Package( |
| Package context, |
| List<MustachioNode> ast, |
| Template template, |
| StringSink sink, { |
| RendererBase<Object>? parent, |
| }) { |
| var renderer = _Renderer_Package(context, parent, template, sink); |
| renderer.renderBlock(ast); |
| } |
| |
| class _Renderer_Package extends RendererBase<Package> { |
| static final Map<Type, Object> _propertyMapCache = {}; |
| static Map<String, Property<CT_>> propertyMap<CT_ extends Package>() => |
| _propertyMapCache.putIfAbsent( |
| CT_, |
| () => { |
| ..._Renderer_LibraryContainer.propertyMap<CT_>(), |
| ..._Renderer_Nameable.propertyMap<CT_>(), |
| ..._Renderer_Locatable.propertyMap<CT_>(), |
| ..._Renderer_Warnable.propertyMap<CT_>(), |
| ..._Renderer_CommentReferable.propertyMap<CT_>(), |
| 'aboveSidebarPath': Property( |
| getValue: (CT_ c) => c.aboveSidebarPath, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = 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<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String( |
| c.aboveSidebarPath!, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'allLibraries': Property( |
| getValue: (CT_ c) => c.allLibraries, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'Set<Library>', |
| ), |
| |
| renderIterable: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = remainingNames.first; |
| var nextProperty = _Renderer_String.propertyMap().getValue( |
| name, |
| ); |
| return nextProperty.renderVariable( |
| self.getValue(c) as String, |
| nextProperty, |
| [...remainingNames.skip(1)], |
| ); |
| }, |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String(c.baseHref, ast, r.template, sink, parent: r); |
| }, |
| ), |
| 'belowSidebarPath': Property( |
| getValue: (CT_ c) => c.belowSidebarPath, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = 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<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String( |
| c.belowSidebarPath!, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'categories': Property( |
| getValue: (CT_ c) => c.categories, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'List<Category>', |
| ), |
| |
| renderIterable: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'Iterable<Category>', |
| ), |
| |
| renderIterable: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'DartdocOptionContext', |
| ), |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'List<String>', |
| ), |
| |
| renderIterable: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, |
| List<String> 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<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_Category( |
| c.defaultCategory, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'documentation': Property( |
| getValue: (CT_ c) => c.documentation, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = 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<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String( |
| c.documentation!, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'documentationAsHtml': Property( |
| getValue: (CT_ c) => c.documentationAsHtml, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = remainingNames.first; |
| var nextProperty = _Renderer_String.propertyMap().getValue( |
| name, |
| ); |
| return nextProperty.renderVariable( |
| self.getValue(c) as String, |
| nextProperty, |
| [...remainingNames.skip(1)], |
| ); |
| }, |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String( |
| c.documentationAsHtml, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'documentationFrom': Property( |
| getValue: (CT_ c) => c.documentationFrom, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'List<Locatable>', |
| ), |
| |
| renderIterable: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'Iterable<Category>', |
| ), |
| |
| renderIterable: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'DocumentLocation', |
| ), |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'Element'), |
| |
| isNullValue: (CT_ c) => c.element == null, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| renderSimple( |
| c.element, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| getters: _invisibleGetters['Element']!, |
| ); |
| }, |
| ), |
| 'element2': Property( |
| getValue: (CT_ c) => c.element2, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'Element2', |
| ), |
| |
| isNullValue: (CT_ c) => c.element2 == null, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| renderSimple( |
| c.element2, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| getters: _invisibleGetters['Element2']!, |
| ); |
| }, |
| ), |
| 'enclosingName': Property( |
| getValue: (CT_ c) => c.enclosingName, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = remainingNames.first; |
| var nextProperty = _Renderer_String.propertyMap().getValue( |
| name, |
| ); |
| return nextProperty.renderVariable( |
| self.getValue(c) as String, |
| nextProperty, |
| [...remainingNames.skip(1)], |
| ); |
| }, |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String( |
| c.enclosingName, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'filePath': Property( |
| getValue: (CT_ c) => c.filePath, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = remainingNames.first; |
| var nextProperty = _Renderer_String.propertyMap().getValue( |
| name, |
| ); |
| return nextProperty.renderVariable( |
| self.getValue(c) as String, |
| nextProperty, |
| [...remainingNames.skip(1)], |
| ); |
| }, |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String(c.filePath, ast, r.template, sink, parent: r); |
| }, |
| ), |
| 'fullyQualifiedName': Property( |
| getValue: (CT_ c) => c.fullyQualifiedName, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = remainingNames.first; |
| var nextProperty = _Renderer_String.propertyMap().getValue( |
| name, |
| ); |
| return nextProperty.renderVariable( |
| self.getValue(c) as String, |
| nextProperty, |
| [...remainingNames.skip(1)], |
| ); |
| }, |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String( |
| c.fullyQualifiedName, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'hasCategories': Property( |
| getValue: (CT_ c) => c.hasCategories, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'bool'), |
| |
| getBool: (CT_ c) => c.hasCategories, |
| ), |
| 'hasDocumentation': Property( |
| getValue: (CT_ c) => c.hasDocumentation, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'bool'), |
| |
| getBool: (CT_ c) => c.hasDocumentation, |
| ), |
| 'hasDocumentedCategories': Property( |
| getValue: (CT_ c) => c.hasDocumentedCategories, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'bool'), |
| |
| getBool: (CT_ c) => c.hasDocumentedCategories, |
| ), |
| 'hasHomepage': Property( |
| getValue: (CT_ c) => c.hasHomepage, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'bool'), |
| |
| getBool: (CT_ c) => c.hasHomepage, |
| ), |
| 'homepage': Property( |
| getValue: (CT_ c) => c.homepage, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = remainingNames.first; |
| var nextProperty = _Renderer_String.propertyMap().getValue( |
| name, |
| ); |
| return nextProperty.renderVariable( |
| self.getValue(c) as String, |
| nextProperty, |
| [...remainingNames.skip(1)], |
| ); |
| }, |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String(c.homepage, ast, r.template, sink, parent: r); |
| }, |
| ), |
| 'href': Property( |
| getValue: (CT_ c) => c.href, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = remainingNames.first; |
| var nextProperty = _Renderer_String.propertyMap().getValue( |
| name, |
| ); |
| return nextProperty.renderVariable( |
| self.getValue(c) as String, |
| nextProperty, |
| [...remainingNames.skip(1)], |
| ); |
| }, |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String(c.href, ast, r.template, sink, parent: r); |
| }, |
| ), |
| 'isCanonical': Property( |
| getValue: (CT_ c) => c.isCanonical, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'bool'), |
| |
| getBool: (CT_ c) => c.isCanonical, |
| ), |
| 'isDocumented': Property( |
| getValue: (CT_ c) => c.isDocumented, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'bool'), |
| |
| getBool: (CT_ c) => c.isDocumented, |
| ), |
| 'isFirstPackage': Property( |
| getValue: (CT_ c) => c.isFirstPackage, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'bool'), |
| |
| getBool: (CT_ c) => c.isFirstPackage, |
| ), |
| 'isLocal': Property( |
| getValue: (CT_ c) => c.isLocal, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'bool'), |
| |
| getBool: (CT_ c) => c.isLocal, |
| ), |
| 'isPublic': Property( |
| getValue: (CT_ c) => c.isPublic, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'bool'), |
| |
| getBool: (CT_ c) => c.isPublic, |
| ), |
| 'isSdk': Property( |
| getValue: (CT_ c) => c.isSdk, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'bool'), |
| |
| getBool: (CT_ c) => c.isSdk, |
| ), |
| 'kind': Property( |
| getValue: (CT_ c) => c.kind, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'Kind'), |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = remainingNames.first; |
| var nextProperty = _Renderer_String.propertyMap().getValue( |
| name, |
| ); |
| return nextProperty.renderVariable( |
| self.getValue(c) as String, |
| nextProperty, |
| [...remainingNames.skip(1)], |
| ); |
| }, |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String(c.location, ast, r.template, sink, parent: r); |
| }, |
| ), |
| 'name': Property( |
| getValue: (CT_ c) => c.name, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = remainingNames.first; |
| var nextProperty = _Renderer_String.propertyMap().getValue( |
| name, |
| ); |
| return nextProperty.renderVariable( |
| self.getValue(c) as String, |
| nextProperty, |
| [...remainingNames.skip(1)], |
| ); |
| }, |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String(c.name, ast, r.template, sink, parent: r); |
| }, |
| ), |
| 'nameToCategory': Property( |
| getValue: (CT_ c) => c.nameToCategory, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'Map<String?, Category>', |
| ), |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = remainingNames.first; |
| var nextProperty = _Renderer_String.propertyMap().getValue( |
| name, |
| ); |
| return nextProperty.renderVariable( |
| self.getValue(c) as String, |
| nextProperty, |
| [...remainingNames.skip(1)], |
| ); |
| }, |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String( |
| c.oneLineDoc, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'package': Property( |
| getValue: (CT_ c) => c.package, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> 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<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_Package(c.package, ast, r.template, sink, parent: r); |
| }, |
| ), |
| 'packageGraph': Property( |
| getValue: (CT_ c) => c.packageGraph, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'PackageGraph', |
| ), |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'PackageMeta', |
| ), |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = remainingNames.first; |
| var nextProperty = _Renderer_String.propertyMap().getValue( |
| name, |
| ); |
| return nextProperty.renderVariable( |
| self.getValue(c) as String, |
| nextProperty, |
| [...remainingNames.skip(1)], |
| ); |
| }, |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String( |
| c.packagePath, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'referenceChildren': Property( |
| getValue: (CT_ c) => c.referenceChildren, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'Map<String, CommentReferable>', |
| ), |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = remainingNames.first; |
| var nextProperty = _Renderer_String.propertyMap().getValue( |
| name, |
| ); |
| return nextProperty.renderVariable( |
| self.getValue(c) as String, |
| nextProperty, |
| [...remainingNames.skip(1)], |
| ); |
| }, |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String( |
| c.referenceName, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'referenceParents': Property( |
| getValue: (CT_ c) => c.referenceParents, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'Iterable<CommentReferable>', |
| ), |
| |
| renderIterable: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'int'), |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'Map<String?, Set<String>>', |
| ), |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = remainingNames.first; |
| var nextProperty = _Renderer_String.propertyMap().getValue( |
| name, |
| ); |
| return nextProperty.renderVariable( |
| self.getValue(c) as String, |
| nextProperty, |
| [...remainingNames.skip(1)], |
| ); |
| }, |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String(c.version, ast, r.template, sink, parent: r); |
| }, |
| ), |
| }, |
| ) |
| as Map<String, Property<CT_>>; |
| |
| _Renderer_Package( |
| Package context, |
| RendererBase<Object>? parent, |
| Template template, |
| StringSink sink, |
| ) : super(context, parent, template, sink); |
| |
| @override |
| Property<Package>? getProperty(String key) { |
| if (propertyMap<Package>().containsKey(key)) { |
| return propertyMap<Package>()[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, |
| List<MustachioNode> ast, |
| Template template, |
| StringSink sink, { |
| RendererBase<Object>? parent, |
| }) { |
| var renderer = _Renderer_PackageTemplateData(context, parent, template, sink); |
| renderer.renderBlock(ast); |
| } |
| |
| class _Renderer_PackageTemplateData extends RendererBase<PackageTemplateData> { |
| static final Map<Type, Object> _propertyMapCache = {}; |
| static Map<String, Property<CT_>> |
| propertyMap<CT_ extends PackageTemplateData>() => |
| _propertyMapCache.putIfAbsent( |
| CT_, |
| () => { |
| ..._Renderer_TemplateData.propertyMap<Package, CT_>(), |
| 'bareHref': Property( |
| getValue: (CT_ c) => c.bareHref, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = remainingNames.first; |
| var nextProperty = _Renderer_String.propertyMap().getValue( |
| name, |
| ); |
| return nextProperty.renderVariable( |
| self.getValue(c) as String, |
| nextProperty, |
| [...remainingNames.skip(1)], |
| ); |
| }, |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String(c.bareHref, ast, r.template, sink, parent: r); |
| }, |
| ), |
| 'hasHomepage': Property( |
| getValue: (CT_ c) => c.hasHomepage, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'bool'), |
| |
| getBool: (CT_ c) => c.hasHomepage, |
| ), |
| 'homepage': Property( |
| getValue: (CT_ c) => c.homepage, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = remainingNames.first; |
| var nextProperty = _Renderer_String.propertyMap().getValue( |
| name, |
| ); |
| return nextProperty.renderVariable( |
| self.getValue(c) as String, |
| nextProperty, |
| [...remainingNames.skip(1)], |
| ); |
| }, |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String(c.homepage, ast, r.template, sink, parent: r); |
| }, |
| ), |
| 'htmlBase': Property( |
| getValue: (CT_ c) => c.htmlBase, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = remainingNames.first; |
| var nextProperty = _Renderer_String.propertyMap().getValue( |
| name, |
| ); |
| return nextProperty.renderVariable( |
| self.getValue(c) as String, |
| nextProperty, |
| [...remainingNames.skip(1)], |
| ); |
| }, |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String(c.htmlBase, ast, r.template, sink, parent: r); |
| }, |
| ), |
| 'includeVersion': Property( |
| getValue: (CT_ c) => c.includeVersion, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'bool'), |
| |
| getBool: (CT_ c) => c.includeVersion, |
| ), |
| 'layoutTitle': Property( |
| getValue: (CT_ c) => c.layoutTitle, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = remainingNames.first; |
| var nextProperty = _Renderer_String.propertyMap().getValue( |
| name, |
| ); |
| return nextProperty.renderVariable( |
| self.getValue(c) as String, |
| nextProperty, |
| [...remainingNames.skip(1)], |
| ); |
| }, |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String( |
| c.layoutTitle, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'metaDescription': Property( |
| getValue: (CT_ c) => c.metaDescription, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = remainingNames.first; |
| var nextProperty = _Renderer_String.propertyMap().getValue( |
| name, |
| ); |
| return nextProperty.renderVariable( |
| self.getValue(c) as String, |
| nextProperty, |
| [...remainingNames.skip(1)], |
| ); |
| }, |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String( |
| c.metaDescription, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'navLinks': Property( |
| getValue: (CT_ c) => c.navLinks, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'List<Documentable>', |
| ), |
| |
| renderIterable: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, |
| List<String> 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<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_Package(c.package, ast, r.template, sink, parent: r); |
| }, |
| ), |
| 'self': Property( |
| getValue: (CT_ c) => c.self, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> 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<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_Package(c.self, ast, r.template, sink, parent: r); |
| }, |
| ), |
| 'title': Property( |
| getValue: (CT_ c) => c.title, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = remainingNames.first; |
| var nextProperty = _Renderer_String.propertyMap().getValue( |
| name, |
| ); |
| return nextProperty.renderVariable( |
| self.getValue(c) as String, |
| nextProperty, |
| [...remainingNames.skip(1)], |
| ); |
| }, |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String(c.title, ast, r.template, sink, parent: r); |
| }, |
| ), |
| }, |
| ) |
| as Map<String, Property<CT_>>; |
| |
| _Renderer_PackageTemplateData( |
| PackageTemplateData context, |
| RendererBase<Object>? parent, |
| Template template, |
| StringSink sink, |
| ) : super(context, parent, template, sink); |
| |
| @override |
| Property<PackageTemplateData>? getProperty(String key) { |
| if (propertyMap<PackageTemplateData>().containsKey(key)) { |
| return propertyMap<PackageTemplateData>()[key]; |
| } else { |
| return null; |
| } |
| } |
| } |
| |
| String renderError(PackageTemplateData context, Template template) { |
| var buffer = StringBuffer(); |
| _render_PackageTemplateData(context, template.ast, template, buffer); |
| return buffer.toString(); |
| } |
| |
| String renderSearchPage(PackageTemplateData context, Template template) { |
| var buffer = StringBuffer(); |
| _render_PackageTemplateData(context, template.ast, template, buffer); |
| return buffer.toString(); |
| } |
| |
| void _render_Parameter( |
| Parameter context, |
| List<MustachioNode> ast, |
| Template template, |
| StringSink sink, { |
| RendererBase<Object>? parent, |
| }) { |
| var renderer = _Renderer_Parameter(context, parent, template, sink); |
| renderer.renderBlock(ast); |
| } |
| |
| class _Renderer_Parameter extends RendererBase<Parameter> { |
| static final Map<Type, Object> _propertyMapCache = {}; |
| static Map<String, Property<CT_>> propertyMap<CT_ extends Parameter>() => |
| _propertyMapCache.putIfAbsent( |
| CT_, |
| () => { |
| ..._Renderer_ModelElement.propertyMap<CT_>(), |
| ..._Renderer_HasNoPage.propertyMap<CT_>(), |
| 'defaultValue': Property( |
| getValue: (CT_ c) => c.defaultValue, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = 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<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String( |
| c.defaultValue!, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'element': Property( |
| getValue: (CT_ c) => c.element, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'ParameterElement', |
| ), |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| renderSimple( |
| c.element, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| getters: _invisibleGetters['ParameterElement']!, |
| ); |
| }, |
| ), |
| 'element2': Property( |
| getValue: (CT_ c) => c.element2, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'FormalParameterElement', |
| ), |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| renderSimple( |
| c.element2, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| getters: _invisibleGetters['FormalParameterElement']!, |
| ); |
| }, |
| ), |
| 'enclosingElement': Property( |
| getValue: (CT_ c) => c.enclosingElement, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> 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<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_ModelElement( |
| c.enclosingElement!, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'hasDefaultValue': Property( |
| getValue: (CT_ c) => c.hasDefaultValue, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'bool'), |
| |
| getBool: (CT_ c) => c.hasDefaultValue, |
| ), |
| 'hashCode': Property( |
| getValue: (CT_ c) => c.hashCode, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'int'), |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = 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<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String(c.href!, ast, r.template, sink, parent: r); |
| }, |
| ), |
| 'htmlId': Property( |
| getValue: (CT_ c) => c.htmlId, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = remainingNames.first; |
| var nextProperty = _Renderer_String.propertyMap().getValue( |
| name, |
| ); |
| return nextProperty.renderVariable( |
| self.getValue(c) as String, |
| nextProperty, |
| [...remainingNames.skip(1)], |
| ); |
| }, |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String(c.htmlId, ast, r.template, sink, parent: r); |
| }, |
| ), |
| 'isCovariant': Property( |
| getValue: (CT_ c) => c.isCovariant, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'bool'), |
| |
| getBool: (CT_ c) => c.isCovariant, |
| ), |
| 'isNamed': Property( |
| getValue: (CT_ c) => c.isNamed, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'bool'), |
| |
| getBool: (CT_ c) => c.isNamed, |
| ), |
| 'isOptionalPositional': Property( |
| getValue: (CT_ c) => c.isOptionalPositional, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'bool'), |
| |
| getBool: (CT_ c) => c.isOptionalPositional, |
| ), |
| 'isRequiredNamed': Property( |
| getValue: (CT_ c) => c.isRequiredNamed, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'bool'), |
| |
| getBool: (CT_ c) => c.isRequiredNamed, |
| ), |
| 'isRequiredPositional': Property( |
| getValue: (CT_ c) => c.isRequiredPositional, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'bool'), |
| |
| getBool: (CT_ c) => c.isRequiredPositional, |
| ), |
| 'kind': Property( |
| getValue: (CT_ c) => c.kind, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'Kind'), |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, |
| List<String> 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<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_ElementType( |
| c.modelType, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'originalMember': Property( |
| getValue: (CT_ c) => c.originalMember, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'ParameterMember', |
| ), |
| |
| isNullValue: (CT_ c) => c.originalMember == null, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'Map<String, CommentReferable>', |
| ), |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'Iterable<CommentReferable>', |
| ), |
| |
| renderIterable: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| return c.referenceParents.map( |
| (e) => renderSimple( |
| e, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| getters: _invisibleGetters['CommentReferable']!, |
| ), |
| ); |
| }, |
| ), |
| }, |
| ) |
| as Map<String, Property<CT_>>; |
| |
| _Renderer_Parameter( |
| Parameter context, |
| RendererBase<Object>? parent, |
| Template template, |
| StringSink sink, |
| ) : super(context, parent, template, sink); |
| |
| @override |
| Property<Parameter>? getProperty(String key) { |
| if (propertyMap<Parameter>().containsKey(key)) { |
| return propertyMap<Parameter>()[key]; |
| } else { |
| return null; |
| } |
| } |
| } |
| |
| void _render_ParameterizedElementType( |
| ParameterizedElementType context, |
| List<MustachioNode> ast, |
| Template template, |
| StringSink sink, { |
| RendererBase<Object>? parent, |
| }) { |
| var renderer = _Renderer_ParameterizedElementType( |
| context, |
| parent, |
| template, |
| sink, |
| ); |
| renderer.renderBlock(ast); |
| } |
| |
| class _Renderer_ParameterizedElementType |
| extends RendererBase<ParameterizedElementType> { |
| static final Map<Type, Object> _propertyMapCache = {}; |
| static Map<String, Property<CT_>> |
| propertyMap<CT_ extends ParameterizedElementType>() => |
| _propertyMapCache.putIfAbsent( |
| CT_, |
| () => { |
| ..._Renderer_DefinedElementType.propertyMap<CT_>(), |
| ..._Renderer_Rendered.propertyMap<CT_>(), |
| 'type': Property( |
| getValue: (CT_ c) => c.type, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'ParameterizedType', |
| ), |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'List<ElementType>', |
| ), |
| |
| renderIterable: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| return c.typeArguments.map( |
| (e) => _render_ElementType( |
| e, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ), |
| ); |
| }, |
| ), |
| }, |
| ) |
| as Map<String, Property<CT_>>; |
| |
| _Renderer_ParameterizedElementType( |
| ParameterizedElementType context, |
| RendererBase<Object>? parent, |
| Template template, |
| StringSink sink, |
| ) : super(context, parent, template, sink); |
| |
| @override |
| Property<ParameterizedElementType>? getProperty(String key) { |
| if (propertyMap<ParameterizedElementType>().containsKey(key)) { |
| return propertyMap<ParameterizedElementType>()[key]; |
| } else { |
| return null; |
| } |
| } |
| } |
| |
| 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<MustachioNode> ast, |
| Template template, |
| StringSink sink, { |
| RendererBase<Object>? parent, |
| }) { |
| var renderer = _Renderer_PropertyTemplateData( |
| context, |
| parent, |
| template, |
| sink, |
| ); |
| renderer.renderBlock(ast); |
| } |
| |
| class _Renderer_PropertyTemplateData |
| extends RendererBase<PropertyTemplateData> { |
| static final Map<Type, Object> _propertyMapCache = {}; |
| static Map<String, Property<CT_>> |
| propertyMap<CT_ extends PropertyTemplateData>() => |
| _propertyMapCache.putIfAbsent( |
| CT_, |
| () => { |
| ..._Renderer_TemplateData.propertyMap<Field, CT_>(), |
| ..._Renderer_TwoDirectoriesDown.propertyMap<Field, CT_>(), |
| 'container': Property( |
| getValue: (CT_ c) => c.container, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> 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<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_Container( |
| c.container, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'layoutTitle': Property( |
| getValue: (CT_ c) => c.layoutTitle, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = remainingNames.first; |
| var nextProperty = _Renderer_String.propertyMap().getValue( |
| name, |
| ); |
| return nextProperty.renderVariable( |
| self.getValue(c) as String, |
| nextProperty, |
| [...remainingNames.skip(1)], |
| ); |
| }, |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String( |
| c.layoutTitle, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'library': Property( |
| getValue: (CT_ c) => c.library, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> 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<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_Library(c.library, ast, r.template, sink, parent: r); |
| }, |
| ), |
| 'metaDescription': Property( |
| getValue: (CT_ c) => c.metaDescription, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = remainingNames.first; |
| var nextProperty = _Renderer_String.propertyMap().getValue( |
| name, |
| ); |
| return nextProperty.renderVariable( |
| self.getValue(c) as String, |
| nextProperty, |
| [...remainingNames.skip(1)], |
| ); |
| }, |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String( |
| c.metaDescription, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'navLinks': Property( |
| getValue: (CT_ c) => c.navLinks, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'List<Documentable>', |
| ), |
| |
| renderIterable: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'List<Container>', |
| ), |
| |
| renderIterable: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, |
| List<String> 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<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_Field(c.property, ast, r.template, sink, parent: r); |
| }, |
| ), |
| 'self': Property( |
| getValue: (CT_ c) => c.self, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> 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<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_Field(c.self, ast, r.template, sink, parent: r); |
| }, |
| ), |
| 'title': Property( |
| getValue: (CT_ c) => c.title, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = remainingNames.first; |
| var nextProperty = _Renderer_String.propertyMap().getValue( |
| name, |
| ); |
| return nextProperty.renderVariable( |
| self.getValue(c) as String, |
| nextProperty, |
| [...remainingNames.skip(1)], |
| ); |
| }, |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String(c.title, ast, r.template, sink, parent: r); |
| }, |
| ), |
| }, |
| ) |
| as Map<String, Property<CT_>>; |
| |
| _Renderer_PropertyTemplateData( |
| PropertyTemplateData context, |
| RendererBase<Object>? parent, |
| Template template, |
| StringSink sink, |
| ) : super(context, parent, template, sink); |
| |
| @override |
| Property<PropertyTemplateData>? getProperty(String key) { |
| if (propertyMap<PropertyTemplateData>().containsKey(key)) { |
| return propertyMap<PropertyTemplateData>()[key]; |
| } else { |
| return null; |
| } |
| } |
| } |
| |
| class _Renderer_Rendered extends RendererBase<Rendered> { |
| static final Map<Type, Object> _propertyMapCache = {}; |
| static Map<String, Property<CT_>> propertyMap<CT_ extends Rendered>() => |
| _propertyMapCache.putIfAbsent( |
| CT_, |
| () => { |
| 'linkedName': Property( |
| getValue: (CT_ c) => c.linkedName, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = remainingNames.first; |
| var nextProperty = _Renderer_String.propertyMap().getValue( |
| name, |
| ); |
| return nextProperty.renderVariable( |
| self.getValue(c) as String, |
| nextProperty, |
| [...remainingNames.skip(1)], |
| ); |
| }, |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String( |
| c.linkedName, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'nameWithGenerics': Property( |
| getValue: (CT_ c) => c.nameWithGenerics, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = remainingNames.first; |
| var nextProperty = _Renderer_String.propertyMap().getValue( |
| name, |
| ); |
| return nextProperty.renderVariable( |
| self.getValue(c) as String, |
| nextProperty, |
| [...remainingNames.skip(1)], |
| ); |
| }, |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String( |
| c.nameWithGenerics, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'nameWithGenericsPlain': Property( |
| getValue: (CT_ c) => c.nameWithGenericsPlain, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = remainingNames.first; |
| var nextProperty = _Renderer_String.propertyMap().getValue( |
| name, |
| ); |
| return nextProperty.renderVariable( |
| self.getValue(c) as String, |
| nextProperty, |
| [...remainingNames.skip(1)], |
| ); |
| }, |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String( |
| c.nameWithGenericsPlain, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| }, |
| ) |
| as Map<String, Property<CT_>>; |
| |
| _Renderer_Rendered( |
| Rendered context, |
| RendererBase<Object>? parent, |
| Template template, |
| StringSink sink, |
| ) : super(context, parent, template, sink); |
| |
| @override |
| Property<Rendered>? getProperty(String key) { |
| if (propertyMap<Rendered>().containsKey(key)) { |
| return propertyMap<Rendered>()[key]; |
| } else { |
| return null; |
| } |
| } |
| } |
| |
| class _Renderer_SourceCode extends RendererBase<SourceCode> { |
| static final Map<Type, Object> _propertyMapCache = {}; |
| static Map<String, Property<CT_>> propertyMap<CT_ extends SourceCode>() => |
| _propertyMapCache.putIfAbsent( |
| CT_, |
| () => { |
| 'characterLocation': Property( |
| getValue: (CT_ c) => c.characterLocation, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'CharacterLocation', |
| ), |
| |
| isNullValue: (CT_ c) => c.characterLocation == null, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'bool'), |
| |
| getBool: (CT_ c) => c.hasSourceCode, |
| ), |
| 'library': Property( |
| getValue: (CT_ c) => c.library, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> 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<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_Library(c.library!, ast, r.template, sink, parent: r); |
| }, |
| ), |
| 'modelNode': Property( |
| getValue: (CT_ c) => c.modelNode, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'ModelNode', |
| ), |
| |
| isNullValue: (CT_ c) => c.modelNode == null, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = remainingNames.first; |
| var nextProperty = _Renderer_String.propertyMap().getValue( |
| name, |
| ); |
| return nextProperty.renderVariable( |
| self.getValue(c) as String, |
| nextProperty, |
| [...remainingNames.skip(1)], |
| ); |
| }, |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String( |
| c.sourceCode, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| }, |
| ) |
| as Map<String, Property<CT_>>; |
| |
| _Renderer_SourceCode( |
| SourceCode context, |
| RendererBase<Object>? parent, |
| Template template, |
| StringSink sink, |
| ) : super(context, parent, template, sink); |
| |
| @override |
| Property<SourceCode>? getProperty(String key) { |
| if (propertyMap<SourceCode>().containsKey(key)) { |
| return propertyMap<SourceCode>()[key]; |
| } else { |
| return null; |
| } |
| } |
| } |
| |
| void _render_String( |
| String context, |
| List<MustachioNode> ast, |
| Template template, |
| StringSink sink, { |
| RendererBase<Object>? parent, |
| }) { |
| var renderer = _Renderer_String(context, parent, template, sink); |
| renderer.renderBlock(ast); |
| } |
| |
| class _Renderer_String extends RendererBase<String> { |
| static final Map<Type, Object> _propertyMapCache = {}; |
| static Map<String, Property<CT_>> propertyMap<CT_ extends String>() => |
| _propertyMapCache.putIfAbsent( |
| CT_, |
| () => { |
| ..._Renderer_Object.propertyMap<CT_>(), |
| 'codeUnits': Property( |
| getValue: (CT_ c) => c.codeUnits, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'List<int>', |
| ), |
| |
| renderIterable: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'int'), |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'bool'), |
| |
| getBool: (CT_ c) => c.isEmpty, |
| ), |
| 'isNotEmpty': Property( |
| getValue: (CT_ c) => c.isNotEmpty, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'bool'), |
| |
| getBool: (CT_ c) => c.isNotEmpty, |
| ), |
| 'length': Property( |
| getValue: (CT_ c) => c.length, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'int'), |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'Runes'), |
| |
| renderIterable: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| return c.runes.map( |
| (e) => renderSimple( |
| e, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| getters: _invisibleGetters['int']!, |
| ), |
| ); |
| }, |
| ), |
| }, |
| ) |
| as Map<String, Property<CT_>>; |
| |
| _Renderer_String( |
| String context, |
| RendererBase<Object>? parent, |
| Template template, |
| StringSink sink, |
| ) : super(context, parent, template, sink); |
| |
| @override |
| Property<String>? getProperty(String key) { |
| if (propertyMap<String>().containsKey(key)) { |
| return propertyMap<String>()[key]; |
| } else { |
| return null; |
| } |
| } |
| } |
| |
| class _Renderer_TemplateData<T extends Documentable> |
| extends RendererBase<TemplateData<T>> { |
| static final Map<Type, Object> _propertyMapCache = {}; |
| static Map<String, Property<CT_>> |
| propertyMap<T extends Documentable, CT_ extends TemplateData>() => |
| _propertyMapCache.putIfAbsent( |
| CT_, |
| () => { |
| ..._Renderer_TemplateDataBase.propertyMap<CT_>(), |
| 'aboveSidebarPath': Property( |
| getValue: (CT_ c) => c.aboveSidebarPath, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = 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<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String( |
| c.aboveSidebarPath!, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'belowSidebarPath': Property( |
| getValue: (CT_ c) => c.belowSidebarPath, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = 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<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String( |
| c.belowSidebarPath!, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'self': Property( |
| getValue: (CT_ c) => c.self, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> 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<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_Documentable( |
| c.self, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| }, |
| ) |
| as Map<String, Property<CT_>>; |
| |
| _Renderer_TemplateData( |
| TemplateData<T> context, |
| RendererBase<Object>? parent, |
| Template template, |
| StringSink sink, |
| ) : super(context, parent, template, sink); |
| |
| @override |
| Property<TemplateData<T>>? getProperty(String key) { |
| if (propertyMap<T, TemplateData<T>>().containsKey(key)) { |
| return propertyMap<T, TemplateData<T>>()[key]; |
| } else { |
| return null; |
| } |
| } |
| } |
| |
| class _Renderer_TemplateDataBase extends RendererBase<TemplateDataBase> { |
| static final Map<Type, Object> _propertyMapCache = {}; |
| static Map<String, Property<CT_>> |
| propertyMap<CT_ extends TemplateDataBase>() => |
| _propertyMapCache.putIfAbsent( |
| CT_, |
| () => { |
| ..._Renderer_Object.propertyMap<CT_>(), |
| 'bareHref': Property( |
| getValue: (CT_ c) => c.bareHref, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = remainingNames.first; |
| var nextProperty = _Renderer_String.propertyMap().getValue( |
| name, |
| ); |
| return nextProperty.renderVariable( |
| self.getValue(c) as String, |
| nextProperty, |
| [...remainingNames.skip(1)], |
| ); |
| }, |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String(c.bareHref, ast, r.template, sink, parent: r); |
| }, |
| ), |
| 'customFooter': Property( |
| getValue: (CT_ c) => c.customFooter, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = remainingNames.first; |
| var nextProperty = _Renderer_String.propertyMap().getValue( |
| name, |
| ); |
| return nextProperty.renderVariable( |
| self.getValue(c) as String, |
| nextProperty, |
| [...remainingNames.skip(1)], |
| ); |
| }, |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String( |
| c.customFooter, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'customHeader': Property( |
| getValue: (CT_ c) => c.customHeader, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = remainingNames.first; |
| var nextProperty = _Renderer_String.propertyMap().getValue( |
| name, |
| ); |
| return nextProperty.renderVariable( |
| self.getValue(c) as String, |
| nextProperty, |
| [...remainingNames.skip(1)], |
| ); |
| }, |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String( |
| c.customHeader, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'customInnerFooter': Property( |
| getValue: (CT_ c) => c.customInnerFooter, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = remainingNames.first; |
| var nextProperty = _Renderer_String.propertyMap().getValue( |
| name, |
| ); |
| return nextProperty.renderVariable( |
| self.getValue(c) as String, |
| nextProperty, |
| [...remainingNames.skip(1)], |
| ); |
| }, |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String( |
| c.customInnerFooter, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'defaultPackage': Property( |
| getValue: (CT_ c) => c.defaultPackage, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> 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<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_Package( |
| c.defaultPackage, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'hasFooterVersion': Property( |
| getValue: (CT_ c) => c.hasFooterVersion, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'bool'), |
| |
| getBool: (CT_ c) => c.hasFooterVersion, |
| ), |
| 'hasHomepage': Property( |
| getValue: (CT_ c) => c.hasHomepage, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'bool'), |
| |
| getBool: (CT_ c) => c.hasHomepage, |
| ), |
| 'homepage': Property( |
| getValue: (CT_ c) => c.homepage, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = 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<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String(c.homepage!, ast, r.template, sink, parent: r); |
| }, |
| ), |
| 'htmlBase': Property( |
| getValue: (CT_ c) => c.htmlBase, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = remainingNames.first; |
| var nextProperty = _Renderer_String.propertyMap().getValue( |
| name, |
| ); |
| return nextProperty.renderVariable( |
| self.getValue(c) as String, |
| nextProperty, |
| [...remainingNames.skip(1)], |
| ); |
| }, |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String(c.htmlBase, ast, r.template, sink, parent: r); |
| }, |
| ), |
| 'htmlOptions': Property( |
| getValue: (CT_ c) => c.htmlOptions, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'TemplateOptions', |
| ), |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'bool'), |
| |
| getBool: (CT_ c) => c.includeVersion, |
| ), |
| 'isParentExtension': Property( |
| getValue: (CT_ c) => c.isParentExtension, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'bool'), |
| |
| getBool: (CT_ c) => c.isParentExtension, |
| ), |
| 'layoutTitle': Property( |
| getValue: (CT_ c) => c.layoutTitle, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = remainingNames.first; |
| var nextProperty = _Renderer_String.propertyMap().getValue( |
| name, |
| ); |
| return nextProperty.renderVariable( |
| self.getValue(c) as String, |
| nextProperty, |
| [...remainingNames.skip(1)], |
| ); |
| }, |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String( |
| c.layoutTitle, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'localPackages': Property( |
| getValue: (CT_ c) => c.localPackages, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'List<Package>', |
| ), |
| |
| renderIterable: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = remainingNames.first; |
| var nextProperty = _Renderer_String.propertyMap().getValue( |
| name, |
| ); |
| return nextProperty.renderVariable( |
| self.getValue(c) as String, |
| nextProperty, |
| [...remainingNames.skip(1)], |
| ); |
| }, |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String( |
| c.metaDescription, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'navLinks': Property( |
| getValue: (CT_ c) => c.navLinks, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'List<Documentable>', |
| ), |
| |
| renderIterable: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'List<Container>', |
| ), |
| |
| renderIterable: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, |
| List<String> 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<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_Documentable( |
| c.parent!, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'parentAsExtension': Property( |
| getValue: (CT_ c) => c.parentAsExtension, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> 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<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_Extension( |
| c.parentAsExtension, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'relCanonicalPrefix': Property( |
| getValue: (CT_ c) => c.relCanonicalPrefix, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = 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<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String( |
| c.relCanonicalPrefix!, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'self': Property( |
| getValue: (CT_ c) => c.self, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> 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<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_Documentable( |
| c.self, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'title': Property( |
| getValue: (CT_ c) => c.title, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = remainingNames.first; |
| var nextProperty = _Renderer_String.propertyMap().getValue( |
| name, |
| ); |
| return nextProperty.renderVariable( |
| self.getValue(c) as String, |
| nextProperty, |
| [...remainingNames.skip(1)], |
| ); |
| }, |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String(c.title, ast, r.template, sink, parent: r); |
| }, |
| ), |
| 'useBaseHref': Property( |
| getValue: (CT_ c) => c.useBaseHref, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'bool'), |
| |
| getBool: (CT_ c) => c.useBaseHref, |
| ), |
| 'version': Property( |
| getValue: (CT_ c) => c.version, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = remainingNames.first; |
| var nextProperty = _Renderer_String.propertyMap().getValue( |
| name, |
| ); |
| return nextProperty.renderVariable( |
| self.getValue(c) as String, |
| nextProperty, |
| [...remainingNames.skip(1)], |
| ); |
| }, |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String(c.version, ast, r.template, sink, parent: r); |
| }, |
| ), |
| }, |
| ) |
| as Map<String, Property<CT_>>; |
| |
| _Renderer_TemplateDataBase( |
| TemplateDataBase context, |
| RendererBase<Object>? parent, |
| Template template, |
| StringSink sink, |
| ) : super(context, parent, template, sink); |
| |
| @override |
| Property<TemplateDataBase>? getProperty(String key) { |
| if (propertyMap<TemplateDataBase>().containsKey(key)) { |
| return propertyMap<TemplateDataBase>()[key]; |
| } else { |
| return null; |
| } |
| } |
| } |
| |
| String renderSidebarForContainer<T extends Documentable>( |
| TemplateDataWithContainer<T> context, |
| Template template, |
| ) { |
| var buffer = StringBuffer(); |
| _render_TemplateDataWithContainer(context, template.ast, template, buffer); |
| return buffer.toString(); |
| } |
| |
| void _render_TemplateDataWithContainer<T extends Documentable>( |
| TemplateDataWithContainer<T> context, |
| List<MustachioNode> ast, |
| Template template, |
| StringSink sink, { |
| RendererBase<Object>? parent, |
| }) { |
| var renderer = _Renderer_TemplateDataWithContainer( |
| context, |
| parent, |
| template, |
| sink, |
| ); |
| renderer.renderBlock(ast); |
| } |
| |
| class _Renderer_TemplateDataWithContainer<T extends Documentable> |
| extends RendererBase<TemplateDataWithContainer<T>> { |
| static final Map<Type, Object> _propertyMapCache = {}; |
| static Map<String, Property<CT_>> propertyMap< |
| T extends Documentable, |
| CT_ extends TemplateDataWithContainer |
| >() => |
| _propertyMapCache.putIfAbsent( |
| CT_, |
| () => { |
| ..._Renderer_Object.propertyMap<CT_>(), |
| 'container': Property( |
| getValue: (CT_ c) => c.container, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> 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<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_Container( |
| c.container, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| }, |
| ) |
| as Map<String, Property<CT_>>; |
| |
| _Renderer_TemplateDataWithContainer( |
| TemplateDataWithContainer<T> context, |
| RendererBase<Object>? parent, |
| Template template, |
| StringSink sink, |
| ) : super(context, parent, template, sink); |
| |
| @override |
| Property<TemplateDataWithContainer<T>>? getProperty(String key) { |
| if (propertyMap<T, TemplateDataWithContainer<T>>().containsKey(key)) { |
| return propertyMap<T, TemplateDataWithContainer<T>>()[key]; |
| } else { |
| return null; |
| } |
| } |
| } |
| |
| String renderSidebarForLibrary<T extends Documentable>( |
| TemplateDataWithLibrary<T> context, |
| Template template, |
| ) { |
| var buffer = StringBuffer(); |
| _render_TemplateDataWithLibrary(context, template.ast, template, buffer); |
| return buffer.toString(); |
| } |
| |
| void _render_TemplateDataWithLibrary<T extends Documentable>( |
| TemplateDataWithLibrary<T> context, |
| List<MustachioNode> ast, |
| Template template, |
| StringSink sink, { |
| RendererBase<Object>? parent, |
| }) { |
| var renderer = _Renderer_TemplateDataWithLibrary( |
| context, |
| parent, |
| template, |
| sink, |
| ); |
| renderer.renderBlock(ast); |
| } |
| |
| class _Renderer_TemplateDataWithLibrary<T extends Documentable> |
| extends RendererBase<TemplateDataWithLibrary<T>> { |
| static final Map<Type, Object> _propertyMapCache = {}; |
| static Map<String, Property<CT_>> |
| propertyMap<T extends Documentable, CT_ extends TemplateDataWithLibrary>() => |
| _propertyMapCache.putIfAbsent( |
| CT_, |
| () => { |
| ..._Renderer_Object.propertyMap<CT_>(), |
| 'library': Property( |
| getValue: (CT_ c) => c.library, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> 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<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_Library(c.library, ast, r.template, sink, parent: r); |
| }, |
| ), |
| }, |
| ) |
| as Map<String, Property<CT_>>; |
| |
| _Renderer_TemplateDataWithLibrary( |
| TemplateDataWithLibrary<T> context, |
| RendererBase<Object>? parent, |
| Template template, |
| StringSink sink, |
| ) : super(context, parent, template, sink); |
| |
| @override |
| Property<TemplateDataWithLibrary<T>>? getProperty(String key) { |
| if (propertyMap<T, TemplateDataWithLibrary<T>>().containsKey(key)) { |
| return propertyMap<T, TemplateDataWithLibrary<T>>()[key]; |
| } else { |
| return null; |
| } |
| } |
| } |
| |
| class _Renderer_TopLevelContainer extends RendererBase<TopLevelContainer> { |
| static final Map<Type, Object> _propertyMapCache = {}; |
| static Map<String, Property<CT_>> |
| propertyMap<CT_ extends TopLevelContainer>() => |
| _propertyMapCache.putIfAbsent( |
| CT_, |
| () => { |
| 'classes': Property( |
| getValue: (CT_ c) => c.classes, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'Iterable<Class>', |
| ), |
| |
| renderIterable: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'Iterable<TopLevelVariable>', |
| ), |
| |
| renderIterable: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'Iterable<Enum>', |
| ), |
| |
| renderIterable: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'Iterable<Class>', |
| ), |
| |
| renderIterable: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'Iterable<ExtensionType>', |
| ), |
| |
| renderIterable: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'Iterable<Extension>', |
| ), |
| |
| renderIterable: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'Iterable<ModelFunction>', |
| ), |
| |
| renderIterable: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'bool'), |
| |
| getBool: (CT_ c) => c.hasPublicClasses, |
| ), |
| 'hasPublicConstants': Property( |
| getValue: (CT_ c) => c.hasPublicConstants, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'bool'), |
| |
| getBool: (CT_ c) => c.hasPublicConstants, |
| ), |
| 'hasPublicEnums': Property( |
| getValue: (CT_ c) => c.hasPublicEnums, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'bool'), |
| |
| getBool: (CT_ c) => c.hasPublicEnums, |
| ), |
| 'hasPublicExceptions': Property( |
| getValue: (CT_ c) => c.hasPublicExceptions, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'bool'), |
| |
| getBool: (CT_ c) => c.hasPublicExceptions, |
| ), |
| 'hasPublicExtensionTypes': Property( |
| getValue: (CT_ c) => c.hasPublicExtensionTypes, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'bool'), |
| |
| getBool: (CT_ c) => c.hasPublicExtensionTypes, |
| ), |
| 'hasPublicExtensions': Property( |
| getValue: (CT_ c) => c.hasPublicExtensions, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'bool'), |
| |
| getBool: (CT_ c) => c.hasPublicExtensions, |
| ), |
| 'hasPublicFunctions': Property( |
| getValue: (CT_ c) => c.hasPublicFunctions, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'bool'), |
| |
| getBool: (CT_ c) => c.hasPublicFunctions, |
| ), |
| 'hasPublicMixins': Property( |
| getValue: (CT_ c) => c.hasPublicMixins, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'bool'), |
| |
| getBool: (CT_ c) => c.hasPublicMixins, |
| ), |
| 'hasPublicProperties': Property( |
| getValue: (CT_ c) => c.hasPublicProperties, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'bool'), |
| |
| getBool: (CT_ c) => c.hasPublicProperties, |
| ), |
| 'hasPublicTypedefs': Property( |
| getValue: (CT_ c) => c.hasPublicTypedefs, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'bool'), |
| |
| getBool: (CT_ c) => c.hasPublicTypedefs, |
| ), |
| 'mixins': Property( |
| getValue: (CT_ c) => c.mixins, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'Iterable<Mixin>', |
| ), |
| |
| renderIterable: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'Iterable<TopLevelVariable>', |
| ), |
| |
| renderIterable: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'List<Container>', |
| ), |
| |
| renderIterable: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'List<TopLevelVariable>', |
| ), |
| |
| renderIterable: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'List<Enum>', |
| ), |
| |
| renderIterable: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'List<Class>', |
| ), |
| |
| renderIterable: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'List<ExtensionType>', |
| ), |
| |
| renderIterable: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'List<Extension>', |
| ), |
| |
| renderIterable: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'List<ModelFunctionTyped>', |
| ), |
| |
| renderIterable: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'List<Mixin>', |
| ), |
| |
| renderIterable: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'List<TopLevelVariable>', |
| ), |
| |
| renderIterable: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'List<Typedef>', |
| ), |
| |
| renderIterable: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'Iterable<Typedef>', |
| ), |
| |
| renderIterable: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| return c.typedefs.map( |
| (e) => _render_Typedef(e, ast, r.template, sink, parent: r), |
| ); |
| }, |
| ), |
| }, |
| ) |
| as Map<String, Property<CT_>>; |
| |
| _Renderer_TopLevelContainer( |
| TopLevelContainer context, |
| RendererBase<Object>? parent, |
| Template template, |
| StringSink sink, |
| ) : super(context, parent, template, sink); |
| |
| @override |
| Property<TopLevelContainer>? getProperty(String key) { |
| if (propertyMap<TopLevelContainer>().containsKey(key)) { |
| return propertyMap<TopLevelContainer>()[key]; |
| } else { |
| return null; |
| } |
| } |
| } |
| |
| 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<MustachioNode> ast, |
| Template template, |
| StringSink sink, { |
| RendererBase<Object>? parent, |
| }) { |
| var renderer = _Renderer_TopLevelPropertyTemplateData( |
| context, |
| parent, |
| template, |
| sink, |
| ); |
| renderer.renderBlock(ast); |
| } |
| |
| class _Renderer_TopLevelPropertyTemplateData |
| extends RendererBase<TopLevelPropertyTemplateData> { |
| static final Map<Type, Object> _propertyMapCache = {}; |
| static Map<String, Property<CT_>> |
| propertyMap<CT_ extends TopLevelPropertyTemplateData>() => |
| _propertyMapCache.putIfAbsent( |
| CT_, |
| () => { |
| ..._Renderer_TemplateData.propertyMap<TopLevelVariable, CT_>(), |
| ..._Renderer_OneDirectoryDown.propertyMap< |
| TopLevelVariable, |
| CT_ |
| >(), |
| 'layoutTitle': Property( |
| getValue: (CT_ c) => c.layoutTitle, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = remainingNames.first; |
| var nextProperty = _Renderer_String.propertyMap().getValue( |
| name, |
| ); |
| return nextProperty.renderVariable( |
| self.getValue(c) as String, |
| nextProperty, |
| [...remainingNames.skip(1)], |
| ); |
| }, |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String( |
| c.layoutTitle, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'library': Property( |
| getValue: (CT_ c) => c.library, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> 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<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_Library(c.library, ast, r.template, sink, parent: r); |
| }, |
| ), |
| 'metaDescription': Property( |
| getValue: (CT_ c) => c.metaDescription, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = remainingNames.first; |
| var nextProperty = _Renderer_String.propertyMap().getValue( |
| name, |
| ); |
| return nextProperty.renderVariable( |
| self.getValue(c) as String, |
| nextProperty, |
| [...remainingNames.skip(1)], |
| ); |
| }, |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String( |
| c.metaDescription, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'navLinks': Property( |
| getValue: (CT_ c) => c.navLinks, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'List<Documentable>', |
| ), |
| |
| renderIterable: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, |
| List<String> 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<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_TopLevelVariable( |
| c.property, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'self': Property( |
| getValue: (CT_ c) => c.self, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> 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<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_TopLevelVariable( |
| c.self, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'title': Property( |
| getValue: (CT_ c) => c.title, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = remainingNames.first; |
| var nextProperty = _Renderer_String.propertyMap().getValue( |
| name, |
| ); |
| return nextProperty.renderVariable( |
| self.getValue(c) as String, |
| nextProperty, |
| [...remainingNames.skip(1)], |
| ); |
| }, |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String(c.title, ast, r.template, sink, parent: r); |
| }, |
| ), |
| }, |
| ) |
| as Map<String, Property<CT_>>; |
| |
| _Renderer_TopLevelPropertyTemplateData( |
| TopLevelPropertyTemplateData context, |
| RendererBase<Object>? parent, |
| Template template, |
| StringSink sink, |
| ) : super(context, parent, template, sink); |
| |
| @override |
| Property<TopLevelPropertyTemplateData>? getProperty(String key) { |
| if (propertyMap<TopLevelPropertyTemplateData>().containsKey(key)) { |
| return propertyMap<TopLevelPropertyTemplateData>()[key]; |
| } else { |
| return null; |
| } |
| } |
| } |
| |
| void _render_TopLevelVariable( |
| TopLevelVariable context, |
| List<MustachioNode> ast, |
| Template template, |
| StringSink sink, { |
| RendererBase<Object>? parent, |
| }) { |
| var renderer = _Renderer_TopLevelVariable(context, parent, template, sink); |
| renderer.renderBlock(ast); |
| } |
| |
| class _Renderer_TopLevelVariable extends RendererBase<TopLevelVariable> { |
| static final Map<Type, Object> _propertyMapCache = {}; |
| static Map<String, Property<CT_>> |
| propertyMap<CT_ extends TopLevelVariable>() => |
| _propertyMapCache.putIfAbsent( |
| CT_, |
| () => { |
| ..._Renderer_ModelElement.propertyMap<CT_>(), |
| ..._Renderer_GetterSetterCombo.propertyMap<CT_>(), |
| ..._Renderer_Categorization.propertyMap<CT_>(), |
| ..._Renderer_GetterSetterCombo.propertyMap<CT_>(), |
| ..._Renderer_Categorization.propertyMap<CT_>(), |
| 'aboveSidebarPath': Property( |
| getValue: (CT_ c) => c.aboveSidebarPath, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = remainingNames.first; |
| var nextProperty = _Renderer_String.propertyMap().getValue( |
| name, |
| ); |
| return nextProperty.renderVariable( |
| self.getValue(c) as String, |
| nextProperty, |
| [...remainingNames.skip(1)], |
| ); |
| }, |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String( |
| c.aboveSidebarPath, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'attributes': Property( |
| getValue: (CT_ c) => c.attributes, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'Set<Attribute>', |
| ), |
| |
| renderIterable: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = 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<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String( |
| c.belowSidebarPath!, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'documentation': Property( |
| getValue: (CT_ c) => c.documentation, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = remainingNames.first; |
| var nextProperty = _Renderer_String.propertyMap().getValue( |
| name, |
| ); |
| return nextProperty.renderVariable( |
| self.getValue(c) as String, |
| nextProperty, |
| [...remainingNames.skip(1)], |
| ); |
| }, |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String( |
| c.documentation, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'element': Property( |
| getValue: (CT_ c) => c.element, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'TopLevelVariableElement', |
| ), |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| renderSimple( |
| c.element, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| getters: _invisibleGetters['TopLevelVariableElement']!, |
| ); |
| }, |
| ), |
| 'element2': Property( |
| getValue: (CT_ c) => c.element2, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'TopLevelVariableElement2', |
| ), |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| renderSimple( |
| c.element2, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| getters: _invisibleGetters['TopLevelVariableElement2']!, |
| ); |
| }, |
| ), |
| 'enclosingElement': Property( |
| getValue: (CT_ c) => c.enclosingElement, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> 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<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_Library( |
| c.enclosingElement, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'enclosingExtension': Property( |
| getValue: (CT_ c) => c.enclosingExtension, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> 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<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_Extension( |
| c.enclosingExtension, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'getter': Property( |
| getValue: (CT_ c) => c.getter, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> 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<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_Accessor(c.getter!, ast, r.template, sink, parent: r); |
| }, |
| ), |
| 'href': Property( |
| getValue: (CT_ c) => c.href, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = 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<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String(c.href!, ast, r.template, sink, parent: r); |
| }, |
| ), |
| 'isConst': Property( |
| getValue: (CT_ c) => c.isConst, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'bool'), |
| |
| getBool: (CT_ c) => c.isConst, |
| ), |
| 'isFinal': Property( |
| getValue: (CT_ c) => c.isFinal, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'bool'), |
| |
| getBool: (CT_ c) => c.isFinal, |
| ), |
| 'isInherited': Property( |
| getValue: (CT_ c) => c.isInherited, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'bool'), |
| |
| getBool: (CT_ c) => c.isInherited, |
| ), |
| 'isLate': Property( |
| getValue: (CT_ c) => c.isLate, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'bool'), |
| |
| getBool: (CT_ c) => c.isLate, |
| ), |
| 'isProvidedByExtension': Property( |
| getValue: (CT_ c) => c.isProvidedByExtension, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'bool'), |
| |
| getBool: (CT_ c) => c.isProvidedByExtension, |
| ), |
| 'kind': Property( |
| getValue: (CT_ c) => c.kind, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'Kind'), |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'Iterable<CommentReferable>', |
| ), |
| |
| renderIterable: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, |
| List<String> 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<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_Accessor(c.setter!, ast, r.template, sink, parent: r); |
| }, |
| ), |
| }, |
| ) |
| as Map<String, Property<CT_>>; |
| |
| _Renderer_TopLevelVariable( |
| TopLevelVariable context, |
| RendererBase<Object>? parent, |
| Template template, |
| StringSink sink, |
| ) : super(context, parent, template, sink); |
| |
| @override |
| Property<TopLevelVariable>? getProperty(String key) { |
| if (propertyMap<TopLevelVariable>().containsKey(key)) { |
| return propertyMap<TopLevelVariable>()[key]; |
| } else { |
| return null; |
| } |
| } |
| } |
| |
| class _Renderer_TwoDirectoriesDown<T extends Documentable> |
| extends RendererBase<TwoDirectoriesDown<T>> { |
| static final Map<Type, Object> _propertyMapCache = {}; |
| static Map<String, Property<CT_>> |
| propertyMap<T extends Documentable, CT_ extends TwoDirectoriesDown>() => |
| _propertyMapCache.putIfAbsent( |
| CT_, |
| () => { |
| 'htmlBase': Property( |
| getValue: (CT_ c) => c.htmlBase, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = remainingNames.first; |
| var nextProperty = _Renderer_String.propertyMap().getValue( |
| name, |
| ); |
| return nextProperty.renderVariable( |
| self.getValue(c) as String, |
| nextProperty, |
| [...remainingNames.skip(1)], |
| ); |
| }, |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String(c.htmlBase, ast, r.template, sink, parent: r); |
| }, |
| ), |
| }, |
| ) |
| as Map<String, Property<CT_>>; |
| |
| _Renderer_TwoDirectoriesDown( |
| TwoDirectoriesDown<T> context, |
| RendererBase<Object>? parent, |
| Template template, |
| StringSink sink, |
| ) : super(context, parent, template, sink); |
| |
| @override |
| Property<TwoDirectoriesDown<T>>? getProperty(String key) { |
| if (propertyMap<T, TwoDirectoriesDown<T>>().containsKey(key)) { |
| return propertyMap<T, TwoDirectoriesDown<T>>()[key]; |
| } else { |
| return null; |
| } |
| } |
| } |
| |
| void _render_TypeParameter( |
| TypeParameter context, |
| List<MustachioNode> ast, |
| Template template, |
| StringSink sink, { |
| RendererBase<Object>? parent, |
| }) { |
| var renderer = _Renderer_TypeParameter(context, parent, template, sink); |
| renderer.renderBlock(ast); |
| } |
| |
| class _Renderer_TypeParameter extends RendererBase<TypeParameter> { |
| static final Map<Type, Object> _propertyMapCache = {}; |
| static Map<String, Property<CT_>> propertyMap<CT_ extends TypeParameter>() => |
| _propertyMapCache.putIfAbsent( |
| CT_, |
| () => { |
| ..._Renderer_ModelElement.propertyMap<CT_>(), |
| ..._Renderer_HasNoPage.propertyMap<CT_>(), |
| 'boundType': Property( |
| getValue: (CT_ c) => c.boundType, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> 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<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_ElementType( |
| c.boundType!, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'element': Property( |
| getValue: (CT_ c) => c.element, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'TypeParameterElement', |
| ), |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| renderSimple( |
| c.element, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| getters: _invisibleGetters['TypeParameterElement']!, |
| ); |
| }, |
| ), |
| 'element2': Property( |
| getValue: (CT_ c) => c.element2, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'TypeParameterElement2', |
| ), |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| renderSimple( |
| c.element2, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| getters: _invisibleGetters['TypeParameterElement2']!, |
| ); |
| }, |
| ), |
| 'enclosingElement': Property( |
| getValue: (CT_ c) => c.enclosingElement, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> 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<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_ModelElement( |
| c.enclosingElement, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'hasParameters': Property( |
| getValue: (CT_ c) => c.hasParameters, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'bool'), |
| |
| getBool: (CT_ c) => c.hasParameters, |
| ), |
| 'href': Property( |
| getValue: (CT_ c) => c.href, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = 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<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String(c.href!, ast, r.template, sink, parent: r); |
| }, |
| ), |
| 'kind': Property( |
| getValue: (CT_ c) => c.kind, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'Kind'), |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = remainingNames.first; |
| var nextProperty = _Renderer_String.propertyMap().getValue( |
| name, |
| ); |
| return nextProperty.renderVariable( |
| self.getValue(c) as String, |
| nextProperty, |
| [...remainingNames.skip(1)], |
| ); |
| }, |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String( |
| c.linkedName, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'name': Property( |
| getValue: (CT_ c) => c.name, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = remainingNames.first; |
| var nextProperty = _Renderer_String.propertyMap().getValue( |
| name, |
| ); |
| return nextProperty.renderVariable( |
| self.getValue(c) as String, |
| nextProperty, |
| [...remainingNames.skip(1)], |
| ); |
| }, |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String(c.name, ast, r.template, sink, parent: r); |
| }, |
| ), |
| 'referenceChildren': Property( |
| getValue: (CT_ c) => c.referenceChildren, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'Map<String, CommentReferable>', |
| ), |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = remainingNames.first; |
| var nextProperty = _Renderer_String.propertyMap().getValue( |
| name, |
| ); |
| return nextProperty.renderVariable( |
| self.getValue(c) as String, |
| nextProperty, |
| [...remainingNames.skip(1)], |
| ); |
| }, |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String( |
| c.referenceName, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'referenceParents': Property( |
| getValue: (CT_ c) => c.referenceParents, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'Iterable<CommentReferable>', |
| ), |
| |
| renderIterable: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| return c.referenceParents.map( |
| (e) => renderSimple( |
| e, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| getters: _invisibleGetters['CommentReferable']!, |
| ), |
| ); |
| }, |
| ), |
| }, |
| ) |
| as Map<String, Property<CT_>>; |
| |
| _Renderer_TypeParameter( |
| TypeParameter context, |
| RendererBase<Object>? parent, |
| Template template, |
| StringSink sink, |
| ) : super(context, parent, template, sink); |
| |
| @override |
| Property<TypeParameter>? getProperty(String key) { |
| if (propertyMap<TypeParameter>().containsKey(key)) { |
| return propertyMap<TypeParameter>()[key]; |
| } else { |
| return null; |
| } |
| } |
| } |
| |
| class _Renderer_TypeParameters extends RendererBase<TypeParameters> { |
| static final Map<Type, Object> _propertyMapCache = {}; |
| static Map<String, Property<CT_>> propertyMap<CT_ extends TypeParameters>() => |
| _propertyMapCache.putIfAbsent( |
| CT_, |
| () => { |
| 'genericParameters': Property( |
| getValue: (CT_ c) => c.genericParameters, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = remainingNames.first; |
| var nextProperty = _Renderer_String.propertyMap().getValue( |
| name, |
| ); |
| return nextProperty.renderVariable( |
| self.getValue(c) as String, |
| nextProperty, |
| [...remainingNames.skip(1)], |
| ); |
| }, |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String( |
| c.genericParameters, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'hasGenericParameters': Property( |
| getValue: (CT_ c) => c.hasGenericParameters, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'bool'), |
| |
| getBool: (CT_ c) => c.hasGenericParameters, |
| ), |
| 'linkedGenericParameters': Property( |
| getValue: (CT_ c) => c.linkedGenericParameters, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = remainingNames.first; |
| var nextProperty = _Renderer_String.propertyMap().getValue( |
| name, |
| ); |
| return nextProperty.renderVariable( |
| self.getValue(c) as String, |
| nextProperty, |
| [...remainingNames.skip(1)], |
| ); |
| }, |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String( |
| c.linkedGenericParameters, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'nameWithGenerics': Property( |
| getValue: (CT_ c) => c.nameWithGenerics, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = remainingNames.first; |
| var nextProperty = _Renderer_String.propertyMap().getValue( |
| name, |
| ); |
| return nextProperty.renderVariable( |
| self.getValue(c) as String, |
| nextProperty, |
| [...remainingNames.skip(1)], |
| ); |
| }, |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String( |
| c.nameWithGenerics, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'nameWithLinkedGenerics': Property( |
| getValue: (CT_ c) => c.nameWithLinkedGenerics, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = remainingNames.first; |
| var nextProperty = _Renderer_String.propertyMap().getValue( |
| name, |
| ); |
| return nextProperty.renderVariable( |
| self.getValue(c) as String, |
| nextProperty, |
| [...remainingNames.skip(1)], |
| ); |
| }, |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String( |
| c.nameWithLinkedGenerics, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'typeParameters': Property( |
| getValue: (CT_ c) => c.typeParameters, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'List<TypeParameter>', |
| ), |
| |
| renderIterable: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| return c.typeParameters.map( |
| (e) => _render_TypeParameter( |
| e, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ), |
| ); |
| }, |
| ), |
| }, |
| ) |
| as Map<String, Property<CT_>>; |
| |
| _Renderer_TypeParameters( |
| TypeParameters context, |
| RendererBase<Object>? parent, |
| Template template, |
| StringSink sink, |
| ) : super(context, parent, template, sink); |
| |
| @override |
| Property<TypeParameters>? getProperty(String key) { |
| if (propertyMap<TypeParameters>().containsKey(key)) { |
| return propertyMap<TypeParameters>()[key]; |
| } else { |
| return null; |
| } |
| } |
| } |
| |
| void _render_Typedef( |
| Typedef context, |
| List<MustachioNode> ast, |
| Template template, |
| StringSink sink, { |
| RendererBase<Object>? parent, |
| }) { |
| var renderer = _Renderer_Typedef(context, parent, template, sink); |
| renderer.renderBlock(ast); |
| } |
| |
| class _Renderer_Typedef extends RendererBase<Typedef> { |
| static final Map<Type, Object> _propertyMapCache = {}; |
| static Map<String, Property<CT_>> propertyMap<CT_ extends Typedef>() => |
| _propertyMapCache.putIfAbsent( |
| CT_, |
| () => { |
| ..._Renderer_ModelElement.propertyMap<CT_>(), |
| ..._Renderer_TypeParameters.propertyMap<CT_>(), |
| ..._Renderer_Categorization.propertyMap<CT_>(), |
| ..._Renderer_TypeParameters.propertyMap<CT_>(), |
| ..._Renderer_Categorization.propertyMap<CT_>(), |
| 'aboveSidebarPath': Property( |
| getValue: (CT_ c) => c.aboveSidebarPath, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = remainingNames.first; |
| var nextProperty = _Renderer_String.propertyMap().getValue( |
| name, |
| ); |
| return nextProperty.renderVariable( |
| self.getValue(c) as String, |
| nextProperty, |
| [...remainingNames.skip(1)], |
| ); |
| }, |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String( |
| c.aboveSidebarPath, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'aliasedType': Property( |
| getValue: (CT_ c) => c.aliasedType, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'DartType', |
| ), |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, |
| List<String> 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<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_FunctionTypedef( |
| c.asCallable, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'belowSidebarPath': Property( |
| getValue: (CT_ c) => c.belowSidebarPath, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = 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<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String( |
| c.belowSidebarPath!, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'element': Property( |
| getValue: (CT_ c) => c.element, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'TypeAliasElement', |
| ), |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| renderSimple( |
| c.element, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| getters: _invisibleGetters['TypeAliasElement']!, |
| ); |
| }, |
| ), |
| 'element2': Property( |
| getValue: (CT_ c) => c.element2, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'TypeAliasElement2', |
| ), |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| renderSimple( |
| c.element2, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| getters: _invisibleGetters['TypeAliasElement2']!, |
| ); |
| }, |
| ), |
| 'enclosingElement': Property( |
| getValue: (CT_ c) => c.enclosingElement, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> 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<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_Library( |
| c.enclosingElement, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'fileName': Property( |
| getValue: (CT_ c) => c.fileName, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = remainingNames.first; |
| var nextProperty = _Renderer_String.propertyMap().getValue( |
| name, |
| ); |
| return nextProperty.renderVariable( |
| self.getValue(c) as String, |
| nextProperty, |
| [...remainingNames.skip(1)], |
| ); |
| }, |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String(c.fileName, ast, r.template, sink, parent: r); |
| }, |
| ), |
| 'genericParameters': Property( |
| getValue: (CT_ c) => c.genericParameters, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = remainingNames.first; |
| var nextProperty = _Renderer_String.propertyMap().getValue( |
| name, |
| ); |
| return nextProperty.renderVariable( |
| self.getValue(c) as String, |
| nextProperty, |
| [...remainingNames.skip(1)], |
| ); |
| }, |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String( |
| c.genericParameters, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'href': Property( |
| getValue: (CT_ c) => c.href, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = 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<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String(c.href!, ast, r.template, sink, parent: r); |
| }, |
| ), |
| 'isInherited': Property( |
| getValue: (CT_ c) => c.isInherited, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'bool'), |
| |
| getBool: (CT_ c) => c.isInherited, |
| ), |
| 'kind': Property( |
| getValue: (CT_ c) => c.kind, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'Kind'), |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = remainingNames.first; |
| var nextProperty = _Renderer_String.propertyMap().getValue( |
| name, |
| ); |
| return nextProperty.renderVariable( |
| self.getValue(c) as String, |
| nextProperty, |
| [...remainingNames.skip(1)], |
| ); |
| }, |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String( |
| c.linkedGenericParameters, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'modelType': Property( |
| getValue: (CT_ c) => c.modelType, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> 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<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_ElementType( |
| c.modelType, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'nameWithGenerics': Property( |
| getValue: (CT_ c) => c.nameWithGenerics, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = remainingNames.first; |
| var nextProperty = _Renderer_String.propertyMap().getValue( |
| name, |
| ); |
| return nextProperty.renderVariable( |
| self.getValue(c) as String, |
| nextProperty, |
| [...remainingNames.skip(1)], |
| ); |
| }, |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String( |
| c.nameWithGenerics, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'referenceChildren': Property( |
| getValue: (CT_ c) => c.referenceChildren, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'Map<String, CommentReferable>', |
| ), |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'Iterable<CommentReferable>', |
| ), |
| |
| renderIterable: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'List<TypeParameter>', |
| ), |
| |
| renderIterable: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| return c.typeParameters.map( |
| (e) => _render_TypeParameter( |
| e, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ), |
| ); |
| }, |
| ), |
| }, |
| ) |
| as Map<String, Property<CT_>>; |
| |
| _Renderer_Typedef( |
| Typedef context, |
| RendererBase<Object>? parent, |
| Template template, |
| StringSink sink, |
| ) : super(context, parent, template, sink); |
| |
| @override |
| Property<Typedef>? getProperty(String key) { |
| if (propertyMap<Typedef>().containsKey(key)) { |
| return propertyMap<Typedef>()[key]; |
| } else { |
| return null; |
| } |
| } |
| } |
| |
| String renderTypedef(TypedefTemplateData context, Template template) { |
| var buffer = StringBuffer(); |
| _render_TypedefTemplateData(context, template.ast, template, buffer); |
| return buffer.toString(); |
| } |
| |
| void _render_TypedefTemplateData( |
| TypedefTemplateData context, |
| List<MustachioNode> ast, |
| Template template, |
| StringSink sink, { |
| RendererBase<Object>? parent, |
| }) { |
| var renderer = _Renderer_TypedefTemplateData(context, parent, template, sink); |
| renderer.renderBlock(ast); |
| } |
| |
| class _Renderer_TypedefTemplateData extends RendererBase<TypedefTemplateData> { |
| static final Map<Type, Object> _propertyMapCache = {}; |
| static Map<String, Property<CT_>> |
| propertyMap<CT_ extends TypedefTemplateData>() => |
| _propertyMapCache.putIfAbsent( |
| CT_, |
| () => { |
| ..._Renderer_TemplateData.propertyMap<Typedef, CT_>(), |
| ..._Renderer_OneDirectoryDown.propertyMap<Typedef, CT_>(), |
| 'layoutTitle': Property( |
| getValue: (CT_ c) => c.layoutTitle, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = remainingNames.first; |
| var nextProperty = _Renderer_String.propertyMap().getValue( |
| name, |
| ); |
| return nextProperty.renderVariable( |
| self.getValue(c) as String, |
| nextProperty, |
| [...remainingNames.skip(1)], |
| ); |
| }, |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String( |
| c.layoutTitle, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'library': Property( |
| getValue: (CT_ c) => c.library, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> 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<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_Library(c.library, ast, r.template, sink, parent: r); |
| }, |
| ), |
| 'metaDescription': Property( |
| getValue: (CT_ c) => c.metaDescription, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = remainingNames.first; |
| var nextProperty = _Renderer_String.propertyMap().getValue( |
| name, |
| ); |
| return nextProperty.renderVariable( |
| self.getValue(c) as String, |
| nextProperty, |
| [...remainingNames.skip(1)], |
| ); |
| }, |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String( |
| c.metaDescription, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| ); |
| }, |
| ), |
| 'navLinks': Property( |
| getValue: (CT_ c) => c.navLinks, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'List<Documentable>', |
| ), |
| |
| renderIterable: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> 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<CT_> self, |
| List<String> 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<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_Typedef(c.self, ast, r.template, sink, parent: r); |
| }, |
| ), |
| 'title': Property( |
| getValue: (CT_ c) => c.title, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> remainingNames, |
| ) { |
| if (remainingNames.isEmpty) { |
| return self.getValue(c).toString(); |
| } |
| var name = remainingNames.first; |
| var nextProperty = _Renderer_String.propertyMap().getValue( |
| name, |
| ); |
| return nextProperty.renderVariable( |
| self.getValue(c) as String, |
| nextProperty, |
| [...remainingNames.skip(1)], |
| ); |
| }, |
| |
| isNullValue: (CT_ c) => false, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_String(c.title, ast, r.template, sink, parent: r); |
| }, |
| ), |
| 'typeDef': Property( |
| getValue: (CT_ c) => c.typeDef, |
| renderVariable: ( |
| CT_ c, |
| Property<CT_> self, |
| List<String> 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<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| _render_Typedef(c.typeDef, ast, r.template, sink, parent: r); |
| }, |
| ), |
| }, |
| ) |
| as Map<String, Property<CT_>>; |
| |
| _Renderer_TypedefTemplateData( |
| TypedefTemplateData context, |
| RendererBase<Object>? parent, |
| Template template, |
| StringSink sink, |
| ) : super(context, parent, template, sink); |
| |
| @override |
| Property<TypedefTemplateData>? getProperty(String key) { |
| if (propertyMap<TypedefTemplateData>().containsKey(key)) { |
| return propertyMap<TypedefTemplateData>()[key]; |
| } else { |
| return null; |
| } |
| } |
| } |
| |
| class _Renderer_Warnable extends RendererBase<Warnable> { |
| static final Map<Type, Object> _propertyMapCache = {}; |
| static Map<String, Property<CT_>> propertyMap<CT_ extends Warnable>() => |
| _propertyMapCache.putIfAbsent( |
| CT_, |
| () => { |
| 'element': Property( |
| getValue: (CT_ c) => c.element, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable(c, remainingNames, 'Element'), |
| |
| isNullValue: (CT_ c) => c.element == null, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| renderSimple( |
| c.element, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| getters: _invisibleGetters['Element']!, |
| ); |
| }, |
| ), |
| 'element2': Property( |
| getValue: (CT_ c) => c.element2, |
| renderVariable: |
| (CT_ c, Property<CT_> self, List<String> remainingNames) => |
| self.renderSimpleVariable( |
| c, |
| remainingNames, |
| 'Element2', |
| ), |
| |
| isNullValue: (CT_ c) => c.element2 == null, |
| |
| renderValue: ( |
| CT_ c, |
| RendererBase<CT_> r, |
| List<MustachioNode> ast, |
| StringSink sink, |
| ) { |
| renderSimple( |
| c.element2, |
| ast, |
| r.template, |
| sink, |
| parent: r, |
| getters: _invisibleGetters['Element2']!, |
| ); |
| }, |
| ), |
| }, |
| ) |
| as Map<String, Property<CT_>>; |
| |
| _Renderer_Warnable( |
| Warnable context, |
| RendererBase<Object>? parent, |
| Template template, |
| StringSink sink, |
| ) : super(context, parent, template, sink); |
| |
| @override |
| Property<Warnable>? getProperty(String key) { |
| if (propertyMap<Warnable>().containsKey(key)) { |
| return propertyMap<Warnable>()[key]; |
| } else { |
| return null; |
| } |
| } |
| } |
| |
| const _invisibleGetters = { |
| 'Attribute': { |
| 'cssClassName', |
| 'hashCode', |
| 'linkedName', |
| 'linkedNameWithParameters', |
| 'name', |
| 'runtimeType', |
| 'sortGroup', |
| }, |
| 'CharacterLocation': { |
| 'columnNumber', |
| 'hashCode', |
| 'lineNumber', |
| 'runtimeType', |
| }, |
| 'ClassElement': { |
| 'augmentation', |
| 'augmentationTarget', |
| 'augmented', |
| 'hasNonFinalField', |
| 'hashCode', |
| 'isAbstract', |
| 'isBase', |
| 'isConstructable', |
| 'isDartCoreEnum', |
| 'isDartCoreObject', |
| 'isExhaustive', |
| 'isFinal', |
| 'isInterface', |
| 'isMixinApplication', |
| 'isMixinClass', |
| 'isSealed', |
| 'isValidMixin', |
| 'runtimeType', |
| }, |
| 'ClassElement2': { |
| 'firstFragment', |
| 'fragments', |
| 'hasNonFinalField', |
| 'hashCode', |
| 'isAbstract', |
| 'isBase', |
| 'isConstructable', |
| 'isDartCoreEnum', |
| 'isDartCoreObject', |
| 'isExhaustive', |
| 'isFinal', |
| 'isInterface', |
| 'isMacro', |
| 'isMixinApplication', |
| 'isMixinClass', |
| 'isSealed', |
| 'isValidMixin', |
| 'runtimeType', |
| }, |
| 'CommentReferable': { |
| 'definingCommentReferable', |
| 'href', |
| 'library', |
| 'referenceChildren', |
| 'referenceGrandparentOverrides', |
| 'referenceName', |
| 'referenceParents', |
| 'scope', |
| }, |
| 'Constructable': { |
| 'constructors', |
| 'extraReferenceChildren', |
| 'hasPublicConstructors', |
| 'publicConstructorsSorted', |
| }, |
| 'ConstructorElement': { |
| 'augmentation', |
| 'augmentationTarget', |
| 'declaration', |
| 'displayName', |
| 'enclosingElement3', |
| 'hashCode', |
| 'isConst', |
| 'isDefaultConstructor', |
| 'isFactory', |
| 'isGenerative', |
| 'name', |
| 'nameEnd', |
| 'periodOffset', |
| 'redirectedConstructor', |
| 'returnType', |
| 'runtimeType', |
| 'superConstructor', |
| }, |
| 'ConstructorElement2': { |
| 'baseElement', |
| 'enclosingElement2', |
| 'firstFragment', |
| 'fragments', |
| 'hashCode', |
| 'isConst', |
| 'isDefaultConstructor', |
| 'isFactory', |
| 'isGenerative', |
| 'name3', |
| 'redirectedConstructor2', |
| 'returnType', |
| 'runtimeType', |
| 'superConstructor2', |
| }, |
| 'ContainerModifier': { |
| 'displayName', |
| 'hashCode', |
| 'hideIfPresent', |
| 'name', |
| 'order', |
| 'runtimeType', |
| }, |
| 'Context': {'current', 'hashCode', 'runtimeType', 'separator', 'style'}, |
| 'DartType': { |
| 'alias', |
| 'element', |
| 'element3', |
| 'extensionTypeErasure', |
| 'hashCode', |
| 'isBottom', |
| 'isDartAsyncFuture', |
| 'isDartAsyncFutureOr', |
| 'isDartAsyncStream', |
| 'isDartCoreBool', |
| 'isDartCoreDouble', |
| 'isDartCoreEnum', |
| 'isDartCoreFunction', |
| 'isDartCoreInt', |
| 'isDartCoreIterable', |
| 'isDartCoreList', |
| 'isDartCoreMap', |
| 'isDartCoreNull', |
| 'isDartCoreNum', |
| 'isDartCoreObject', |
| 'isDartCoreRecord', |
| 'isDartCoreSet', |
| 'isDartCoreString', |
| 'isDartCoreSymbol', |
| 'isDartCoreType', |
| 'name', |
| 'nullabilitySuffix', |
| 'runtimeType', |
| }, |
| 'DartdocOptionContext': { |
| 'allowTools', |
| 'ambiguousReexportScorerMinConfidence', |
| 'autoIncludeDependencies', |
| 'categories', |
| 'categoryOrder', |
| 'context', |
| 'exclude', |
| 'excludeFooterVersion', |
| 'flutterRoot', |
| 'hashCode', |
| 'include', |
| 'includeExternal', |
| 'includeSource', |
| 'injectHtml', |
| 'inputDir', |
| 'linkToRemote', |
| 'linkToUrl', |
| 'maxFileCount', |
| 'maxTotalSize', |
| 'nodoc', |
| 'optionSet', |
| 'output', |
| 'packageMeta', |
| 'packageOrder', |
| 'resourceProvider', |
| 'runtimeType', |
| 'sanitizeHtml', |
| 'sdkDir', |
| 'sdkDocs', |
| 'showStats', |
| 'showUndocumentedCategories', |
| 'tools', |
| 'topLevelPackageMeta', |
| 'useBaseHref', |
| 'useCategories', |
| 'validateLinks', |
| }, |
| 'DocumentLocation': {'hashCode', 'index', 'runtimeType'}, |
| 'Documentation': {'asHtml', 'asOneLiner', 'hashCode', 'runtimeType'}, |
| 'DocumentationComment': { |
| 'documentationAsHtml', |
| 'documentationComment', |
| 'documentationFrom', |
| 'documentationLocal', |
| 'element2', |
| 'elementDocumentation', |
| 'hasDocumentationComment', |
| 'hasNodoc', |
| 'needsPrecache', |
| 'pathContext', |
| 'qualifiedName', |
| 'sourceFileName', |
| }, |
| 'Element': { |
| 'children', |
| 'context', |
| 'declaration', |
| 'displayName', |
| 'documentationComment', |
| 'enclosingElement3', |
| 'hasAlwaysThrows', |
| 'hasDeprecated', |
| 'hasDoNotStore', |
| 'hasDoNotSubmit', |
| 'hasFactory', |
| 'hasImmutable', |
| 'hasInternal', |
| 'hasIsTest', |
| 'hasIsTestGroup', |
| 'hasJS', |
| 'hasLiteral', |
| 'hasMustBeConst', |
| 'hasMustBeOverridden', |
| 'hasMustCallSuper', |
| 'hasNonVirtual', |
| 'hasOptionalTypeArgs', |
| 'hasOverride', |
| 'hasProtected', |
| 'hasRedeclare', |
| 'hasReopen', |
| 'hasRequired', |
| 'hasSealed', |
| 'hasUseResult', |
| 'hasVisibleForOverriding', |
| 'hasVisibleForTemplate', |
| 'hasVisibleForTesting', |
| 'hasVisibleOutsideTemplate', |
| 'hashCode', |
| 'id', |
| 'isPrivate', |
| 'isPublic', |
| 'isSynthetic', |
| 'kind', |
| 'library', |
| 'location', |
| 'metadata', |
| 'name', |
| 'nameLength', |
| 'nameOffset', |
| 'nonSynthetic', |
| 'runtimeType', |
| 'session', |
| 'sinceSdkVersion', |
| 'source', |
| }, |
| 'Element2': { |
| 'baseElement', |
| 'children2', |
| 'displayName', |
| 'enclosingElement2', |
| 'firstFragment', |
| 'fragments', |
| 'hashCode', |
| 'id', |
| 'isPrivate', |
| 'isPublic', |
| 'isSynthetic', |
| 'kind', |
| 'library2', |
| 'lookupName', |
| 'name3', |
| 'nonSynthetic2', |
| 'runtimeType', |
| 'session', |
| }, |
| 'EnumElement': { |
| 'augmentation', |
| 'augmentationTarget', |
| 'augmented', |
| 'hashCode', |
| 'runtimeType', |
| }, |
| 'EnumElement2': { |
| 'constants2', |
| 'firstFragment', |
| 'fragments', |
| 'hashCode', |
| 'runtimeType', |
| }, |
| 'ExecutableMember': { |
| 'augmentationSubstitution', |
| 'children', |
| 'children2', |
| 'context', |
| 'declaration', |
| 'displayName', |
| 'documentationComment', |
| 'enclosingElement2', |
| 'enclosingElement3', |
| 'formalParameters', |
| 'fragments', |
| 'hasAlwaysThrows', |
| 'hasDeprecated', |
| 'hasDoNotStore', |
| 'hasDoNotSubmit', |
| 'hasFactory', |
| 'hasImmutable', |
| 'hasImplicitReturnType', |
| 'hasInternal', |
| 'hasIsTest', |
| 'hasIsTestGroup', |
| 'hasJS', |
| 'hasLiteral', |
| 'hasMustBeConst', |
| 'hasMustBeOverridden', |
| 'hasMustCallSuper', |
| 'hasNonVirtual', |
| 'hasOptionalTypeArgs', |
| 'hasOverride', |
| 'hasProtected', |
| 'hasRedeclare', |
| 'hasReopen', |
| 'hasRequired', |
| 'hasSealed', |
| 'hasUseResult', |
| 'hasVisibleForOverriding', |
| 'hasVisibleForTemplate', |
| 'hasVisibleForTesting', |
| 'hasVisibleOutsideTemplate', |
| 'hashCode', |
| 'id', |
| 'isAbstract', |
| 'isAsynchronous', |
| 'isAugmentation', |
| 'isExtensionTypeMember', |
| 'isExternal', |
| 'isGenerator', |
| 'isOperator', |
| 'isPrivate', |
| 'isPublic', |
| 'isSimplyBounded', |
| 'isStatic', |
| 'isSynchronous', |
| 'isSynthetic', |
| 'kind', |
| 'library', |
| 'library2', |
| 'librarySource', |
| 'location', |
| 'metadata', |
| 'metadata2', |
| 'name', |
| 'nameLength', |
| 'nameOffset', |
| 'nonSynthetic', |
| 'nonSynthetic2', |
| 'parameters', |
| 'returnType', |
| 'runtimeType', |
| 'session', |
| 'sinceSdkVersion', |
| 'substitution', |
| 'type', |
| 'typeParameters', |
| 'typeParameters2', |
| }, |
| 'ExtensionElement': { |
| 'augmentation', |
| 'augmentationTarget', |
| 'augmented', |
| 'extendedType', |
| 'hashCode', |
| 'runtimeType', |
| }, |
| 'ExtensionElement2': { |
| 'extendedType', |
| 'firstFragment', |
| 'fragments', |
| 'hashCode', |
| 'runtimeType', |
| }, |
| 'ExtensionTypeElement': { |
| 'augmentation', |
| 'augmentationTarget', |
| 'augmented', |
| 'hashCode', |
| 'primaryConstructor', |
| 'representation', |
| 'runtimeType', |
| 'typeErasure', |
| }, |
| 'ExtensionTypeElement2': { |
| 'firstFragment', |
| 'fragments', |
| 'hashCode', |
| 'primaryConstructor2', |
| 'representation2', |
| 'runtimeType', |
| 'typeErasure', |
| }, |
| 'FieldElement': { |
| 'augmentation', |
| 'augmentationTarget', |
| 'declaration', |
| 'hashCode', |
| 'isAbstract', |
| 'isCovariant', |
| 'isEnumConstant', |
| 'isExternal', |
| 'isPromotable', |
| 'isStatic', |
| 'runtimeType', |
| }, |
| 'FieldElement2': { |
| 'baseElement', |
| 'enclosingElement2', |
| 'firstFragment', |
| 'fragments', |
| 'hashCode', |
| 'isAbstract', |
| 'isCovariant', |
| 'isEnumConstant', |
| 'isExternal', |
| 'isPromotable', |
| 'runtimeType', |
| }, |
| 'File': {'hashCode', 'lengthSync', 'modificationStamp', 'runtimeType'}, |
| 'FormalParameterElement': { |
| 'baseElement', |
| 'defaultValueCode', |
| 'firstFragment', |
| 'formalParameters', |
| 'fragments', |
| 'hasDefaultValue', |
| 'hashCode', |
| 'isCovariant', |
| 'isInitializingFormal', |
| 'isNamed', |
| 'isOptional', |
| 'isOptionalNamed', |
| 'isOptionalPositional', |
| 'isPositional', |
| 'isRequired', |
| 'isRequiredNamed', |
| 'isRequiredPositional', |
| 'isSuperFormal', |
| 'runtimeType', |
| 'typeParameters2', |
| }, |
| 'FunctionType': { |
| 'element', |
| 'formalParameters', |
| 'hashCode', |
| 'namedParameterTypes', |
| 'normalParameterTypes', |
| 'optionalParameterTypes', |
| 'parameters', |
| 'positionalParameterTypes', |
| 'requiredPositionalParameterCount', |
| 'returnType', |
| 'runtimeType', |
| 'sortedNamedParameters', |
| 'typeFormals', |
| 'typeParameters', |
| }, |
| 'FunctionTypedElement': { |
| 'hashCode', |
| 'parameters', |
| 'returnType', |
| 'runtimeType', |
| 'type', |
| }, |
| 'FunctionTypedElement2': { |
| 'firstFragment', |
| 'formalParameters', |
| 'fragments', |
| 'hashCode', |
| 'returnType', |
| 'runtimeType', |
| 'type', |
| }, |
| 'GetterSetterCombo': { |
| 'allAccessors', |
| 'annotations', |
| 'arrow', |
| 'characterLocation', |
| 'comboAttributes', |
| 'constantValue', |
| 'constantValueBase', |
| 'constantValueTruncated', |
| 'documentationComment', |
| 'documentationFrom', |
| 'enclosingElement', |
| 'fileName', |
| 'getter', |
| 'getterSetterBothAvailable', |
| 'hasAccessorsWithDocs', |
| 'hasConstantValueForDisplay', |
| 'hasDocumentationComment', |
| 'hasExplicitGetter', |
| 'hasExplicitSetter', |
| 'hasGetter', |
| 'hasGetterOrSetter', |
| 'hasParameters', |
| 'hasPublicGetter', |
| 'hasPublicGetterNoSetter', |
| 'hasPublicSetter', |
| 'hasSetter', |
| 'isCallable', |
| 'isInherited', |
| 'isPublic', |
| 'linkedParamsNoMetadata', |
| 'modelType', |
| 'name', |
| 'oneLineDoc', |
| 'parameters', |
| 'readOnly', |
| 'readWrite', |
| 'referenceChildren', |
| 'setter', |
| 'writeOnly', |
| }, |
| 'Inheritable': { |
| 'attributes', |
| 'canonicalLibrary', |
| 'canonicalModelElement', |
| 'isCovariant', |
| 'isInherited', |
| 'isOverride', |
| 'overriddenDepth', |
| 'overriddenElement', |
| }, |
| 'InterfaceElement': { |
| 'allSupertypes', |
| 'augmentationTarget', |
| 'augmented', |
| 'constructors', |
| 'hashCode', |
| 'interfaces', |
| 'mixins', |
| 'name', |
| 'runtimeType', |
| 'supertype', |
| 'thisType', |
| 'unnamedConstructor', |
| }, |
| 'InterfaceElement2': { |
| 'allSupertypes', |
| 'constructors2', |
| 'firstFragment', |
| 'fragments', |
| 'hashCode', |
| 'interfaces', |
| 'mixins', |
| 'runtimeType', |
| 'supertype', |
| 'thisType', |
| 'unnamedConstructor2', |
| }, |
| 'Iterable': { |
| 'first', |
| 'hashCode', |
| 'isEmpty', |
| 'isNotEmpty', |
| 'iterator', |
| 'last', |
| 'length', |
| 'runtimeType', |
| 'single', |
| }, |
| 'Kind': {'hashCode', 'index', 'runtimeType'}, |
| 'LibraryElement': { |
| 'definingCompilationUnit', |
| 'enclosingElement3', |
| 'entryPoint', |
| 'exportNamespace', |
| 'exportedLibraries', |
| 'featureSet', |
| 'hashCode', |
| 'identifier', |
| 'importedLibraries', |
| 'isDartAsync', |
| 'isDartCore', |
| 'isInSdk', |
| 'languageVersion', |
| 'library', |
| 'loadLibraryFunction', |
| 'name', |
| 'publicNamespace', |
| 'runtimeType', |
| 'session', |
| 'topLevelElements', |
| 'typeProvider', |
| 'typeSystem', |
| 'units', |
| }, |
| 'LibraryElement2': { |
| 'classes', |
| 'entryPoint2', |
| 'enums', |
| 'exportNamespace', |
| 'exportedLibraries2', |
| 'extensionTypes', |
| 'extensions', |
| 'featureSet', |
| 'firstFragment', |
| 'fragments', |
| 'getters', |
| 'hashCode', |
| 'identifier', |
| 'isDartAsync', |
| 'isDartCore', |
| 'isInSdk', |
| 'languageVersion', |
| 'library2', |
| 'loadLibraryFunction2', |
| 'mixins', |
| 'publicNamespace', |
| 'runtimeType', |
| 'session', |
| 'setters', |
| 'topLevelFunctions', |
| 'topLevelVariables', |
| 'typeAliases', |
| 'typeProvider', |
| 'typeSystem', |
| 'uri', |
| }, |
| 'LibraryFragment': { |
| 'accessibleExtensions2', |
| 'classes2', |
| 'element', |
| 'enclosingFragment', |
| 'enums2', |
| 'extensionTypes2', |
| 'extensions2', |
| 'functions2', |
| 'getters', |
| 'hashCode', |
| 'importedLibraries2', |
| 'libraryExports2', |
| 'libraryImports2', |
| 'lineInfo', |
| 'mixins2', |
| 'nextFragment', |
| 'partIncludes', |
| 'prefixes', |
| 'previousFragment', |
| 'runtimeType', |
| 'scope', |
| 'setters', |
| 'source', |
| 'topLevelVariables2', |
| 'typeAliases2', |
| }, |
| 'List': {'hashCode', 'length', 'reversed', 'runtimeType'}, |
| 'Locatable': { |
| 'documentationFrom', |
| 'documentationIsLocal', |
| 'fullyQualifiedName', |
| 'href', |
| 'isCanonical', |
| 'location', |
| }, |
| 'Map': { |
| 'entries', |
| 'hashCode', |
| 'isEmpty', |
| 'isNotEmpty', |
| 'keys', |
| 'length', |
| 'runtimeType', |
| 'values', |
| }, |
| 'Member': { |
| 'augmentationSubstitution', |
| 'children', |
| 'context', |
| 'declaration', |
| 'displayName', |
| 'documentationComment', |
| 'enclosingElement3', |
| 'hasAlwaysThrows', |
| 'hasDeprecated', |
| 'hasDoNotStore', |
| 'hasDoNotSubmit', |
| 'hasFactory', |
| 'hasImmutable', |
| 'hasInternal', |
| 'hasIsTest', |
| 'hasIsTestGroup', |
| 'hasJS', |
| 'hasLiteral', |
| 'hasMustBeConst', |
| 'hasMustBeOverridden', |
| 'hasMustCallSuper', |
| 'hasNonVirtual', |
| 'hasOptionalTypeArgs', |
| 'hasOverride', |
| 'hasProtected', |
| 'hasRedeclare', |
| 'hasReopen', |
| 'hasRequired', |
| 'hasSealed', |
| 'hasUseResult', |
| 'hasVisibleForOverriding', |
| 'hasVisibleForTemplate', |
| 'hasVisibleForTesting', |
| 'hasVisibleOutsideTemplate', |
| 'hashCode', |
| 'id', |
| 'isPrivate', |
| 'isPublic', |
| 'isSynthetic', |
| 'kind', |
| 'library', |
| 'librarySource', |
| 'location', |
| 'metadata', |
| 'metadata2', |
| 'name', |
| 'nameLength', |
| 'nameOffset', |
| 'nonSynthetic', |
| 'runtimeType', |
| 'session', |
| 'sinceSdkVersion', |
| 'substitution', |
| }, |
| 'MethodElement': { |
| 'augmentation', |
| 'augmentationTarget', |
| 'declaration', |
| 'hashCode', |
| 'runtimeType', |
| }, |
| 'MethodElement2': { |
| 'baseElement', |
| 'firstFragment', |
| 'fragments', |
| 'hashCode', |
| 'isOperator', |
| 'runtimeType', |
| }, |
| 'MixinElement': { |
| 'augmentation', |
| 'augmentationTarget', |
| 'augmented', |
| 'hashCode', |
| 'isBase', |
| 'runtimeType', |
| 'superclassConstraints', |
| }, |
| 'MixinElement2': { |
| 'firstFragment', |
| 'fragments', |
| 'hashCode', |
| 'isBase', |
| 'runtimeType', |
| 'superclassConstraints', |
| }, |
| 'ModelNode': {'commentData', 'hashCode', 'runtimeType', 'sourceCode'}, |
| 'PackageGraph': { |
| 'allConstructedModelElements', |
| 'allExtensionsAdded', |
| 'allHrefs', |
| 'allImplementersAdded', |
| 'allInheritableElements', |
| 'allLibrariesAdded', |
| 'breadcrumbName', |
| 'config', |
| 'dartCoreObject', |
| 'defaultPackage', |
| 'defaultPackageName', |
| 'displayName', |
| 'extensions', |
| 'hasEmbedderSdk', |
| 'hasFooterVersion', |
| 'hashCode', |
| 'implementers', |
| 'inheritanceManager', |
| 'libraries', |
| 'libraryCount', |
| 'libraryExports', |
| 'libraryExports2', |
| 'localPackages', |
| 'localPublicLibraries', |
| 'name', |
| 'objectClass', |
| 'packageGraph', |
| 'packageMap', |
| 'packageMeta', |
| 'packageMetaProvider', |
| 'packageWarningCounter', |
| 'packages', |
| 'publicLibraries', |
| 'publicPackages', |
| 'referenceChildren', |
| 'referenceParents', |
| 'resourceProvider', |
| 'runtimeType', |
| 'sdkLibrarySources', |
| }, |
| 'PackageMeta': { |
| 'dir', |
| 'hashCode', |
| 'homepage', |
| 'hostedAt', |
| 'isSdk', |
| 'isValid', |
| 'name', |
| 'requiresFlutter', |
| 'resolvedDir', |
| 'resourceProvider', |
| 'runtimeType', |
| 'version', |
| }, |
| 'ParameterElement': { |
| 'declaration', |
| 'defaultValueCode', |
| 'element', |
| 'hasDefaultValue', |
| 'hashCode', |
| 'isCovariant', |
| 'isInitializingFormal', |
| 'isNamed', |
| 'isOptional', |
| 'isOptionalNamed', |
| 'isOptionalPositional', |
| 'isPositional', |
| 'isRequired', |
| 'isRequiredNamed', |
| 'isRequiredPositional', |
| 'isSuperFormal', |
| 'name', |
| 'parameterKind', |
| 'parameters', |
| 'runtimeType', |
| 'typeParameters', |
| }, |
| 'ParameterMember': { |
| 'augmentationSubstitution', |
| 'baseElement', |
| 'children', |
| 'children2', |
| 'context', |
| 'declaration', |
| 'defaultValueCode', |
| 'displayName', |
| 'documentationComment', |
| 'element', |
| 'enclosingElement2', |
| 'enclosingElement3', |
| 'firstFragment', |
| 'formalParameters', |
| 'fragments', |
| 'hasAlwaysThrows', |
| 'hasDefaultValue', |
| 'hasDeprecated', |
| 'hasDoNotStore', |
| 'hasDoNotSubmit', |
| 'hasFactory', |
| 'hasImmutable', |
| 'hasImplicitType', |
| 'hasInternal', |
| 'hasIsTest', |
| 'hasIsTestGroup', |
| 'hasJS', |
| 'hasLiteral', |
| 'hasMustBeConst', |
| 'hasMustBeOverridden', |
| 'hasMustCallSuper', |
| 'hasNonVirtual', |
| 'hasOptionalTypeArgs', |
| 'hasOverride', |
| 'hasProtected', |
| 'hasRedeclare', |
| 'hasReopen', |
| 'hasRequired', |
| 'hasSealed', |
| 'hasUseResult', |
| 'hasVisibleForOverriding', |
| 'hasVisibleForTemplate', |
| 'hasVisibleForTesting', |
| 'hasVisibleOutsideTemplate', |
| 'hashCode', |
| 'id', |
| 'isConst', |
| 'isConstantEvaluated', |
| 'isCovariant', |
| 'isFinal', |
| 'isInitializingFormal', |
| 'isLate', |
| 'isPrivate', |
| 'isPublic', |
| 'isStatic', |
| 'isSuperFormal', |
| 'isSynthetic', |
| 'kind', |
| 'library', |
| 'library2', |
| 'librarySource', |
| 'location', |
| 'lookupName', |
| 'metadata', |
| 'metadata2', |
| 'name', |
| 'name3', |
| 'nameLength', |
| 'nameOffset', |
| 'nameShared', |
| 'nonSynthetic', |
| 'nonSynthetic2', |
| 'parameterKind', |
| 'parameters', |
| 'runtimeType', |
| 'session', |
| 'sinceSdkVersion', |
| 'source', |
| 'substitution', |
| 'type', |
| 'typeParameters', |
| 'typeParameters2', |
| 'typeShared', |
| }, |
| 'ParameterizedType': {'hashCode', 'runtimeType', 'typeArguments'}, |
| 'PropertyAccessorElement': { |
| 'augmentation', |
| 'augmentationTarget', |
| 'correspondingGetter', |
| 'correspondingSetter', |
| 'declaration', |
| 'enclosingElement3', |
| 'hashCode', |
| 'isGetter', |
| 'isSetter', |
| 'runtimeType', |
| 'variable2', |
| }, |
| 'PropertyAccessorElement2': { |
| 'baseElement', |
| 'firstFragment', |
| 'fragments', |
| 'hashCode', |
| 'runtimeType', |
| 'variable3', |
| }, |
| 'Scope': {'hashCode', 'runtimeType'}, |
| 'TemplateOptions': { |
| 'customFooterContent', |
| 'customHeaderContent', |
| 'customInnerFooterText', |
| 'hashCode', |
| 'relCanonicalPrefix', |
| 'runtimeType', |
| 'toolVersion', |
| 'useBaseHref', |
| }, |
| 'TopLevelFunctionElement': { |
| 'baseElement', |
| 'firstFragment', |
| 'fragments', |
| 'hashCode', |
| 'isDartCoreIdentical', |
| 'isEntryPoint', |
| 'runtimeType', |
| }, |
| 'TopLevelVariableElement': { |
| 'augmentation', |
| 'augmentationTarget', |
| 'declaration', |
| 'hashCode', |
| 'isExternal', |
| 'runtimeType', |
| }, |
| 'TopLevelVariableElement2': { |
| 'baseElement', |
| 'firstFragment', |
| 'fragments', |
| 'hashCode', |
| 'isExternal', |
| 'runtimeType', |
| }, |
| 'TypeAliasElement': { |
| 'aliasedElement', |
| 'aliasedType', |
| 'enclosingElement3', |
| 'hashCode', |
| 'isAugmentation', |
| 'name', |
| 'runtimeType', |
| }, |
| 'TypeAliasElement2': { |
| 'aliasedElement2', |
| 'aliasedType', |
| 'enclosingElement2', |
| 'firstFragment', |
| 'fragments', |
| 'hashCode', |
| 'runtimeType', |
| }, |
| 'TypeParameterElement': { |
| 'bound', |
| 'declaration', |
| 'displayName', |
| 'hashCode', |
| 'name', |
| 'runtimeType', |
| }, |
| 'TypeParameterElement2': { |
| 'baseElement', |
| 'bound', |
| 'firstFragment', |
| 'fragments', |
| 'hashCode', |
| 'runtimeType', |
| }, |
| 'int': { |
| 'bitLength', |
| 'hashCode', |
| 'isEven', |
| 'isFinite', |
| 'isInfinite', |
| 'isNaN', |
| 'isNegative', |
| 'isOdd', |
| 'runtimeType', |
| 'sign', |
| }, |
| }; |