test & implementation for Bug 355274 - [assist] make the add signatures assist smarter vis-a-vis ambiguous method bindings
diff --git a/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/TypeBinding.java b/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/TypeBinding.java
index 7a6fa14..17ee54c 100644
--- a/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/TypeBinding.java
+++ b/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/TypeBinding.java
@@ -1103,6 +1103,10 @@
 	 * @see ITypeBinding#isAssignmentCompatible(ITypeBinding)
 	 */
 	public boolean isAssignmentCompatible(ITypeBinding type) {
+//{ObjectTeams: prepare for calling into the compiler (isCompatibleWith(..)) 
+		// save and reset flags:
+    	Config oldConfig = Config.createOrResetConfig(this);
+// orig:
 		try {
 			if (this == type) return true;
 			if (!(type instanceof TypeBinding)) return false;
@@ -1114,6 +1118,11 @@
 			// don't surface internal exception to clients
 			// see https://bugs.eclipse.org/bugs/show_bug.cgi?id=143013
 			return false;
+// :giro
+		} finally {
+			// restore on any exit:
+	    	Config.removeOrRestore(oldConfig, this);
+// SH}
 		}
 	}
 
diff --git a/org.eclipse.jdt.core/dom/org/eclipse/jdt/internal/core/dom/NaiveASTFlattener.java b/org.eclipse.jdt.core/dom/org/eclipse/jdt/internal/core/dom/NaiveASTFlattener.java
index a79b190..eb5a341 100644
--- a/org.eclipse.jdt.core/dom/org/eclipse/jdt/internal/core/dom/NaiveASTFlattener.java
+++ b/org.eclipse.jdt.core/dom/org/eclipse/jdt/internal/core/dom/NaiveASTFlattener.java
@@ -1717,7 +1717,7 @@
 					TypeParameter t = (TypeParameter) it.next();
 					t.accept(this);
 					if (it.hasNext()) {
-						this.buffer.append(",");//$NON-NLS-1$
+						this.buffer.append(", ");//$NON-NLS-1$
 					}
 				}
 				this.buffer.append("> ");//$NON-NLS-1$
@@ -1737,7 +1737,7 @@
 				var.accept(this);
 				if (iter.hasNext())
 				{
-					buffer.append(",");
+					buffer.append(", ");
 				}
 			}
 			buffer.append(")");