>From 85ca6795a63ba4406a0da9e4537d52b1a524daf9 Mon Sep 17 00:00:00 2001
From: Gwenael Casaccio
Date: Mon, 27 Jun 2011 17:13:53 +0200
Subject: [PATCH 3/3] beConsistent refactoring
---
kernel/Dictionary.st | 4 ----
kernel/HashedColl.st | 3 ---
kernel/IdentDict.st | 4 ----
kernel/IdentitySet.st | 2 --
kernel/Set.st | 2 --
kernel/WeakObjects.st | 27 +++++++++++++++++++++++++++
6 files changed, 27 insertions(+), 15 deletions(-)
diff --git a/kernel/Dictionary.st b/kernel/Dictionary.st
index 9f2f10e..e5d7914 100644
--- a/kernel/Dictionary.st
+++ b/kernel/Dictionary.st
@@ -568,8 +568,6 @@ certain special cases.'>
| index size element |
- self beConsistent.
-
"Sorry for the lack of readability, but I want speed... :-)"
index := (anObject key hash scramble bitAnd: (size := self primSize) - 1) + 1.
@@ -585,8 +583,6 @@ certain special cases.'>
| index size element |
- self beConsistent.
-
"Sorry for the lack of readability, but I want speed... :-)"
index := (anObject hash scramble bitAnd: (size := self primSize) - 1) + 1.
diff --git a/kernel/HashedColl.st b/kernel/HashedColl.st
index 1af0fc0..345e1ec 100644
--- a/kernel/HashedColl.st
+++ b/kernel/HashedColl.st
@@ -196,7 +196,6 @@ give fast responses on their presence in the collection.'>
"Enumerate all the non-nil members of the set"
- self beConsistent.
1 to: self primSize
do: [:i | (self primAt: i) notNil ifTrue: [aBlock value: (self primAt: i)]]
]
@@ -334,8 +333,6 @@ give fast responses on their presence in the collection.'>
| index size element |
- self beConsistent.
-
"Sorry for the lack of readability, but I want speed... :-)"
index := (anObject hash scramble bitAnd: (size := self primSize) - 1) + 1.
diff --git a/kernel/IdentDict.st b/kernel/IdentDict.st
index 3e7130d..0db6414 100644
--- a/kernel/IdentDict.st
+++ b/kernel/IdentDict.st
@@ -60,8 +60,6 @@ comparision message == to determine equivalence of indices.'>
| index size element |
- self beConsistent.
-
"Sorry for the lack of readability, but I want speed... :-)"
index := (anObject identityHash scramble bitAnd: (size := self primSize) - 1) + 1.
@@ -77,8 +75,6 @@ comparision message == to determine equivalence of indices.'>
| index size element |
- self beConsistent.
-
"Sorry for the lack of readability, but I want speed... :-)"
index := (anObject identityHash scramble
bitAnd: (size := self primSize) - 1) + 1.
diff --git a/kernel/IdentitySet.st b/kernel/IdentitySet.st
index ebe73f5..637e0ea 100644
--- a/kernel/IdentitySet.st
+++ b/kernel/IdentitySet.st
@@ -59,8 +59,6 @@ use the == operator to determine duplication of objects.'>
| index size element |
- self beConsistent.
-
"Sorry for the lack of readability, but I want speed... :-)"
index := (anObject identityHash scramble
bitAnd: (size := self primSize) - 1) + 1.
diff --git a/kernel/Set.st b/kernel/Set.st
index 56fbddf..6ed2d9d 100644
--- a/kernel/Set.st
+++ b/kernel/Set.st
@@ -123,8 +123,6 @@ on my instances.'>
| index size element |
- self beConsistent.
-
"Sorry for the lack of readability, but I want speed... :-)"
index := (anObject hash scramble bitAnd: (size := self primSize) - 1) + 1.
diff --git a/kernel/WeakObjects.st b/kernel/WeakObjects.st
index 25cf7f9..52eb297 100644
--- a/kernel/WeakObjects.st
+++ b/kernel/WeakObjects.st
@@ -506,6 +506,33 @@ for the garbage collected values'>
(key at: i) isNil
ifFalse: [self whileGrowingAt: (key at: i) put: (val at: i)]]
]
+
+ findElementIndex: anObject [
+ "Tries to see where anObject can be placed as an indexed variable.
+ As soon as nil is found, the index of that slot is answered.
+ anObject also comes from an indexed variable."
+
+
+ self beConsistent.
+ ^ super findElementIndex: anObject
+ ]
+
+ findIndex: anObject [
+ "Tries to see if anObject exists as an indexed variable. As soon as nil
+ or anObject is found, the index of that slot is answered"
+
+
+ self beConsistent.
+ ^ super findIndex: anObject
+ ]
+
+ do: aBlock [
+ "Enumerate all the non-nil members of the set"
+
+
+ self beConsistent.
+ super do: aBlock
+ ]
]
--
1.7.4.1