From a5784c217d15533656b3421b4875823ddc1db27d Mon Sep 17 00:00:00 2001 From: Janice Collins Date: Wed, 3 Jan 2018 11:26:27 -0800 Subject: [PATCH 1/4] Add basic support for private macros --- lib/src/model.dart | 39 ++++++++++++++++++--------- lib/src/warnings.dart | 5 ++++ pubspec.lock | 2 +- test/model_test.dart | 21 ++++++++++++--- testing/test_package/lib/example.dart | 11 ++++++++ 5 files changed, 61 insertions(+), 17 deletions(-) diff --git a/lib/src/model.dart b/lib/src/model.dart index a7db1acd7a..24f3d6bb4f 100644 --- a/lib/src/model.dart +++ b/lib/src/model.dart @@ -2839,7 +2839,11 @@ abstract class ModelElement extends Canonicalization return docFrom; } - String get _documentationLocal { + /// Returns the documentation for this literal element unless + /// [config.dropTextFrom] indicates it should not be returned. Macro + /// definitions are stripped, but macros themselves are not injected. This + /// is a two stage process to avoid ordering problems. + String get documentationLocal { if (_rawDocs != null) return _rawDocs; if (config.dropTextFrom.contains(element.library.name)) { _rawDocs = ''; @@ -2848,7 +2852,6 @@ abstract class ModelElement extends Canonicalization _rawDocs = stripComments(_rawDocs) ?? ''; _rawDocs = _injectExamples(_rawDocs); _rawDocs = _stripMacroTemplatesAndAddToIndex(_rawDocs); - _rawDocs = _injectMacros(_rawDocs); } return _rawDocs; } @@ -2856,7 +2859,7 @@ abstract class ModelElement extends Canonicalization /// Returns the docs, stripped of their leading comments syntax. @override String get documentation { - return documentationFrom.map((e) => e._documentationLocal).join('

'); + return _injectMacros(documentationFrom.map((e) => e.documentationLocal).join('

')); } Library get definingLibrary => package.findOrCreateLibraryFor(element); @@ -3522,7 +3525,7 @@ abstract class ModelElement extends Canonicalization /// /// Example: /// - /// You define the template anywhere in the comments like: + /// You define the template in any comment for a documentable entity like: /// /// {@template foo} /// Foo contents! @@ -3543,7 +3546,11 @@ abstract class ModelElement extends Canonicalization String _injectMacros(String rawDocs) { final macroRegExp = new RegExp(r'{@macro\s+([^}]+)}'); return rawDocs.replaceAllMapped(macroRegExp, (match) { - return package.getMacro(match[1]); + String macro = package.getMacro(match[1]); + if (macro == null) { + warn(PackageWarning.unknownMacro, message: match[1]); + } + return macro; }); } @@ -3560,7 +3567,7 @@ abstract class ModelElement extends Canonicalization r'[ ]*{@template\s+(.+?)}([\s\S]+?){@endtemplate}[ ]*\n?', multiLine: true); return rawDocs.replaceAllMapped(templateRegExp, (match) { - package.addMacro(match[1].trim(), match[2].trim()); + package._addMacro(match[1].trim(), match[2].trim()); return ""; }); } @@ -3835,6 +3842,7 @@ class Package extends Canonicalization with Nameable, Warnable { String _docsAsHtml; final Map _macros = {}; bool allLibrariesAdded = false; + bool _macrosAdded = false; Package(Iterable libraryElements, this.packageMeta, this._packageWarningOptions, this.context, @@ -3857,10 +3865,10 @@ class Package extends Canonicalization with Nameable, Warnable { }); _implementors.values.forEach((l) => l.sort()); - // Go through docs of every model element in package to prebuild the macros index - // TODO(jcollins-g): move index building into a cached-on-demand generation - // like most other bits in [Package]. - allCanonicalModelElements.forEach((m) => m.documentation); + // Go through docs of every model element in package to prebuild the macros + // index. + allModelElements.forEach((m) => m.documentationLocal); + _macrosAdded = true; } /// Returns true if there's at least one library documented in the package @@ -4022,6 +4030,9 @@ class Package extends Canonicalization with Nameable, Warnable { } referredFromPrefix = 'in documentation inherited from'; break; + case PackageWarning.unknownMacro: + warningMessage = "undefined macro [${message}]"; + break; case PackageWarning.brokenLink: warningMessage = 'dartdoc generated a broken link to: ${message}'; warnablePrefix = 'to element'; @@ -4485,9 +4496,13 @@ class Package extends Canonicalization with Nameable, Warnable { allModelElements.where((e) => e.isCanonical).toList()); } - String getMacro(String name) => _macros[name]; + String getMacro(String name) { + assert(_macrosAdded); + return _macros[name]; + } - void addMacro(String name, String content) { + void _addMacro(String name, String content) { + assert(!_macrosAdded); _macros[name] = content; } } diff --git a/lib/src/warnings.dart b/lib/src/warnings.dart index f12dfcdb8a..77d8c4c710 100644 --- a/lib/src/warnings.dart +++ b/lib/src/warnings.dart @@ -64,6 +64,10 @@ final Map packageWarningText = const { PackageWarning.brokenLink, "brokenLink", "Dartdoc generated a link to a non-existent file"), + PackageWarning.unknownMacro: const PackageWarningHelpText( + PackageWarning.unknownMacro, + "unknownMacro", + "A comment reference contains an unknown macro"), PackageWarning.orphanedFile: const PackageWarningHelpText( PackageWarning.orphanedFile, "orphanedFile", @@ -115,6 +119,7 @@ enum PackageWarning { noLibraryLevelDocs, categoryOrderGivesMissingPackageName, unresolvedDocReference, + unknownMacro, brokenLink, orphanedFile, unknownFile, diff --git a/pubspec.lock b/pubspec.lock index cb4b01c9c9..7cb597eee7 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -408,4 +408,4 @@ packages: source: hosted version: "2.1.13" sdks: - dart: ">=1.23.0 <=2.0.0-edge.77d3b702203a852723dd2c966d4c0889986a4703" + dart: ">=1.23.0 <=2.0.0-dev.15.0" diff --git a/test/model_test.dart b/test/model_test.dart index f663ddf6f9..c33d2a36f3 100644 --- a/test/model_test.dart +++ b/test/model_test.dart @@ -312,7 +312,7 @@ void main() { group('Macros', () { Class dog; - Method withMacro, withMacro2; + Method withMacro, withMacro2, withPrivateMacro, withUndefinedMacro; setUp(() { dog = exLibrary.classes.firstWhere((c) => c.name == 'Dog'); @@ -320,6 +320,10 @@ void main() { dog.allInstanceMethods.firstWhere((m) => m.name == 'withMacro'); withMacro2 = dog.allInstanceMethods.firstWhere((m) => m.name == 'withMacro2'); + withPrivateMacro = + dog.allInstanceMethods.firstWhere((m) => m.name == 'withPrivateMacro'); + withUndefinedMacro = + dog.allInstanceMethods.firstWhere((m) => m.name == 'withUndefinedMacro'); package.allModelElements.forEach((m) => m.documentation); }); @@ -332,6 +336,14 @@ void main() { () { expect(withMacro2.documentation, equals("Foo macro content")); }); + + test("renders a macro defined in a private symbol", () { + expect(withPrivateMacro.documentation, contains("Private macro content")); + }); + + test("a warning is generated for unknown macros", () { + expect(package.packageWarningCounter.hasWarning(withUndefinedMacro, PackageWarning.unknownMacro, 'ThatDoesNotExist'), isTrue); + }); }); group('MultiplyInheritedExecutableElement handling', () { @@ -808,7 +820,7 @@ void main() { }); test('get methods', () { - expect(Dog.publicInstanceMethods, hasLength(9)); + expect(Dog.publicInstanceMethods, hasLength(12)); }); test('get operators', () { @@ -860,7 +872,6 @@ void main() { }); test('F has many inherited methods', () { - expect(F.publicInheritedMethods, hasLength(12)); expect( F.publicInheritedMethods.map((im) => im.name), equals([ @@ -875,7 +886,9 @@ void main() { 'testMethod', 'toString', 'withMacro', - 'withMacro2' + 'withMacro2', + 'withPrivateMacro', + 'withUndefinedMacro', ])); }); diff --git a/testing/test_package/lib/example.dart b/testing/test_package/lib/example.dart index 31513ee9be..63349207ce 100644 --- a/testing/test_package/lib/example.dart +++ b/testing/test_package/lib/example.dart @@ -343,6 +343,17 @@ class Dog implements Cat, E { /// {@macro foo} void withMacro2() {} + /// {@template private} + /// Private macro content + /// {@endtemplate} + void _macroDefinedPrivately() {} + + /// Use a privately defined macro: {@macro private} + void withPrivateMacro() {} + + /// Don't define this: {@macro ThatDoesNotExist} + void withUndefinedMacro() {} + void testGeneric(Map args) {} void testMethod(Iterable it) {} From 836e06e571ac550c05b87875d6d1d054626e8d42 Mon Sep 17 00:00:00 2001 From: Janice Collins Date: Wed, 3 Jan 2018 11:45:03 -0800 Subject: [PATCH 2/4] update test package docs --- testing/test_package_docs/ex/Dog-class.html | 20 +++ .../ex/Dog/Dog.deprecatedCreate.html | 2 + testing/test_package_docs/ex/Dog/Dog.html | 2 + .../test_package_docs/ex/Dog/aFinalField.html | 2 + .../ex/Dog/aGetterReturningRandomThings.html | 2 + .../ex/Dog/aName-constant.html | 2 + .../ex/Dog/aProtectedFinalField.html | 2 + .../ex/Dog/aStaticConstField-constant.html | 2 + .../ex/Dog/abstractMethod.html | 2 + .../test_package_docs/ex/Dog/createDog.html | 2 + .../ex/Dog/deprecatedField.html | 2 + .../ex/Dog/deprecatedGetter.html | 2 + .../ex/Dog/deprecatedSetter.html | 2 + testing/test_package_docs/ex/Dog/foo.html | 2 + .../ex/Dog/getAnotherClassD.html | 2 + .../test_package_docs/ex/Dog/getClassA.html | 2 + .../ex/Dog/isImplemented.html | 2 + testing/test_package_docs/ex/Dog/name.html | 2 + .../ex/Dog/operator_equals.html | 2 + .../ex/Dog/somethingTasty.html | 2 + .../ex/Dog/staticGetterSetter.html | 2 + .../test_package_docs/ex/Dog/testGeneric.html | 2 + .../ex/Dog/testGenericMethod.html | 2 + .../test_package_docs/ex/Dog/testMethod.html | 2 + .../test_package_docs/ex/Dog/withMacro.html | 2 + .../test_package_docs/ex/Dog/withMacro2.html | 2 + .../ex/Dog/withPrivateMacro.html | 126 ++++++++++++++++++ .../ex/Dog/withUndefinedMacro.html | 126 ++++++++++++++++++ testing/test_package_docs/ex/F-class.html | 20 +++ testing/test_package_docs/ex/F/F.html | 2 + .../ex/F/methodWithGenericParam.html | 2 + testing/test_package_docs/ex/F/test.html | 2 + testing/test_package_docs/index.json | 22 +++ 33 files changed, 370 insertions(+) create mode 100644 testing/test_package_docs/ex/Dog/withPrivateMacro.html create mode 100644 testing/test_package_docs/ex/Dog/withUndefinedMacro.html diff --git a/testing/test_package_docs/ex/Dog-class.html b/testing/test_package_docs/ex/Dog-class.html index c003251a8c..59159ffe7e 100644 --- a/testing/test_package_docs/ex/Dog-class.html +++ b/testing/test_package_docs/ex/Dog-class.html @@ -329,6 +329,24 @@

Methods

Foo macro content +
+
+ withPrivateMacro() + → void + +
+
+ Use a privately defined macro: Private macro content + +
+
+ withUndefinedMacro() + → void + +
+
+ Don't define this: null +
noSuchMethod(Invocation invocation) @@ -466,6 +484,8 @@
class Dog
  • testMethod
  • withMacro
  • withMacro2
  • +
  • withPrivateMacro
  • +
  • withUndefinedMacro
  • noSuchMethod
  • toString
  • diff --git a/testing/test_package_docs/ex/Dog/Dog.deprecatedCreate.html b/testing/test_package_docs/ex/Dog/Dog.deprecatedCreate.html index 5c7afaa125..4c8bf966b1 100644 --- a/testing/test_package_docs/ex/Dog/Dog.deprecatedCreate.html +++ b/testing/test_package_docs/ex/Dog/Dog.deprecatedCreate.html @@ -67,6 +67,8 @@
    class Dog
  • testMethod
  • withMacro
  • withMacro2
  • +
  • withPrivateMacro
  • +
  • withUndefinedMacro
  • noSuchMethod
  • toString
  • diff --git a/testing/test_package_docs/ex/Dog/Dog.html b/testing/test_package_docs/ex/Dog/Dog.html index f500737377..b62b254985 100644 --- a/testing/test_package_docs/ex/Dog/Dog.html +++ b/testing/test_package_docs/ex/Dog/Dog.html @@ -67,6 +67,8 @@
    class Dog
  • testMethod
  • withMacro
  • withMacro2
  • +
  • withPrivateMacro
  • +
  • withUndefinedMacro
  • noSuchMethod
  • toString
  • diff --git a/testing/test_package_docs/ex/Dog/aFinalField.html b/testing/test_package_docs/ex/Dog/aFinalField.html index f6faad0756..6c1711356b 100644 --- a/testing/test_package_docs/ex/Dog/aFinalField.html +++ b/testing/test_package_docs/ex/Dog/aFinalField.html @@ -67,6 +67,8 @@
    class Dog
  • testMethod
  • withMacro
  • withMacro2
  • +
  • withPrivateMacro
  • +
  • withUndefinedMacro
  • noSuchMethod
  • toString
  • diff --git a/testing/test_package_docs/ex/Dog/aGetterReturningRandomThings.html b/testing/test_package_docs/ex/Dog/aGetterReturningRandomThings.html index 7087d3949f..4019d97faa 100644 --- a/testing/test_package_docs/ex/Dog/aGetterReturningRandomThings.html +++ b/testing/test_package_docs/ex/Dog/aGetterReturningRandomThings.html @@ -67,6 +67,8 @@
    class Dog
  • testMethod
  • withMacro
  • withMacro2
  • +
  • withPrivateMacro
  • +
  • withUndefinedMacro
  • noSuchMethod
  • toString
  • diff --git a/testing/test_package_docs/ex/Dog/aName-constant.html b/testing/test_package_docs/ex/Dog/aName-constant.html index ca94732224..4daee828b6 100644 --- a/testing/test_package_docs/ex/Dog/aName-constant.html +++ b/testing/test_package_docs/ex/Dog/aName-constant.html @@ -67,6 +67,8 @@
    class Dog
  • testMethod
  • withMacro
  • withMacro2
  • +
  • withPrivateMacro
  • +
  • withUndefinedMacro
  • noSuchMethod
  • toString
  • diff --git a/testing/test_package_docs/ex/Dog/aProtectedFinalField.html b/testing/test_package_docs/ex/Dog/aProtectedFinalField.html index 4d391dc41a..9250cefef5 100644 --- a/testing/test_package_docs/ex/Dog/aProtectedFinalField.html +++ b/testing/test_package_docs/ex/Dog/aProtectedFinalField.html @@ -67,6 +67,8 @@
    class Dog
  • testMethod
  • withMacro
  • withMacro2
  • +
  • withPrivateMacro
  • +
  • withUndefinedMacro
  • noSuchMethod
  • toString
  • diff --git a/testing/test_package_docs/ex/Dog/aStaticConstField-constant.html b/testing/test_package_docs/ex/Dog/aStaticConstField-constant.html index 7862dfaf02..06fca5af91 100644 --- a/testing/test_package_docs/ex/Dog/aStaticConstField-constant.html +++ b/testing/test_package_docs/ex/Dog/aStaticConstField-constant.html @@ -67,6 +67,8 @@
    class Dog
  • testMethod
  • withMacro
  • withMacro2
  • +
  • withPrivateMacro
  • +
  • withUndefinedMacro
  • noSuchMethod
  • toString
  • diff --git a/testing/test_package_docs/ex/Dog/abstractMethod.html b/testing/test_package_docs/ex/Dog/abstractMethod.html index 65cda5b2cc..fac9996a08 100644 --- a/testing/test_package_docs/ex/Dog/abstractMethod.html +++ b/testing/test_package_docs/ex/Dog/abstractMethod.html @@ -67,6 +67,8 @@
    class Dog
  • testMethod
  • withMacro
  • withMacro2
  • +
  • withPrivateMacro
  • +
  • withUndefinedMacro
  • noSuchMethod
  • toString
  • diff --git a/testing/test_package_docs/ex/Dog/createDog.html b/testing/test_package_docs/ex/Dog/createDog.html index 3f40bc1acc..27a6c88580 100644 --- a/testing/test_package_docs/ex/Dog/createDog.html +++ b/testing/test_package_docs/ex/Dog/createDog.html @@ -67,6 +67,8 @@
    class Dog
  • testMethod
  • withMacro
  • withMacro2
  • +
  • withPrivateMacro
  • +
  • withUndefinedMacro
  • noSuchMethod
  • toString
  • diff --git a/testing/test_package_docs/ex/Dog/deprecatedField.html b/testing/test_package_docs/ex/Dog/deprecatedField.html index 852bd4eac9..4b0ccd9213 100644 --- a/testing/test_package_docs/ex/Dog/deprecatedField.html +++ b/testing/test_package_docs/ex/Dog/deprecatedField.html @@ -67,6 +67,8 @@
    class Dog
  • testMethod
  • withMacro
  • withMacro2
  • +
  • withPrivateMacro
  • +
  • withUndefinedMacro
  • noSuchMethod
  • toString
  • diff --git a/testing/test_package_docs/ex/Dog/deprecatedGetter.html b/testing/test_package_docs/ex/Dog/deprecatedGetter.html index 6f612b19c7..770b354d08 100644 --- a/testing/test_package_docs/ex/Dog/deprecatedGetter.html +++ b/testing/test_package_docs/ex/Dog/deprecatedGetter.html @@ -67,6 +67,8 @@
    class Dog
  • testMethod
  • withMacro
  • withMacro2
  • +
  • withPrivateMacro
  • +
  • withUndefinedMacro
  • noSuchMethod
  • toString
  • diff --git a/testing/test_package_docs/ex/Dog/deprecatedSetter.html b/testing/test_package_docs/ex/Dog/deprecatedSetter.html index 1abe465b9b..705ba96359 100644 --- a/testing/test_package_docs/ex/Dog/deprecatedSetter.html +++ b/testing/test_package_docs/ex/Dog/deprecatedSetter.html @@ -67,6 +67,8 @@
    class Dog
  • testMethod
  • withMacro
  • withMacro2
  • +
  • withPrivateMacro
  • +
  • withUndefinedMacro
  • noSuchMethod
  • toString
  • diff --git a/testing/test_package_docs/ex/Dog/foo.html b/testing/test_package_docs/ex/Dog/foo.html index 682db4c7cc..7d7b15320c 100644 --- a/testing/test_package_docs/ex/Dog/foo.html +++ b/testing/test_package_docs/ex/Dog/foo.html @@ -67,6 +67,8 @@
    class Dog
  • testMethod
  • withMacro
  • withMacro2
  • +
  • withPrivateMacro
  • +
  • withUndefinedMacro
  • noSuchMethod
  • toString
  • diff --git a/testing/test_package_docs/ex/Dog/getAnotherClassD.html b/testing/test_package_docs/ex/Dog/getAnotherClassD.html index f97cc6e3e7..9934749581 100644 --- a/testing/test_package_docs/ex/Dog/getAnotherClassD.html +++ b/testing/test_package_docs/ex/Dog/getAnotherClassD.html @@ -67,6 +67,8 @@
    class Dog
  • testMethod
  • withMacro
  • withMacro2
  • +
  • withPrivateMacro
  • +
  • withUndefinedMacro
  • noSuchMethod
  • toString
  • diff --git a/testing/test_package_docs/ex/Dog/getClassA.html b/testing/test_package_docs/ex/Dog/getClassA.html index 79b12e3589..7430ae4174 100644 --- a/testing/test_package_docs/ex/Dog/getClassA.html +++ b/testing/test_package_docs/ex/Dog/getClassA.html @@ -67,6 +67,8 @@
    class Dog
  • testMethod
  • withMacro
  • withMacro2
  • +
  • withPrivateMacro
  • +
  • withUndefinedMacro
  • noSuchMethod
  • toString
  • diff --git a/testing/test_package_docs/ex/Dog/isImplemented.html b/testing/test_package_docs/ex/Dog/isImplemented.html index 49ceee66e5..af62f5df29 100644 --- a/testing/test_package_docs/ex/Dog/isImplemented.html +++ b/testing/test_package_docs/ex/Dog/isImplemented.html @@ -67,6 +67,8 @@
    class Dog
  • testMethod
  • withMacro
  • withMacro2
  • +
  • withPrivateMacro
  • +
  • withUndefinedMacro
  • noSuchMethod
  • toString
  • diff --git a/testing/test_package_docs/ex/Dog/name.html b/testing/test_package_docs/ex/Dog/name.html index 73e73d286f..b6e76fe49a 100644 --- a/testing/test_package_docs/ex/Dog/name.html +++ b/testing/test_package_docs/ex/Dog/name.html @@ -67,6 +67,8 @@
    class Dog
  • testMethod
  • withMacro
  • withMacro2
  • +
  • withPrivateMacro
  • +
  • withUndefinedMacro
  • noSuchMethod
  • toString
  • diff --git a/testing/test_package_docs/ex/Dog/operator_equals.html b/testing/test_package_docs/ex/Dog/operator_equals.html index 19193ae86c..02e9057561 100644 --- a/testing/test_package_docs/ex/Dog/operator_equals.html +++ b/testing/test_package_docs/ex/Dog/operator_equals.html @@ -67,6 +67,8 @@
    class Dog
  • testMethod
  • withMacro
  • withMacro2
  • +
  • withPrivateMacro
  • +
  • withUndefinedMacro
  • noSuchMethod
  • toString
  • diff --git a/testing/test_package_docs/ex/Dog/somethingTasty.html b/testing/test_package_docs/ex/Dog/somethingTasty.html index cf3b7956d3..f04209c6f8 100644 --- a/testing/test_package_docs/ex/Dog/somethingTasty.html +++ b/testing/test_package_docs/ex/Dog/somethingTasty.html @@ -67,6 +67,8 @@
    class Dog
  • testMethod
  • withMacro
  • withMacro2
  • +
  • withPrivateMacro
  • +
  • withUndefinedMacro
  • noSuchMethod
  • toString
  • diff --git a/testing/test_package_docs/ex/Dog/staticGetterSetter.html b/testing/test_package_docs/ex/Dog/staticGetterSetter.html index 8e0f94cd00..559f6b23f5 100644 --- a/testing/test_package_docs/ex/Dog/staticGetterSetter.html +++ b/testing/test_package_docs/ex/Dog/staticGetterSetter.html @@ -67,6 +67,8 @@
    class Dog
  • testMethod
  • withMacro
  • withMacro2
  • +
  • withPrivateMacro
  • +
  • withUndefinedMacro
  • noSuchMethod
  • toString
  • diff --git a/testing/test_package_docs/ex/Dog/testGeneric.html b/testing/test_package_docs/ex/Dog/testGeneric.html index de1cac47da..1984debd35 100644 --- a/testing/test_package_docs/ex/Dog/testGeneric.html +++ b/testing/test_package_docs/ex/Dog/testGeneric.html @@ -67,6 +67,8 @@
    class Dog
  • testMethod
  • withMacro
  • withMacro2
  • +
  • withPrivateMacro
  • +
  • withUndefinedMacro
  • noSuchMethod
  • toString
  • diff --git a/testing/test_package_docs/ex/Dog/testGenericMethod.html b/testing/test_package_docs/ex/Dog/testGenericMethod.html index 6e69480fe2..fa11766926 100644 --- a/testing/test_package_docs/ex/Dog/testGenericMethod.html +++ b/testing/test_package_docs/ex/Dog/testGenericMethod.html @@ -67,6 +67,8 @@
    class Dog
  • testMethod
  • withMacro
  • withMacro2
  • +
  • withPrivateMacro
  • +
  • withUndefinedMacro
  • noSuchMethod
  • toString
  • diff --git a/testing/test_package_docs/ex/Dog/testMethod.html b/testing/test_package_docs/ex/Dog/testMethod.html index a664861bfd..d1205c3c38 100644 --- a/testing/test_package_docs/ex/Dog/testMethod.html +++ b/testing/test_package_docs/ex/Dog/testMethod.html @@ -67,6 +67,8 @@
    class Dog
  • testMethod
  • withMacro
  • withMacro2
  • +
  • withPrivateMacro
  • +
  • withUndefinedMacro
  • noSuchMethod
  • toString
  • diff --git a/testing/test_package_docs/ex/Dog/withMacro.html b/testing/test_package_docs/ex/Dog/withMacro.html index df3db133ef..f873095f29 100644 --- a/testing/test_package_docs/ex/Dog/withMacro.html +++ b/testing/test_package_docs/ex/Dog/withMacro.html @@ -67,6 +67,8 @@
    class Dog
  • testMethod
  • withMacro
  • withMacro2
  • +
  • withPrivateMacro
  • +
  • withUndefinedMacro
  • noSuchMethod
  • toString
  • diff --git a/testing/test_package_docs/ex/Dog/withMacro2.html b/testing/test_package_docs/ex/Dog/withMacro2.html index cc85f23653..85d42cd863 100644 --- a/testing/test_package_docs/ex/Dog/withMacro2.html +++ b/testing/test_package_docs/ex/Dog/withMacro2.html @@ -67,6 +67,8 @@
    class Dog
  • testMethod
  • withMacro
  • withMacro2
  • +
  • withPrivateMacro
  • +
  • withUndefinedMacro
  • noSuchMethod
  • toString
  • diff --git a/testing/test_package_docs/ex/Dog/withPrivateMacro.html b/testing/test_package_docs/ex/Dog/withPrivateMacro.html new file mode 100644 index 0000000000..2902fd6c16 --- /dev/null +++ b/testing/test_package_docs/ex/Dog/withPrivateMacro.html @@ -0,0 +1,126 @@ + + + + + + + + withPrivateMacro method - Dog class - ex library - Dart API + + + + + + + + + + + + +
    + +
    + + +
    withPrivateMacro
    + +
    + +
    + + + +
    +
    + void + withPrivateMacro() +
    +
    +

    Use a privately defined macro: Private macro content

    +
    + + + +
    + + + +
    + +
    + + test_package 0.0.1 + + +
    + + + + + + + + + + + diff --git a/testing/test_package_docs/ex/Dog/withUndefinedMacro.html b/testing/test_package_docs/ex/Dog/withUndefinedMacro.html new file mode 100644 index 0000000000..451ca09ca5 --- /dev/null +++ b/testing/test_package_docs/ex/Dog/withUndefinedMacro.html @@ -0,0 +1,126 @@ + + + + + + + + withUndefinedMacro method - Dog class - ex library - Dart API + + + + + + + + + + + + +
    + +
    + + +
    withUndefinedMacro
    + +
    + +
    + + + +
    +
    + void + withUndefinedMacro() +
    +
    +

    Don't define this: null

    +
    + + + +
    + + + +
    + +
    + + test_package 0.0.1 + + +
    + + + + + + + + + + + diff --git a/testing/test_package_docs/ex/F-class.html b/testing/test_package_docs/ex/F-class.html index 9f8d30ad9c..71051fc5e9 100644 --- a/testing/test_package_docs/ex/F-class.html +++ b/testing/test_package_docs/ex/F-class.html @@ -343,6 +343,24 @@

    Methods

    Foo macro content
    inherited
    +
    +
    + withPrivateMacro() + → void + +
    +
    + Use a privately defined macro: Private macro content +
    inherited
    +
    +
    + withUndefinedMacro() + → void + +
    +
    + Don't define this: null +
    inherited
    @@ -401,6 +419,8 @@
    class F
  • toString
  • withMacro
  • withMacro2
  • +
  • withPrivateMacro
  • +
  • withUndefinedMacro
  • Operators
  • operator ==
  • diff --git a/testing/test_package_docs/ex/F/F.html b/testing/test_package_docs/ex/F/F.html index 9657cd34f8..5b1c496be5 100644 --- a/testing/test_package_docs/ex/F/F.html +++ b/testing/test_package_docs/ex/F/F.html @@ -70,6 +70,8 @@
    class F
  • toString
  • withMacro
  • withMacro2
  • +
  • withPrivateMacro
  • +
  • withUndefinedMacro
  • Operators
  • operator ==
  • diff --git a/testing/test_package_docs/ex/F/methodWithGenericParam.html b/testing/test_package_docs/ex/F/methodWithGenericParam.html index 2b061637e4..e74528f462 100644 --- a/testing/test_package_docs/ex/F/methodWithGenericParam.html +++ b/testing/test_package_docs/ex/F/methodWithGenericParam.html @@ -70,6 +70,8 @@
    class F
  • toString
  • withMacro
  • withMacro2
  • +
  • withPrivateMacro
  • +
  • withUndefinedMacro
  • Operators
  • operator ==
  • diff --git a/testing/test_package_docs/ex/F/test.html b/testing/test_package_docs/ex/F/test.html index 8cd35daa01..70c6f3a263 100644 --- a/testing/test_package_docs/ex/F/test.html +++ b/testing/test_package_docs/ex/F/test.html @@ -70,6 +70,8 @@
    class F
  • toString
  • withMacro
  • withMacro2
  • +
  • withPrivateMacro
  • +
  • withUndefinedMacro
  • Operators
  • operator ==
  • diff --git a/testing/test_package_docs/index.json b/testing/test_package_docs/index.json index b4d56ed812..a0af904d06 100644 --- a/testing/test_package_docs/index.json +++ b/testing/test_package_docs/index.json @@ -1277,6 +1277,28 @@ "type": "class" } }, + { + "name": "withPrivateMacro", + "qualifiedName": "ex.Dog.withPrivateMacro", + "href": "ex/Dog/withPrivateMacro.html", + "type": "method", + "overriddenDepth": 0, + "enclosedBy": { + "name": "Dog", + "type": "class" + } + }, + { + "name": "withUndefinedMacro", + "qualifiedName": "ex.Dog.withUndefinedMacro", + "href": "ex/Dog/withUndefinedMacro.html", + "type": "method", + "overriddenDepth": 0, + "enclosedBy": { + "name": "Dog", + "type": "class" + } + }, { "name": "E", "qualifiedName": "ex.E", From 9a3016fd5e11ccd30948e10928aa77886fc25527 Mon Sep 17 00:00:00 2001 From: Janice Collins Date: Wed, 3 Jan 2018 11:48:33 -0800 Subject: [PATCH 3/4] dartfmt --- lib/src/model.dart | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/src/model.dart b/lib/src/model.dart index 24f3d6bb4f..0f0064eeda 100644 --- a/lib/src/model.dart +++ b/lib/src/model.dart @@ -2859,7 +2859,8 @@ abstract class ModelElement extends Canonicalization /// Returns the docs, stripped of their leading comments syntax. @override String get documentation { - return _injectMacros(documentationFrom.map((e) => e.documentationLocal).join('

    ')); + return _injectMacros( + documentationFrom.map((e) => e.documentationLocal).join('

    ')); } Library get definingLibrary => package.findOrCreateLibraryFor(element); From 7ca40fb4e9bca552db67b1ea92c1d1b9ec13448b Mon Sep 17 00:00:00 2001 From: Janice Collins Date: Thu, 4 Jan 2018 09:11:24 -0800 Subject: [PATCH 4/4] rebuild test package docs post-merge --- testing/test_package_docs/ex/Dog/withPrivateMacro.html | 7 ++++--- testing/test_package_docs/ex/Dog/withUndefinedMacro.html | 7 ++++--- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/testing/test_package_docs/ex/Dog/withPrivateMacro.html b/testing/test_package_docs/ex/Dog/withPrivateMacro.html index 2902fd6c16..6b4136f08a 100644 --- a/testing/test_package_docs/ex/Dog/withPrivateMacro.html +++ b/testing/test_package_docs/ex/Dog/withPrivateMacro.html @@ -26,7 +26,7 @@

  • test_package
  • ex
  • Dog
  • -
  • method withPrivateMacro
  • +
  • withPrivateMacro method
  • withPrivateMacro