add logging to investigate EA-88298 - assert: RootModelImpl.addLibraryEntry

This commit is contained in:
Sergey Simonchik
2016-09-12 14:54:55 +03:00
parent 710891ee88
commit 74afb35a8b
@@ -33,6 +33,7 @@ import com.intellij.openapi.util.WriteExternalException;
import com.intellij.openapi.vfs.VirtualFile;
import com.intellij.openapi.vfs.pointers.VirtualFilePointerManager;
import com.intellij.util.ArrayUtil;
import com.intellij.util.ObjectUtils;
import com.intellij.util.containers.ContainerUtil;
import org.jdom.Element;
import org.jetbrains.annotations.NotNull;
@@ -225,7 +226,14 @@ public class RootModelImpl extends RootModelBase implements ModifiableRootModel
public LibraryOrderEntry addLibraryEntry(@NotNull Library library) {
assertWritable();
final LibraryOrderEntry libraryOrderEntry = new LibraryOrderEntryImpl(library, this, myProjectRootManager);
assert libraryOrderEntry.isValid();
if (libraryOrderEntry.isValid()) {
LibraryEx libraryEx = ObjectUtils.tryCast(library, LibraryEx.class);
boolean libraryDisposed = libraryEx != null ? libraryEx.isDisposed() : Disposer.isDisposed(library);
throw new AssertionError("Invalid libraryOrderEntry, library: " + library
+ " of type " + library.getClass()
+ ", disposed: " + libraryDisposed
+ ", kind: " + (libraryEx != null ? libraryEx.getKind() : "<undefined>"));
}
myOrderEntries.add(libraryOrderEntry);
return libraryOrderEntry;
}