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

Side by Side Diff: frog/lib/corelib.dart

Issue 10548047: Remove frog from the repository. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Move test and update apidoc.gyp. Created 8 years, 6 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
« no previous file with comments | « frog/lib/arrays.dart ('k') | frog/lib/corelib_impl.dart » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
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
3 // BSD-style license that can be found in the LICENSE file.
4
5 #library("dart:core");
6 #import("dart:coreimpl");
7
8 // TODO(jimhug): Better way to map in standard corelib
9 #source("../../corelib/src/bool.dart");
10 #source("../../corelib/src/collection.dart");
11 #source("../../corelib/src/comparable.dart");
12 #source("../../corelib/src/date.dart");
13 #source("../../corelib/src/double.dart");
14 #source("../../corelib/src/duration.dart");
15 #source("../../corelib/src/exceptions.dart");
16 #source("../../corelib/src/expect.dart");
17 #source("../../corelib/src/function.dart");
18 #source("../../corelib/src/future.dart");
19 #source("../../corelib/src/hashable.dart");
20 #source("../../corelib/src/int.dart");
21 #source("../../corelib/src/iterable.dart");
22 #source("../../corelib/src/iterator.dart");
23 #source("../../corelib/src/list.dart");
24 #source("../../corelib/src/map.dart");
25 #source("math.dart"); // overriden to be more directly native
26 #source("natives.dart"); // native helpers generated by the compiler
27 #source("num.dart"); // overriden to include int members on num - weird typing
28 #source("../../corelib/src/options.dart");
29 #source("../../corelib/src/pattern.dart");
30 #source("../../corelib/src/queue.dart");
31 #source("../../corelib/src/regexp.dart");
32 #source("../../corelib/src/set.dart");
33 #source("../../corelib/src/stopwatch.dart");
34 #source("../../corelib/src/string.dart");
35 #source("../../corelib/src/strings.dart");
36 #source("../../corelib/src/string_buffer.dart");
37
38 // TODO(jimhug): Ad-hoc cut-paste-and-edit from compiler/lib below:
39 // Conceptual change is moving to more true natives.
40
41 /**
42 * The class [Clock] provides access to a monotonically incrementing clock
43 * device.
44 */
45 class Clock {
46 /** Returns the current clock tick. */
47 static int now() native 'return new Date().getTime();';
48
49 /** Returns the frequency of clock ticks in Hz. */
50 // TODO(jimhug): Why isn't this a property?
51 static int frequency() => 1000;
52 }
53
54 // TODO(jmesserly): this is working around a name conflict with "window.print".
55 void print(Object obj) => _print(obj);
56 void _print(Object obj) native @'''if (typeof console == 'object') {
57 if (obj) obj = obj.toString();
58 console.log(obj);
59 } else if (typeof write === 'function') {
60 write(obj);
61 write('\n');
62 }''' {
63 // ensure toString is generated
64 obj.toString();
65 }
66
67 // Exceptions thrown by the generated JS code.
68
69 class AssertionError {
70 final String failedAssertion;
71
72 // TODO(jmesserly): I don't think these should be here. They are properties of
73 // the stack trace
74 final String url;
75 final int line;
76 final int column;
77
78 AssertionError._internal(this.failedAssertion, this.url, this.line, this.colum n);
79
80 String toString() {
81 return "Failed assertion: '$failedAssertion' is not true " +
82 "in $url at line $line, column $column.";
83 }
84 }
85
86 // TODO(jmesserly): fix the strange interaction with JS TypeError, such as
87 // toString(). Ideally this would generate to a different JS name but I'm not
88 // sure how to force that.
89 class TypeError extends AssertionError native 'TypeError' {
90 final String srcType;
91 final String dstType;
92
93 // TODO: make this non-native once $typeNameOf and toString issues are fixed.
94 TypeError._internal(Object src, String dstType) native @'''
95 this.srcType = (src == null ? "Null" : src.$typeNameOf());
96 this.dstType = dstType;
97 this.toString = function() {
98 return ("Failed type check: type " + this.srcType +
99 " is not assignable to type " + this.dstType);
100 }''';
101 }
102
103 class FallThroughError {
104 const FallThroughError();
105
106 String toString() => "Switch case fall-through.";
107 }
108
109 // Dart core library.
110
111 class Object native "Object" {
112
113 const Object() native;
114
115 bool operator ==(Object other) native;
116 String toString() native;
117
118 // TODO(jmesserly): optimize this. No need to call it, unless it's overridden.
119 // Notes: "use strict" prevents boxing.
120 // The Dart "return this" might help with type inference.
121 get dynamic() native '"use strict"; return this;' { return this; }
122
123 // TODO(jmesserly): add named args. For now stay compatible with the VM.
124 noSuchMethod(String name, List args) {
125 throw new NoSuchMethodException(this, name, args);
126 }
127 }
128
129 void _assert(var test, String text, String url, int line, int column) {
130 if (test is Function) test = test();
131 if (!test) throw new AssertionError._internal(text, url, line, column);
132 }
OLDNEW
« no previous file with comments | « frog/lib/arrays.dart ('k') | frog/lib/corelib_impl.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698