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

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: Address review comments. 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 | « lib/compiler/implementation/lib/core_patch.dart ('k') | runtime/lib/object_patch.dart » ('j') | 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..1e4505936dd448d572a537082e2a0a49a2791513 100644
--- a/lib/core/object.dart
+++ b/lib/core/object.dart
@@ -6,19 +6,66 @@
* Everything in Dart is an [Object].
*/
class Object {
+ /**
+ * Creates a new [Object] instance.
+ *
+ * [Object] instances have no meaningful state, and are only useful
+ * through their identity. An [Object] instance is equal to itself
+ * only.
+ */
const Object();
+ /**
+ * The equality operator.
+ *
+ * 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.
+ *
+ * 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();
- external void noSuchMethod(String name, List args);
+ /**
+ * [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 Dynamic noSuchMethod(String name, List args);
+ /**
+ * Returns a representation of the runtime type of the object.
+ */
external Type runtimeType();
}
+/**
+ * Representation of a type.
+ */
abstract class Type {}
/**
« no previous file with comments | « lib/compiler/implementation/lib/core_patch.dart ('k') | runtime/lib/object_patch.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698