| Index: pkg/docgen/lib/docgen.dart
|
| diff --git a/pkg/docgen/lib/docgen.dart b/pkg/docgen/lib/docgen.dart
|
| index 6f65e8a8b2db98d5b992fc8f1050fd1dd3ce5393..84c46f9552199b1d0dd37a9e6b11754428e39981 100644
|
| --- a/pkg/docgen/lib/docgen.dart
|
| +++ b/pkg/docgen/lib/docgen.dart
|
| @@ -30,7 +30,6 @@ import '../../../sdk/lib/_internal/compiler/implementation/filenames.dart';
|
| import '../../../sdk/lib/_internal/compiler/implementation/mirrors/dart2js_mirror.dart'
|
| as dart2js;
|
| import '../../../sdk/lib/_internal/compiler/implementation/mirrors/mirrors.dart';
|
| -import '../../../sdk/lib/_internal/compiler/implementation/mirrors/mirrors_util.dart';
|
| import '../../../sdk/lib/_internal/compiler/implementation/source_file_provider.dart';
|
| import '../../../sdk/lib/_internal/libraries.dart';
|
|
|
| @@ -48,17 +47,17 @@ ClassMirror _currentClass;
|
| MemberMirror _currentMember;
|
|
|
| /// Support for [:foo:]-style code comments to the markdown parser.
|
| -List<markdown.InlineSyntax> markdownSyntaxes =
|
| +List<markdown.InlineSyntax> markdownSyntaxes =
|
| [new markdown.CodeSyntax(r'\[:\s?((?:.|\n)*?)\s?:\]')];
|
| -
|
| +
|
| /// Resolves reference links in doc comments.
|
| markdown.Resolver linkResolver;
|
|
|
| -/// Index of all indexable items. This also ensures that no class is
|
| -/// created more than once.
|
| +/// Index of all indexable items. This also ensures that no class is
|
| +/// created more than once.
|
| Map<String, Indexable> entityMap = new Map<String, Indexable>();
|
|
|
| -/// This is set from the command line arguments flag --include-private
|
| +/// This is set from the command line arguments flag --include-private
|
| bool _includePrivate = false;
|
|
|
| /**
|
| @@ -81,7 +80,7 @@ Future<bool> docgen(List<String> files, {String packageRoot,
|
| var dir = new Directory('docs');
|
| if (dir.existsSync()) dir.deleteSync(recursive: true);
|
| }
|
| -
|
| +
|
| if (packageRoot == null && !parseSdk) {
|
| var type = FileSystemEntity.typeSync(files.first);
|
| if (type == FileSystemEntityType.DIRECTORY) {
|
| @@ -128,7 +127,7 @@ List<String> _listDartFromDir(String args) {
|
| // containing '/packages' will be added. The only exception is if the file to
|
| // analyze already has a '/package' in its path.
|
| return files.where((f) => f.endsWith('.dart') &&
|
| - (!f.contains('${path.separator}packages') ||
|
| + (!f.contains('${path.separator}packages') ||
|
| args.contains('${path.separator}packages'))).toList()
|
| ..forEach((lib) => logger.info('Added to libraries: $lib'));
|
| }
|
| @@ -182,7 +181,7 @@ Future<MirrorSystem> _analyzeLibraries(List<String> libraries,
|
| Uri libraryUri = new Uri(scheme: 'file', path: appendSlash(libraryRoot));
|
| Uri packageUri = null;
|
| if (packageRoot != null) {
|
| - packageUri = new Uri(scheme: 'file', path: appendSlash(packageRoot));
|
| + packageUri = new Uri(scheme: 'file', path: appendSlash(packageRoot));
|
| }
|
| List<Uri> librariesUri = <Uri>[];
|
| libraries.forEach((library) {
|
| @@ -214,12 +213,12 @@ void _documentLibraries(List<LibraryMirror> libs, {bool includeSdk: false,
|
| }
|
| });
|
| // After everything is created, do a pass through all classes to make sure no
|
| - // intermediate classes created by mixins are included.
|
| + // intermediate classes created by mixins are included.
|
| entityMap.values.where((e) => e is Class).forEach((c) => c.makeValid());
|
| // Everything is a subclass of Object, therefore empty the list to avoid a
|
| // giant list of subclasses to be printed out.
|
| if (parseSdk) entityMap['dart.core.Object'].subclasses.clear();
|
| -
|
| +
|
| var filteredEntities = entityMap.values.where(_isVisible);
|
| // Output libraries and classes to file after all information is generated.
|
| filteredEntities.where((e) => e is Class || e is Library).forEach((output) {
|
| @@ -229,11 +228,11 @@ void _documentLibraries(List<LibraryMirror> libs, {bool includeSdk: false,
|
| // the libraries. This will help the viewer know what libraries are available
|
| // to read in.
|
| _writeToFile(filteredEntities.where((e) => e is Library)
|
| - .map((e) => e.qualifiedName).join('\n'), 'library_list.txt',
|
| + .map((e) => e.qualifiedName).join('\n'), 'library_list.txt',
|
| append: append);
|
| // Outputs all the qualified names documented. This will help generate search
|
| - // results.
|
| - _writeToFile(filteredEntities.map((e) => e.qualifiedName).join('\n'),
|
| + // results.
|
| + _writeToFile(filteredEntities.map((e) => e.qualifiedName).join('\n'),
|
| 'index.txt', append: append);
|
| }
|
|
|
| @@ -256,13 +255,13 @@ void _writeIndexableToFile(Indexable result, bool outputToYaml) {
|
| }
|
|
|
| /**
|
| - * Returns true if a library name starts with an underscore, and false
|
| + * Returns true if a library name starts with an underscore, and false
|
| * otherwise.
|
| - *
|
| + *
|
| * An example that starts with _ is _js_helper.
|
| * An example that contains ._ is dart._collection.dev
|
| */
|
| -// This is because LibraryMirror.isPrivate returns `false` all the time.
|
| +// This is because LibraryMirror.isPrivate returns `false` all the time.
|
| bool _isLibraryPrivate(LibraryMirror mirror) {
|
| if (mirror.simpleName.startsWith('_') || mirror.simpleName.contains('._')) {
|
| return true;
|
| @@ -271,15 +270,15 @@ bool _isLibraryPrivate(LibraryMirror mirror) {
|
| }
|
|
|
| /**
|
| - * A declaration is private if itself is private, or the owner is private.
|
| + * A declaration is private if itself is private, or the owner is private.
|
| */
|
| -// Issue(12202) - A declaration is public even if it's owner is private.
|
| +// Issue(12202) - A declaration is public even if it's owner is private.
|
| bool _isHidden(DeclarationMirror mirror) {
|
| if (mirror is LibraryMirror) {
|
| return _isLibraryPrivate(mirror);
|
| } else if (mirror.owner is LibraryMirror) {
|
| return (mirror.isPrivate || _isLibraryPrivate(mirror.owner));
|
| - } else {
|
| + } else {
|
| return (mirror.isPrivate || _isHidden(mirror.owner));
|
| }
|
| }
|
| @@ -325,8 +324,8 @@ String _commentToHtml(DeclarationMirror mirror) {
|
| }
|
| }
|
| });
|
| -
|
| - commentText = commentText == null ? '' :
|
| +
|
| + commentText = commentText == null ? '' :
|
| markdown.markdownToHtml(commentText.trim(), linkResolver: linkResolver,
|
| inlineSyntaxes: markdownSyntaxes);
|
| return commentText;
|
| @@ -387,22 +386,22 @@ MethodGroup _methods(Map<String, MethodMirror> mirrorMap) {
|
| }
|
| });
|
| return group;
|
| -}
|
| +}
|
|
|
| /**
|
| - * Returns the [Class] for the given [mirror] has already been created, and if
|
| + * Returns the [Class] for the given [mirror] has already been created, and if
|
| * it does not exist, creates it.
|
| */
|
| Class _class(ClassMirror mirror) {
|
| var clazz = entityMap[mirror.qualifiedName];
|
| if (clazz == null) {
|
| - var superclass = mirror.superclass != null ?
|
| + var superclass = mirror.superclass != null ?
|
| _class(mirror.superclass) : null;
|
| - var interfaces =
|
| + var interfaces =
|
| mirror.superinterfaces.map((interface) => _class(interface));
|
| - clazz = new Class(mirror.simpleName, superclass, _commentToHtml(mirror),
|
| + clazz = new Class(mirror.simpleName, superclass, _commentToHtml(mirror),
|
| interfaces.toList(), _variables(mirror.variables),
|
| - _methods(mirror.methods), _annotations(mirror), _generics(mirror),
|
| + _methods(mirror.methods), _annotations(mirror), _generics(mirror),
|
| mirror.qualifiedName, _isHidden(mirror), mirror.owner.qualifiedName);
|
| entityMap[mirror.qualifiedName] = clazz;
|
| }
|
| @@ -414,7 +413,7 @@ Class _class(ClassMirror mirror) {
|
| */
|
| ClassGroup _classes(Map<String, ClassMirror> mirrorMap) {
|
| var group = new ClassGroup();
|
| - mirrorMap.forEach((String mirrorName, ClassMirror mirror) {
|
| + mirrorMap.forEach((String mirrorName, ClassMirror mirror) {
|
| group.addClass(mirror);
|
| });
|
| return group;
|
| @@ -427,33 +426,33 @@ Map<String, Parameter> _parameters(List<ParameterMirror> mirrorList) {
|
| var data = {};
|
| mirrorList.forEach((ParameterMirror mirror) {
|
| _currentMember = mirror;
|
| - data[mirror.simpleName] = new Parameter(mirror.simpleName,
|
| - mirror.isOptional, mirror.isNamed, mirror.hasDefaultValue,
|
| - _type(mirror.type), mirror.defaultValue,
|
| + data[mirror.simpleName] = new Parameter(mirror.simpleName,
|
| + mirror.isOptional, mirror.isNamed, mirror.hasDefaultValue,
|
| + _type(mirror.type), mirror.defaultValue,
|
| _annotations(mirror));
|
| });
|
| return data;
|
| }
|
|
|
| /**
|
| - * Returns a map of [Generic] objects constructed from the class mirror.
|
| + * Returns a map of [Generic] objects constructed from the class mirror.
|
| */
|
| Map<String, Generic> _generics(ClassMirror mirror) {
|
| - return new Map.fromIterable(mirror.typeVariables,
|
| - key: (e) => e.toString(),
|
| + return new Map.fromIterable(mirror.typeVariables,
|
| + key: (e) => e.toString(),
|
| value: (e) => new Generic(e.toString(), e.upperBound.qualifiedName));
|
| }
|
|
|
| /**
|
| - * Returns a single [Type] object constructed from the Method.returnType
|
| - * Type mirror.
|
| + * Returns a single [Type] object constructed from the Method.returnType
|
| + * Type mirror.
|
| */
|
| Type _type(TypeMirror mirror) {
|
| return new Type(mirror.qualifiedName, _typeGenerics(mirror));
|
| }
|
|
|
| /**
|
| - * Returns a list of [Type] objects constructed from TypeMirrors.
|
| + * Returns a list of [Type] objects constructed from TypeMirrors.
|
| */
|
| List<Type> _typeGenerics(TypeMirror mirror) {
|
| if (mirror is ClassMirror && !mirror.isTypedef) {
|
| @@ -497,25 +496,25 @@ Map recurseMap(Map inputMap) {
|
| }
|
|
|
| bool isError(String qualifiedName) {
|
| - return qualifiedName.toLowerCase().contains('error') ||
|
| + return qualifiedName.toLowerCase().contains('error') ||
|
| qualifiedName.toLowerCase().contains('exception');
|
| }
|
|
|
| /**
|
| - * A class representing all programming constructs, like library or class.
|
| + * A class representing all programming constructs, like library or class.
|
| */
|
| class Indexable {
|
| String name;
|
| String qualifiedName;
|
| bool isPrivate;
|
| -
|
| +
|
| /// Documentation comment with converted markdown.
|
| String comment;
|
| -
|
| +
|
| /// Qualified Name of the owner of this Indexable Item.
|
| - /// For Library, owner will be "";
|
| + /// For Library, owner will be "";
|
| String owner;
|
| -
|
| +
|
| Indexable(this.name, this.comment, this.qualifiedName, this.isPrivate,
|
| this.owner);
|
| }
|
| @@ -530,12 +529,12 @@ class Library extends Indexable {
|
|
|
| /// Top-level functions in the library.
|
| MethodGroup functions;
|
| -
|
| +
|
| /// Classes defined within the library
|
| ClassGroup classes;
|
|
|
| Library(String name, String comment, this.variables,
|
| - this.functions, this.classes, bool isPrivate) : super(name, comment,
|
| + this.functions, this.classes, bool isPrivate) : super(name, comment,
|
| name, isPrivate, "") {}
|
|
|
| /// Generates a map describing the [Library] object.
|
| @@ -556,48 +555,48 @@ class Class extends Indexable {
|
|
|
| /// List of the names of interfaces that this class implements.
|
| List<Class> interfaces = [];
|
| -
|
| - /// Names of classes that extends or implements this class.
|
| +
|
| + /// Names of classes that extends or implements this class.
|
| Set<String> subclasses = new Set<String>();
|
|
|
| /// Top-level variables in the class.
|
| Map<String, Variable> variables;
|
| -
|
| +
|
| /// Inherited variables in the class.
|
| Map<String, Variable> inheritedVariables = {};
|
|
|
| /// Methods in the class.
|
| MethodGroup methods;
|
| -
|
| +
|
| /// Inherited methods in the class.
|
| MethodGroup inheritedMethods = new MethodGroup();
|
| -
|
| - /// Generic infomation about the class.
|
| +
|
| + /// Generic infomation about the class.
|
| Map<String, Generic> generics;
|
| -
|
| +
|
| Class superclass;
|
|
|
| /// List of the meta annotations on the class.
|
| List<String> annotations;
|
| -
|
| - Class(String name, this.superclass, String comment, this.interfaces,
|
| +
|
| + Class(String name, this.superclass, String comment, this.interfaces,
|
| this.variables, this.methods, this.annotations, this.generics,
|
| String qualifiedName, bool isPrivate, String owner) : super(name, comment,
|
| qualifiedName, isPrivate, owner) {}
|
|
|
| /**
|
| - * Returns a list of all the parent classes.
|
| + * Returns a list of all the parent classes.
|
| */
|
| List<Class> parent() {
|
| var parent = superclass == null ? [] : [superclass];
|
| parent.addAll(interfaces);
|
| return parent;
|
| }
|
| -
|
| +
|
| /**
|
| * Add all inherited variables and methods from the provided superclass.
|
| - * If [_includePrivate] is true, it also adds the variables and methods from
|
| - * the superclass.
|
| + * If [_includePrivate] is true, it also adds the variables and methods from
|
| + * the superclass.
|
| */
|
| void addInherited(Class superclass) {
|
| inheritedVariables.addAll(superclass.inheritedVariables);
|
| @@ -606,12 +605,12 @@ class Class extends Indexable {
|
| }
|
| inheritedMethods.addInherited(superclass);
|
| }
|
| -
|
| +
|
| /**
|
| - * Add the subclass to the class.
|
| - *
|
| + * Add the subclass to the class.
|
| + *
|
| * If [this] is private, it will add the subclass to the list of subclasses in
|
| - * the superclasses.
|
| + * the superclasses.
|
| */
|
| void addSubclass(Class subclass) {
|
| if (!_includePrivate && isPrivate) {
|
| @@ -623,28 +622,28 @@ class Class extends Indexable {
|
| subclasses.add(subclass.qualifiedName);
|
| }
|
| }
|
| -
|
| +
|
| /**
|
| * Check that the class exists in the owner library.
|
| - *
|
| - * If it does not exist in the owner library, it is a mixin applciation and
|
| - * should be removed.
|
| + *
|
| + * If it does not exist in the owner library, it is a mixin applciation and
|
| + * should be removed.
|
| */
|
| void makeValid() {
|
| var library = entityMap[owner];
|
| if (library != null && !library.classes.containsKey(name)) {
|
| this.isPrivate = true;
|
| - // Since we are now making the mixin a private class, make all elements
|
| - // with the mixin as an owner private too.
|
| + // Since we are now making the mixin a private class, make all elements
|
| + // with the mixin as an owner private too.
|
| entityMap.values.where((e) => e.owner == qualifiedName)
|
| .forEach((element) => element.isPrivate = true);
|
| // Move the subclass up to the next public superclass
|
| subclasses.forEach((subclass) => addSubclass(entityMap[subclass]));
|
| }
|
| }
|
| -
|
| +
|
| /**
|
| - * Makes sure that all methods with inherited equivalents have comments.
|
| + * Makes sure that all methods with inherited equivalents have comments.
|
| */
|
| void ensureComments() {
|
| inheritedMethods.forEach((qualifiedName, inheritedMethod) {
|
| @@ -652,17 +651,17 @@ class Class extends Indexable {
|
| if (method != null) method.ensureCommentFor(inheritedMethod);
|
| });
|
| }
|
| -
|
| - /**
|
| +
|
| + /**
|
| * If a class extends a private superclass, find the closest public superclass
|
| - * of the private superclass.
|
| + * of the private superclass.
|
| */
|
| String validSuperclass() {
|
| if (superclass == null) return 'dart.core.Object';
|
| if (_isVisible(superclass)) return superclass.qualifiedName;
|
| return superclass.validSuperclass();
|
| }
|
| -
|
| +
|
| /// Generates a map describing the [Class] object.
|
| Map toMap() => {
|
| 'name': name,
|
| @@ -682,20 +681,20 @@ class Class extends Indexable {
|
| }
|
|
|
| /**
|
| - * A container to categorize classes into the following groups: abstract
|
| - * classes, regular classes, typedefs, and errors.
|
| + * A container to categorize classes into the following groups: abstract
|
| + * classes, regular classes, typedefs, and errors.
|
| */
|
| class ClassGroup {
|
| Map<String, Class> abstractClasses = {};
|
| Map<String, Class> regularClasses = {};
|
| Map<String, Typedef> typedefs = {};
|
| Map<String, Class> errors = {};
|
| -
|
| +
|
| void addClass(ClassMirror mirror) {
|
| _currentClass = mirror;
|
| var clazz = _class(mirror);
|
| -
|
| - // Adding inherited parent variables and methods.
|
| +
|
| + // Adding inherited parent variables and methods.
|
| clazz.parent().forEach((parent) {
|
| if (_isVisible(clazz)) {
|
| parent.addSubclass(clazz);
|
| @@ -704,15 +703,15 @@ class ClassGroup {
|
| });
|
|
|
| clazz.ensureComments();
|
| -
|
| +
|
| if (isError(mirror.qualifiedName)) {
|
| errors[mirror.simpleName] = clazz;
|
| } else if (mirror.isTypedef) {
|
| if (_includePrivate || !mirror.isPrivate) {
|
| - entityMap[mirror.qualifiedName] = new Typedef(mirror.simpleName,
|
| - mirror.value.returnType.qualifiedName, _commentToHtml(mirror),
|
| + entityMap[mirror.qualifiedName] = new Typedef(mirror.simpleName,
|
| + mirror.value.returnType.qualifiedName, _commentToHtml(mirror),
|
| _generics(mirror), _parameters(mirror.value.parameters),
|
| - _annotations(mirror), mirror.qualifiedName, _isHidden(mirror),
|
| + _annotations(mirror), mirror.qualifiedName, _isHidden(mirror),
|
| mirror.owner.qualifiedName);
|
| typedefs[mirror.simpleName] = entityMap[mirror.qualifiedName];
|
| }
|
| @@ -724,16 +723,16 @@ class ClassGroup {
|
| throw new ArgumentError('${mirror.simpleName} - no class type match. ');
|
| }
|
| }
|
| -
|
| +
|
| /**
|
| - * Checks if the given name is a key for any of the Class Maps.
|
| + * Checks if the given name is a key for any of the Class Maps.
|
| */
|
| bool containsKey(String name) {
|
| return abstractClasses.containsKey(name) ||
|
| regularClasses.containsKey(name) ||
|
| errors.containsKey(name);
|
| }
|
| -
|
| +
|
| Map toMap() => {
|
| 'abstract': abstractClasses.values.where(_isVisible)
|
| .map((e) => e.qualifiedName).toList(),
|
| @@ -747,20 +746,20 @@ class ClassGroup {
|
|
|
| class Typedef extends Indexable {
|
| String returnType;
|
| -
|
| +
|
| Map<String, Parameter> parameters;
|
| -
|
| - /// Generic information about the typedef.
|
| +
|
| + /// Generic information about the typedef.
|
| Map<String, Generic> generics;
|
| -
|
| - /// List of the meta annotations on the typedef.
|
| +
|
| + /// List of the meta annotations on the typedef.
|
| List<String> annotations;
|
| -
|
| - Typedef(String name, this.returnType, String comment, this.generics,
|
| +
|
| + Typedef(String name, this.returnType, String comment, this.generics,
|
| this.parameters, this.annotations,
|
| String qualifiedName, bool isPrivate, String owner) : super(name, comment,
|
| qualifiedName, isPrivate, owner) {}
|
| -
|
| +
|
| Map toMap() => {
|
| 'name': name,
|
| 'qualifiedname': qualifiedName,
|
| @@ -784,11 +783,11 @@ class Variable extends Indexable {
|
|
|
| /// List of the meta annotations on the variable.
|
| List<String> annotations;
|
| -
|
| - Variable(String name, this.isFinal, this.isStatic, this.isConst, this.type,
|
| +
|
| + Variable(String name, this.isFinal, this.isStatic, this.isConst, this.type,
|
| String comment, this.annotations, String qualifiedName, bool isPrivate,
|
| String owner) : super(name, comment, qualifiedName, isPrivate, owner);
|
| -
|
| +
|
| /// Generates a map describing the [Variable] object.
|
| Map toMap() => {
|
| 'name': name,
|
| @@ -814,29 +813,29 @@ class Method extends Indexable {
|
| bool isAbstract;
|
| bool isConst;
|
| Type returnType;
|
| -
|
| - /// Qualified name to state where the comment is inherited from.
|
| +
|
| + /// Qualified name to state where the comment is inherited from.
|
| String commentInheritedFrom = "";
|
| -
|
| +
|
| /// List of the meta annotations on the method.
|
| List<String> annotations;
|
| -
|
| - Method(String name, this.isStatic, this.isAbstract, this.isConst,
|
| +
|
| + Method(String name, this.isStatic, this.isAbstract, this.isConst,
|
| this.returnType, String comment, this.parameters, this.annotations,
|
| String qualifiedName, bool isPrivate, String owner) : super(name, comment,
|
| qualifiedName, isPrivate, owner);
|
| -
|
| +
|
| /**
|
| - * Makes sure that the method with an inherited equivalent have comments.
|
| + * Makes sure that the method with an inherited equivalent have comments.
|
| */
|
| void ensureCommentFor(Method inheritedMethod) {
|
| if (comment.isNotEmpty) return;
|
| entityMap[inheritedMethod.owner].ensureComments();
|
| comment = inheritedMethod.comment;
|
| - commentInheritedFrom = inheritedMethod.commentInheritedFrom == '' ?
|
| + commentInheritedFrom = inheritedMethod.commentInheritedFrom == '' ?
|
| inheritedMethod.qualifiedName : inheritedMethod.commentInheritedFrom;
|
| }
|
| -
|
| +
|
| /// Generates a map describing the [Method] object.
|
| Map toMap() => {
|
| 'name': name,
|
| @@ -853,8 +852,8 @@ class Method extends Indexable {
|
| }
|
|
|
| /**
|
| - * A container to categorize methods into the following groups: setters,
|
| - * getters, constructors, operators, regular methods.
|
| + * A container to categorize methods into the following groups: setters,
|
| + * getters, constructors, operators, regular methods.
|
| */
|
| class MethodGroup {
|
| Map<String, Method> setters = {};
|
| @@ -862,11 +861,11 @@ class MethodGroup {
|
| Map<String, Method> constructors = {};
|
| Map<String, Method> operators = {};
|
| Map<String, Method> regularMethods = {};
|
| -
|
| +
|
| void addMethod(MethodMirror mirror) {
|
| - var method = new Method(mirror.simpleName, mirror.isStatic,
|
| - mirror.isAbstract, mirror.isConstConstructor, _type(mirror.returnType),
|
| - _commentToHtml(mirror), _parameters(mirror.parameters),
|
| + var method = new Method(mirror.simpleName, mirror.isStatic,
|
| + mirror.isAbstract, mirror.isConstConstructor, _type(mirror.returnType),
|
| + _commentToHtml(mirror), _parameters(mirror.parameters),
|
| _annotations(mirror), mirror.qualifiedName, _isHidden(mirror),
|
| mirror.owner.qualifiedName);
|
| entityMap[mirror.qualifiedName] = method;
|
| @@ -885,7 +884,7 @@ class MethodGroup {
|
| throw new ArgumentError('${mirror.simpleName} - no method type match');
|
| }
|
| }
|
| -
|
| +
|
| void addInherited(Class parent) {
|
| setters.addAll(parent.inheritedMethods.setters);
|
| getters.addAll(parent.inheritedMethods.getters);
|
| @@ -898,7 +897,7 @@ class MethodGroup {
|
| regularMethods.addAll(parent.methods.regularMethods);
|
| }
|
| }
|
| -
|
| +
|
| Map toMap() => {
|
| 'setters': recurseMap(setters),
|
| 'getters': recurseMap(getters),
|
| @@ -913,7 +912,7 @@ class MethodGroup {
|
| if (operators.containsKey(qualifiedName)) return operators[qualifiedName];
|
| if (regularMethods.containsKey(qualifiedName)) {
|
| return regularMethods[qualifiedName];
|
| - }
|
| + }
|
| return null;
|
| }
|
|
|
| @@ -939,10 +938,10 @@ class Parameter {
|
|
|
| /// List of the meta annotations on the parameter.
|
| List<String> annotations;
|
| -
|
| - Parameter(this.name, this.isOptional, this.isNamed, this.hasDefaultValue,
|
| +
|
| + Parameter(this.name, this.isOptional, this.isNamed, this.hasDefaultValue,
|
| this.type, this.defaultValue, this.annotations);
|
| -
|
| +
|
| /// Generates a map describing the [Parameter] object.
|
| Map toMap() => {
|
| 'name': name,
|
| @@ -956,14 +955,14 @@ class Parameter {
|
| }
|
|
|
| /**
|
| - * A class containing properties of a Generic.
|
| + * A class containing properties of a Generic.
|
| */
|
| class Generic {
|
| String name;
|
| String type;
|
| -
|
| +
|
| Generic(this.name, this.type);
|
| -
|
| +
|
| Map toMap() => {
|
| 'name': name,
|
| 'type': type
|
| @@ -972,25 +971,25 @@ class Generic {
|
|
|
| /**
|
| * Holds the name of a return type, and its generic type parameters.
|
| - *
|
| + *
|
| * Return types are of a form [outer]<[inner]>.
|
| - * If there is no [inner] part, [inner] will be an empty list.
|
| - *
|
| + * If there is no [inner] part, [inner] will be an empty list.
|
| + *
|
| * For example:
|
| - * int size()
|
| - * "return" :
|
| + * int size()
|
| + * "return" :
|
| * - "outer" : "dart.core.int"
|
| * "inner" :
|
| - *
|
| + *
|
| * List<String> toList()
|
| * "return" :
|
| * - "outer" : "dart.core.List"
|
| - * "inner" :
|
| + * "inner" :
|
| * - "outer" : "dart.core.String"
|
| * "inner" :
|
| - *
|
| + *
|
| * Map<String, List<int>>
|
| - * "return" :
|
| + * "return" :
|
| * - "outer" : "dart.core.Map"
|
| * "inner" :
|
| * - "outer" : "dart.core.String"
|
| @@ -1003,9 +1002,9 @@ class Generic {
|
| class Type {
|
| String outer;
|
| List<Type> inner;
|
| -
|
| +
|
| Type(this.outer, this.inner);
|
| -
|
| +
|
| Map toMap() => {
|
| 'outer': outer,
|
| 'inner': inner.map((e) => e.toMap()).toList()
|
| @@ -1013,14 +1012,14 @@ class Type {
|
| }
|
|
|
| /**
|
| - * Holds the name of the annotation, and its parameters.
|
| + * Holds the name of the annotation, and its parameters.
|
| */
|
| class Annotation {
|
| String qualifiedName;
|
| - List<String> parameters;
|
| -
|
| + List<String> parameters;
|
| +
|
| Annotation(this.qualifiedName, this.parameters);
|
| -
|
| +
|
| Map toMap() => {
|
| 'name': qualifiedName,
|
| 'parameters': parameters
|
|
|