From beb87f278956c99a973650ea73859f5affcf0eb3 Mon Sep 17 00:00:00 2001 From: Grzegorz Kossakowski Date: Tue, 19 Feb 2013 14:46:51 -0800 Subject: [PATCH] Fix sbt/sbt#676: swapped declarations and members in `ClassToAPI`. As described in sbt/sbt#676, arguments to `mergeMap` and `merge` methods were swapped causing wrong structures being created for Java compiled class files. This commit fixes sbt/sbt#676 and makes pending test to pass now. --- compile/api/src/main/scala/sbt/ClassToAPI.scala | 8 ++++---- .../api/show-circular-structure/{pending => test} | 0 2 files changed, 4 insertions(+), 4 deletions(-) rename sbt/src/sbt-test/api/show-circular-structure/{pending => test} (100%) diff --git a/compile/api/src/main/scala/sbt/ClassToAPI.scala b/compile/api/src/main/scala/sbt/ClassToAPI.scala index ccb6640b0..b4f3f7d83 100644 --- a/compile/api/src/main/scala/sbt/ClassToAPI.scala +++ b/compile/api/src/main/scala/sbt/ClassToAPI.scala @@ -57,10 +57,10 @@ object ClassToAPI def structure(c: Class[_], enclPkg: Option[String], cmap: ClassMap): (api.Structure, api.Structure) = { - val methods = mergeMap(c, c.getMethods, c.getDeclaredMethods, methodToDef(enclPkg)) - val fields = mergeMap(c, c.getFields, c.getDeclaredFields, fieldToDef(enclPkg)) - val constructors = mergeMap(c, c.getConstructors, c.getDeclaredConstructors, constructorToDef(enclPkg)) - val classes = merge[Class[_]](c, c.getClasses, c.getDeclaredClasses, toDefinitions(cmap), (_: Seq[Class[_]]).partition(isStatic), _.getEnclosingClass != c) + val methods = mergeMap(c, c.getDeclaredMethods, c.getMethods, methodToDef(enclPkg)) + val fields = mergeMap(c, c.getDeclaredFields, c.getFields, fieldToDef(enclPkg)) + val constructors = mergeMap(c, c.getDeclaredConstructors, c.getConstructors, constructorToDef(enclPkg)) + val classes = merge[Class[_]](c, c.getDeclaredClasses, c.getClasses, toDefinitions(cmap), (_: Seq[Class[_]]).partition(isStatic), _.getEnclosingClass != c) val all = (methods ++ fields ++ constructors ++ classes) val parentTypes = parents(c) val instanceStructure = new api.Structure(lzy(parentTypes.toArray), lzy(all.declared.toArray), lzy(all.inherited.toArray)) diff --git a/sbt/src/sbt-test/api/show-circular-structure/pending b/sbt/src/sbt-test/api/show-circular-structure/test similarity index 100% rename from sbt/src/sbt-test/api/show-circular-structure/pending rename to sbt/src/sbt-test/api/show-circular-structure/test