Revert "rust: handle modules with same crate_name"

Revert submission 1391076

Reason for revert: Broken downstream Darwin build (b/162975597)
Reverted Changes:
I275f04639:rust: handle modules with same crate_name
Ie736d7ebb:rust: validate existence of library source

Change-Id: I995923153c11db26b4af985f2eabe94912fb04d3
diff --git a/rust/project_json.go b/rust/project_json.go
index 8310479..7537540 100644
--- a/rust/project_json.go
+++ b/rust/project_json.go
@@ -76,15 +76,15 @@
 	crate *rustProjectCrate, deps map[string]int) {
 
 	ctx.VisitDirectDeps(module, func(child android.Module) {
-		childId, childCrateName, ok := appendLibraryAndDeps(ctx, project, knownCrates, child)
+		childId, childName, ok := appendLibraryAndDeps(ctx, project, knownCrates, child)
 		if !ok {
 			return
 		}
-		if _, ok = deps[ctx.ModuleName(child)]; ok {
+		if _, ok = deps[childName]; ok {
 			return
 		}
-		crate.Deps = append(crate.Deps, rustProjectDep{Crate: childId, Name: childCrateName})
-		deps[ctx.ModuleName(child)] = childId
+		crate.Deps = append(crate.Deps, rustProjectDep{Crate: childId, Name: childName})
+		deps[childName] = childId
 	})
 }
 
@@ -105,9 +105,8 @@
 	if !ok {
 		return 0, "", false
 	}
-	moduleName := ctx.ModuleName(module)
 	crateName := rModule.CrateName()
-	if cInfo, ok := knownCrates[moduleName]; ok {
+	if cInfo, ok := knownCrates[crateName]; ok {
 		// We have seen this crate already; merge any new dependencies.
 		crate := project.Crates[cInfo.ID]
 		mergeDependencies(ctx, project, knownCrates, module, &crate, cInfo.Deps)
@@ -126,7 +125,7 @@
 	mergeDependencies(ctx, project, knownCrates, module, &crate, deps)
 
 	id := len(project.Crates)
-	knownCrates[moduleName] = crateInfo{ID: id, Deps: deps}
+	knownCrates[crateName] = crateInfo{ID: id, Deps: deps}
 	project.Crates = append(project.Crates, crate)
 	// rust-analyzer requires that all crates belong to at least one root:
 	// https://github.com/rust-analyzer/rust-analyzer/issues/4735.
diff --git a/rust/project_json_test.go b/rust/project_json_test.go
index 8521940..89ba8d3 100644
--- a/rust/project_json_test.go
+++ b/rust/project_json_test.go
@@ -117,55 +117,3 @@
 	jsonContent := testProjectJson(t, bp, fs)
 	validateJsonCrates(t, jsonContent)
 }
-
-func TestProjectJsonMultiVersion(t *testing.T) {
-	bp := `
-	rust_library {
-		name: "liba1",
-		srcs: ["a1/src/lib.rs"],
-		crate_name: "a"
-	}
-	rust_library {
-		name: "liba2",
-		srcs: ["a2/src/lib.rs"],
-		crate_name: "a",
-	}
-	rust_library {
-		name: "libb",
-		srcs: ["b/src/lib.rs"],
-		crate_name: "b",
-		rustlibs: ["liba1", "liba2"],
-	}
-	` + GatherRequiredDepsForTest()
-	fs := map[string][]byte{
-		"a1/src/lib.rs": nil,
-		"a2/src/lib.rs": nil,
-		"b/src/lib.rs":  nil,
-	}
-	jsonContent := testProjectJson(t, bp, fs)
-	crates := validateJsonCrates(t, jsonContent)
-	for _, crate := range crates {
-		c := crate.(map[string]interface{})
-		if c["root_module"] == "b/src/lib.rs" {
-			deps, ok := c["deps"].([]interface{})
-			if !ok {
-				t.Errorf("Unexpected format for deps: %v", c["deps"])
-			}
-			aCount := 0
-			for _, dep := range deps {
-				d, ok := dep.(map[string]interface{})
-				if !ok {
-					t.Errorf("Unexpected format for dep: %v", dep)
-				}
-				if d["name"] == "a" {
-					aCount++
-				}
-			}
-			if aCount != 2 {
-				t.Errorf("Unexpected number of liba dependencies want %v, got %v: %v", 2, aCount, deps)
-			}
-			return
-		}
-	}
-	t.Errorf("libb crate has not been found: %v", crates)
-}