fixes for having index based functions in the object declaration.
diff --git a/plugins/org.eclipse.dltk.javascript.core/src/org/eclipse/dltk/javascript/internal/search/JavaScriptMatchLocatorVisitor.java b/plugins/org.eclipse.dltk.javascript.core/src/org/eclipse/dltk/javascript/internal/search/JavaScriptMatchLocatorVisitor.java
index eea535b..1cc568d 100644
--- a/plugins/org.eclipse.dltk.javascript.core/src/org/eclipse/dltk/javascript/internal/search/JavaScriptMatchLocatorVisitor.java
+++ b/plugins/org.eclipse.dltk.javascript.core/src/org/eclipse/dltk/javascript/internal/search/JavaScriptMatchLocatorVisitor.java
@@ -321,7 +321,8 @@
 			} else if (part instanceof PropertyInitializer) {
 				final PropertyInitializer pi = (PropertyInitializer) part;
 				// TODO (alex) handle jsdoc
-				if (pi.getValue() instanceof FunctionStatement) {
+				if (pi.getValue() instanceof FunctionStatement
+						&& pi.getName() instanceof Identifier) {
 					createFunctionDeclaration(
 							(FunctionStatement) pi.getValue(),
 							(Identifier) pi.getName());
diff --git a/tests/org.eclipse.dltk.javascript.core.tests/src/org/eclipse/dltk/javascript/core/tests/search/SearchDeclarationTests.java b/tests/org.eclipse.dltk.javascript.core.tests/src/org/eclipse/dltk/javascript/core/tests/search/SearchDeclarationTests.java
index f03f18d..24959c3 100644
--- a/tests/org.eclipse.dltk.javascript.core.tests/src/org/eclipse/dltk/javascript/core/tests/search/SearchDeclarationTests.java
+++ b/tests/org.eclipse.dltk.javascript.core.tests/src/org/eclipse/dltk/javascript/core/tests/search/SearchDeclarationTests.java
@@ -63,6 +63,19 @@
 		assertEquals(IModelElement.SOURCE_MODULE, parent.getElementType());
 		assertEquals("a.js", parent.getElementName());
 	}
+	
+
+	@Test
+	public void testVartextFormatters() throws CoreException {
+		final TestSearchResults results = PROJECT.search("textFormatters", FIELD,
+				DECLARATIONS);
+		assertEquals(1, results.size());
+		final IModelElement method = results.locate(IField.class, "textFormatters");
+		final IModelElement parent = method.getParent();
+		assertEquals(IModelElement.SOURCE_MODULE, parent.getElementType());
+		assertEquals("selection2.js", parent.getElementName());
+	}
+
 
 	@Test
 	public void testVarB() throws CoreException {
diff --git a/tests/org.eclipse.dltk.javascript.core.tests/workspace/search/src/selection2.js b/tests/org.eclipse.dltk.javascript.core.tests/workspace/search/src/selection2.js
new file mode 100644
index 0000000..3141017
--- /dev/null
+++ b/tests/org.eclipse.dltk.javascript.core.tests/workspace/search/src/selection2.js
@@ -0,0 +1,15 @@
+var textFormatters = {
+		1: function(node) {
+			return 'Deleting deprecated class';
+		},
+		2: function(node) {
+			return 'Error deleting deprecated class';
+		},
+		3: function(node) {
+			return 'Skipping deprecated class';
+		}
+	};
+	
+function textFormattersTest() {
+	textFormatters[1];
+}
\ No newline at end of file