| Index: sdk/lib/html/scripts/idlrenderer.dart
|
| diff --git a/sdk/lib/html/scripts/idlrenderer.dart b/sdk/lib/html/scripts/idlrenderer.dart
|
| deleted file mode 100644
|
| index 9bfcd4f4fdfc369d8a6cd8605b8a8feb5a4abce0..0000000000000000000000000000000000000000
|
| --- a/sdk/lib/html/scripts/idlrenderer.dart
|
| +++ /dev/null
|
| @@ -1,180 +0,0 @@
|
| -// Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file
|
| -// for details. All rights reserved. Use of this source code is governed by a
|
| -// BSD-style license that can be found in the LICENSE file.
|
| -
|
| -List sorted(Iterable input, [compare, key]) {
|
| - comparator(compare, key) {
|
| - if (compare == null && key == null)
|
| - return (a, b) => a.compareTo(b);
|
| - if (compare == null)
|
| - return (a, b) => key(a).compareTo(key(b));
|
| - if (key == null)
|
| - return compare;
|
| - return (a, b) => compare(key(a), key(b));
|
| - }
|
| - List copy = new List.from(input);
|
| - copy.sort(comparator(compare, key));
|
| - return copy;
|
| -}
|
| -
|
| -render(idl_node, [indent_str=' ']) {
|
| - var output = [''];
|
| - var indent_stack = [];
|
| -
|
| - indented(action) { // TODO: revert to indented(action()) {
|
| - indent_stack.add(indent_str);
|
| - action();
|
| - indent_stack.removeLast();
|
| - }
|
| -
|
| - sort(nodes) => sorted(nodes, key: (a) => a.id);
|
| -
|
| - var w; // For some reason mutually recursive local functions don't work.
|
| -
|
| - wln([node]) {
|
| - w(node);
|
| - output.add('\n');
|
| - }
|
| -
|
| - w = (node, [list_separator]) {
|
| - /*
|
| - Writes the given node.
|
| -
|
| - Args:
|
| - node -- a string, IDLNode instance or a list of such.
|
| - list_separator -- if provided, and node is a list,
|
| - list_separator will be written between the list items.
|
| - */
|
| - if (node == null) {
|
| - return;
|
| - } else if (node is String) {
|
| - if (output.last.endsWith('\n'))
|
| - output.addAll(indent_stack);
|
| - output.add(node);
|
| - } else if (node is List) {
|
| - var separator = null;
|
| - for (var element in node) {
|
| - w(separator);
|
| - separator = list_separator;
|
| - w(element);
|
| - }
|
| - } else if (node is IDLFile) {
|
| - w(node.modules);
|
| - w(node.interfaces);
|
| - } else if (node is IDLModule) {
|
| - w(node.annotations);
|
| - w(node.extAttrs);
|
| - wln('module ${node.id} {');
|
| - indented(() {
|
| - w(node.interfaces);
|
| - w(node.typedefs);
|
| - });
|
| - wln('};');
|
| - } else if (node is IDLInterface) {
|
| - w(node.annotations);
|
| - w(node.extAttrs);
|
| - w('interface ${node.id}');
|
| - indented(() {
|
| - if (!node.parents.isEmpty) {
|
| - wln(' :');
|
| - w(node.parents, ',\n');
|
| - }
|
| - wln(' {');
|
| - section(list, comment) {
|
| - if (list != null && !list.isEmpty) {
|
| - wln();
|
| - wln(comment);
|
| - w(sort(list));
|
| - }
|
| - }
|
| - section(node.constants, '/* Constants */');
|
| - section(node.attributes, '/* Attributes */');
|
| - section(node.operations, '/* Operations */');
|
| - section(node.snippets, '/* Snippets */');
|
| - });
|
| - wln('};');
|
| - } else if (node is IDLParentInterface) {
|
| - w(node.annotations);
|
| - w(node.type.id);
|
| - } else if (node is IDLAnnotations) {
|
| - for (var name in sorted(node.map.keys)) {
|
| - IDLAnnotation annotation = node.map[name];
|
| - var args = annotation.map;
|
| - if (args.isEmpty) {
|
| - w('@$name');
|
| - } else {
|
| - var formattedArgs = [];
|
| - for (var argName in sorted(args.keys)) {
|
| - var argValue = args[argName];
|
| - if (argValue == null)
|
| - formattedArgs.add(argName);
|
| - else
|
| - formattedArgs.add('$argName=$argValue');
|
| - }
|
| - w('@$name(${Strings.join(formattedArgs,',')})');
|
| - }
|
| - w(' ');
|
| - }
|
| - } else if (node is IDLExtAttrs) {
|
| - if(!node.map.isEmpty) {
|
| - w('[');
|
| - var sep = null;
|
| - for (var name in sorted(node.map.keys)) {
|
| - w(sep);
|
| - sep = ', ';
|
| - w(name);
|
| - var value = node.map[name];
|
| - if (value != null) {
|
| - w('=');
|
| - w(value);
|
| - }
|
| - }
|
| - w('] ');
|
| - }
|
| - } else if (node is IDLAttribute) {
|
| - w(node.annotations);
|
| - w(node.extAttrs);
|
| - //if (node.isFcGetter)
|
| - // w('getter ');
|
| - //if (node.isFcSetter)
|
| - // w('setter ');
|
| - wln('attribute ${node.type.id} ${node.id};');
|
| - } else if (node is IDLConstant) {
|
| - w(node.annotations);
|
| - w(node.extAttrs);
|
| - wln('const ${node.type.id} ${node.id} = ${node.value};');
|
| - } else if (node is IDLSnippet) {
|
| - w(node.annotations);
|
| - wln('snippet {${node.text}};');
|
| - } else if (node is IDLOperation) {
|
| - w(node.annotations);
|
| - w(node.extAttrs);
|
| - if (node.specials != null && !node.specials.isEmpty) {
|
| - w(node.specials, ' ');
|
| - w(' ');
|
| - }
|
| - w('${node.type.id} ${node.id}');
|
| - w('(');
|
| - w(node.arguments, ', ');
|
| - wln(');');
|
| - } else if (node is IDLArgument) {
|
| - w(node.extAttrs);
|
| - w('in ');
|
| - if (node.isOptional)
|
| - w('optional ');
|
| - w('${node.type.id} ${node.id}');
|
| - } else if (node is IDLExtAttrFunctionValue) {
|
| - w(node.name);
|
| - w('(');
|
| - w(node.arguments, ', ');
|
| - w(')');
|
| - } else if (node is IDLTypeDef) {
|
| - wln('typedef ${node.type.id} ${node.id};');
|
| - } else {
|
| - w('// $node\n');
|
| - }
|
| - };
|
| -
|
| - w(idl_node);
|
| - return Strings.concatAll(output);
|
| -}
|
|
|