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

Unified Diff: lib/core/object.dart

Issue 10974004: Add documentation to the Object class in the core library. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 8 years, 3 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: lib/core/object.dart
diff --git a/lib/core/object.dart b/lib/core/object.dart
index 2d09bf45c1debdeb76fc53e175f86bbfbf573b29..544c2c486ce8bdd5d38abc6fb70658d8bd84f7a9 100644
--- a/lib/core/object.dart
+++ b/lib/core/object.dart
@@ -6,19 +6,62 @@
* Everything in Dart is an [Object].
*/
class Object {
+ /**
+ * Object constructor.
Lasse Reichstein Nielsen 2012/09/24 10:43:18 That's obvious. This constructor is only here beca
Mads Ager (google) 2012/09/24 11:07:15 Done, thanks.
+ */
const Object();
+ /**
+ * The equality operator.
Lasse Reichstein Nielsen 2012/09/24 10:43:18 We'll probably want to add something about equival
+ *
+ * The default behavior for all [Object]s is to return true if and
+ * only if [:this:] and [other] are the same object.
+ *
+ * If a subclass overrides the equality operator it should override
+ * the [hashCode] method as well to maintain consistency.
+ */
bool operator ==(other) => identical(this, other);
+ /**
+ * Get a hash code for this object.
+ *
+ * All objects have hash codes. Hash codes are guaranteed to be the
+ * same for objects that are equal when compared using the equality
+ * operator [:==:]. Other than that there are no guarantees about
+ * the hash codes. They will not be consistent between runs and
+ * there are no distribution guarantees.
Lasse Reichstein Nielsen 2012/09/24 10:43:18 I really want to promise that hash-codes are 32-bi
Mads Ager (google) 2012/09/24 11:07:15 I don't see a problem with using 32-bit unsigned i
+ *
+ * If a subclass overrides [hashCode] it should override the
+ * equality operator as well to maintain consistency.
+ */
external int hashCode();
+ /**
+ * Returns a string representation of this object.
+ */
external String toString();
+ /**
+ * [noSuchMethod] is invoked when users invoke a non-existant method
+ * on an object. The name of the method and the arguments of the
+ * invocation are passed to [noSuchMethod]. If [noSuchMethod]
+ * returns a value, that value becomes the result of the original
+ * invocation.
+ *
+ * The default behavior of [noSuchMethod] is to throw a
+ * [noSuchMethodError].
+ */
external void noSuchMethod(String name, List args);
Mads Ager (google) 2012/09/24 10:13:13 The void return type is confusing here. Should we
Lasse Reichstein Nielsen 2012/09/24 10:43:18 If anything, we should change it to Dynamic. And y
Mads Ager (google) 2012/09/24 11:07:15 I have changed it to Dynamic.
+ /**
+ * Returns the representation of the runtime type of the object.
Lasse Reichstein Nielsen 2012/09/24 10:43:18 the representation -> a representation. We don't g
Mads Ager (google) 2012/09/24 11:07:15 Done.
+ */
external Type runtimeType();
}
+/**
+ * Representation of the runtime type of an object.
Lasse Reichstein Nielsen 2012/09/24 10:43:18 Just "Representation of a type." You can get repre
Mads Ager (google) 2012/09/24 11:07:15 Done.
+ */
abstract class Type {}
/**
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698