public void checkForClashes(final IBackend backend, final IProject project) { try { final OtpErlangList res = InternalErlideBuilder.getCodeClashes(backend); for (final OtpErlangObject elem : res) { final OtpErlangTuple t = (OtpErlangTuple) elem; final String f1 = ((OtpErlangString) t.elementAt(0)).stringValue(); final String f2 = ((OtpErlangString) t.elementAt(1)).stringValue(); // add marker only for modules belonging to this project! final IResource r1 = project.findMember(f1); final IResource r2 = project.findMember(f2); if (r1 != null || r2 != null) { MarkerUtils.addMarker( project, null, project, "Code clash between " + f1 + " and " + f2, 0, IMarker.SEVERITY_WARNING, ""); } } } catch (final Exception e) { } try { final IErlProject erlProject = ErlModelManager.getErlangModel().getErlangProject(project); final Collection<IPath> sd = erlProject.getSourceDirs(); final String[] dirList = new String[sd.size()]; int j = 0; for (final IPath sp : sd) { dirList[j++] = project.getLocation().toPortableString() + "/" + sp; } final OtpErlangList res = InternalErlideBuilder.getSourceClashes(backend, dirList); for (int i = 0; i < res.arity(); i++) { final OtpErlangTuple t = (OtpErlangTuple) res.elementAt(i); final String f1 = ((OtpErlangString) t.elementAt(0)).stringValue(); final String f2 = ((OtpErlangString) t.elementAt(1)).stringValue(); MarkerUtils.addMarker( project, null, project, "Duplicated module name in " + f1 + " and " + f2, 0, IMarker.SEVERITY_WARNING, ""); } } catch (final Exception e) { ErlLogger.debug(e); } }