| OLD | NEW |
| 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 * To generate docs for a library, run this script with the path to an | 6 * To generate docs for a library, run this script with the path to an |
| 7 * entrypoint .dart file, like: | 7 * entrypoint .dart file, like: |
| 8 * | 8 * |
| 9 * $ dart dartdoc.dart foo.dart | 9 * $ dart dartdoc.dart foo.dart |
| 10 * | 10 * |
| (...skipping 1187 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1198 | 1198 |
| 1199 if (inOptionals) write(']'); | 1199 if (inOptionals) write(']'); |
| 1200 write(')'); | 1200 write(')'); |
| 1201 } | 1201 } |
| 1202 | 1202 |
| 1203 /** | 1203 /** |
| 1204 * Documents the code contained within [span] with [comment]. If [showCode] | 1204 * Documents the code contained within [span] with [comment]. If [showCode] |
| 1205 * is `true` (and [includeSource] is set), also includes the source code. | 1205 * is `true` (and [includeSource] is set), also includes the source code. |
| 1206 */ | 1206 */ |
| 1207 void docCode(ObjectMirror host, Location location, DocComment comment, | 1207 void docCode(ObjectMirror host, Location location, DocComment comment, |
| 1208 [bool showCode = false]) { | 1208 {bool showCode: false}) { |
| 1209 writeln('<div class="doc">'); | 1209 writeln('<div class="doc">'); |
| 1210 if (comment != null) { | 1210 if (comment != null) { |
| 1211 if (comment.inheritedFrom !== null) { | 1211 if (comment.inheritedFrom !== null) { |
| 1212 writeln('<div class="inherited">'); | 1212 writeln('<div class="inherited">'); |
| 1213 writeln(comment.html); | 1213 writeln(comment.html); |
| 1214 write('<div class="docs-inherited-from">docs inherited from '); | 1214 write('<div class="docs-inherited-from">docs inherited from '); |
| 1215 annotateType(host, comment.inheritedFrom); | 1215 annotateType(host, comment.inheritedFrom); |
| 1216 write('</div>'); | 1216 write('</div>'); |
| 1217 writeln('</div>'); | 1217 writeln('</div>'); |
| 1218 } else { | 1218 } else { |
| (...skipping 201 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1420 } | 1420 } |
| 1421 | 1421 |
| 1422 /** Creates a linked cross reference to [type]. */ | 1422 /** Creates a linked cross reference to [type]. */ |
| 1423 typeReference(InterfaceMirror type) { | 1423 typeReference(InterfaceMirror type) { |
| 1424 // TODO(rnystrom): Do we need to handle ParameterTypes here like | 1424 // TODO(rnystrom): Do we need to handle ParameterTypes here like |
| 1425 // annotation() does? | 1425 // annotation() does? |
| 1426 return a(typeUrl(type), typeName(type), css: 'crossref'); | 1426 return a(typeUrl(type), typeName(type), css: 'crossref'); |
| 1427 } | 1427 } |
| 1428 | 1428 |
| 1429 /** Generates a human-friendly string representation for a type. */ | 1429 /** Generates a human-friendly string representation for a type. */ |
| 1430 typeName(TypeMirror type, [bool showBounds = false]) { | 1430 typeName(TypeMirror type, {bool showBounds: false}) { |
| 1431 if (type.isVoid) { | 1431 if (type.isVoid) { |
| 1432 return 'void'; | 1432 return 'void'; |
| 1433 } | 1433 } |
| 1434 if (type is TypeVariableMirror) { | 1434 if (type is TypeVariableMirror) { |
| 1435 return type.simpleName; | 1435 return type.simpleName; |
| 1436 } | 1436 } |
| 1437 assert(type is InterfaceMirror); | 1437 assert(type is InterfaceMirror); |
| 1438 | 1438 |
| 1439 // See if it's a generic type. | 1439 // See if it's a generic type. |
| 1440 if (type.isDeclaration) { | 1440 if (type.isDeclaration) { |
| (...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1491 // Syntax highlight. | 1491 // Syntax highlight. |
| 1492 return classifySource(code); | 1492 return classifySource(code); |
| 1493 } | 1493 } |
| 1494 | 1494 |
| 1495 /** | 1495 /** |
| 1496 * This will be called whenever a doc comment hits a `[name]` in square | 1496 * This will be called whenever a doc comment hits a `[name]` in square |
| 1497 * brackets. It will try to figure out what the name refers to and link or | 1497 * brackets. It will try to figure out what the name refers to and link or |
| 1498 * style it appropriately. | 1498 * style it appropriately. |
| 1499 */ | 1499 */ |
| 1500 md.Node resolveNameReference(String name, | 1500 md.Node resolveNameReference(String name, |
| 1501 [MemberMirror currentMember = null, | 1501 {MemberMirror currentMember: null, |
| 1502 ObjectMirror currentType = null, | 1502 ObjectMirror currentType: null, |
| 1503 LibraryMirror currentLibrary = null]) { | 1503 LibraryMirror currentLibrary: null}) { |
| 1504 makeLink(String href) { | 1504 makeLink(String href) { |
| 1505 final anchor = new md.Element.text('a', name); | 1505 final anchor = new md.Element.text('a', name); |
| 1506 anchor.attributes['href'] = relativePath(href); | 1506 anchor.attributes['href'] = relativePath(href); |
| 1507 anchor.attributes['class'] = 'crossref'; | 1507 anchor.attributes['class'] = 'crossref'; |
| 1508 return anchor; | 1508 return anchor; |
| 1509 } | 1509 } |
| 1510 | 1510 |
| 1511 // See if it's a parameter of the current method. | 1511 // See if it's a parameter of the current method. |
| 1512 if (currentMember is MethodMirror) { | 1512 if (currentMember is MethodMirror) { |
| 1513 for (final parameter in currentMember.parameters) { | 1513 for (final parameter in currentMember.parameters) { |
| (...skipping 125 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1639 final InterfaceMirror inheritedFrom; | 1639 final InterfaceMirror inheritedFrom; |
| 1640 | 1640 |
| 1641 DocComment(this.text, [this.inheritedFrom = null]) { | 1641 DocComment(this.text, [this.inheritedFrom = null]) { |
| 1642 assert(text != null && !text.trim().isEmpty()); | 1642 assert(text != null && !text.trim().isEmpty()); |
| 1643 } | 1643 } |
| 1644 | 1644 |
| 1645 String get html => md.markdownToHtml(text); | 1645 String get html => md.markdownToHtml(text); |
| 1646 | 1646 |
| 1647 String toString() => text; | 1647 String toString() => text; |
| 1648 } | 1648 } |
| OLD | NEW |