Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(43)

Side by Side Diff: utils/apidoc/apidoc.dart

Issue 10779010: Parameters with function types supported + Added features in mirrors implementation (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Updated cf. comments + mdn bug fixed. Created 8 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 /** 5 /**
6 * This generates the reference documentation for the core libraries that come 6 * This generates the reference documentation for the core libraries that come
7 * with dart. It is built on top of dartdoc, which is a general-purpose library 7 * with dart. It is built on top of dartdoc, which is a general-purpose library
8 * for generating docs from any Dart code. This library extends that to include 8 * for generating docs from any Dart code. This library extends that to include
9 * additional information and styling specific to our standard library. 9 * additional information and styling specific to our standard library.
10 * 10 *
(...skipping 470 matching lines...) Expand 10 before | Expand all | Expand 10 after
481 481
482 /** 482 /**
483 * Gets the MDN-scraped docs for [member], or `null` if this type isn't 483 * Gets the MDN-scraped docs for [member], or `null` if this type isn't
484 * scraped from MDN. 484 * scraped from MDN.
485 */ 485 */
486 includeMdnMemberComment(MemberMirror member) { 486 includeMdnMemberComment(MemberMirror member) {
487 var library = findLibrary(member); 487 var library = findLibrary(member);
488 if (library.simpleName() == 'html') { 488 if (library.simpleName() == 'html') {
489 // If it's an HTML type, try to map it to a base DOM type so we can find 489 // If it's an HTML type, try to map it to a base DOM type so we can find
490 // the MDN docs. 490 // the MDN docs.
491 final domMembers = _diff.htmlToDom[member]; 491 final domMembers = _diff.htmlToDom[member.qualifiedName()];
492 492
493 // Couldn't find a DOM type. 493 // Couldn't find a DOM type.
494 if ((domMembers == null) || (domMembers.length != 1)) return null; 494 if ((domMembers == null) || (domMembers.length != 1)) return null;
495 495
496 // Use the corresponding DOM member when searching MDN. 496 // Use the corresponding DOM member when searching MDN.
497 // TODO(rnystrom): Shame there isn't a simpler way to get the one item 497 // TODO(rnystrom): Shame there isn't a simpler way to get the one item
498 // out of a singleton Set. 498 // out of a singleton Set.
499 member = domMembers.iterator().next(); 499 member = domMembers.iterator().next();
500 } else if (library.simpleName() != 'dom') { 500 } else if (library.simpleName() != 'dom') {
501 // Not a DOM type. 501 // Not a DOM type.
502 return null; 502 return null;
503 } 503 }
504 504
505 // Ignore top-level functions. 505 // Ignore top-level functions.
506 if (member.isTopLevel) return null; 506 if (member.isTopLevel) return null;
507 507
508 final mdnType = mdn[member.surroundingDeclaration().simpleName()]; 508 final mdnType = mdn[member.surroundingDeclaration().simpleName()];
509 if (mdnType == null) return null; 509 if (mdnType == null) return null;
510 var nameToFind = member.simpleName(); 510 var nameToFind = member.simpleName();
511 if (nameToFind.startsWith(GET_PREFIX)) {
512 nameToFind = nameToFind.substring(GET_PREFIX.length);
513 }
514 var mdnMember = null; 511 var mdnMember = null;
515 for (final candidateMember in mdnType['members']) { 512 for (final candidateMember in mdnType['members']) {
516 if (candidateMember['name'] == nameToFind) { 513 if (candidateMember['name'] == nameToFind) {
517 mdnMember = candidateMember; 514 mdnMember = candidateMember;
518 break; 515 break;
519 } 516 }
520 } 517 }
521 518
522 if (mdnMember == null) return null; 519 if (mdnMember == null) return null;
523 520
(...skipping 10 matching lines...) Expand all
534 final typeName = member.surroundingDeclaration().simpleName(); 531 final typeName = member.surroundingDeclaration().simpleName();
535 var memberName = '$typeName.${member.simpleName()}'; 532 var memberName = '$typeName.${member.simpleName()}';
536 if (member.isConstructor || member.isFactory) { 533 if (member.isConstructor || member.isFactory) {
537 final separator = member.constructorName == '' ? '' : '.'; 534 final separator = member.constructorName == '' ? '' : '.';
538 memberName = 'new $typeName$separator${member.constructorName}'; 535 memberName = 'new $typeName$separator${member.constructorName}';
539 } 536 }
540 537
541 return a(memberUrl(member), memberName); 538 return a(memberUrl(member), memberName);
542 } 539 }
543 } 540 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698