X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=blobdiff_plain;f=bundles%2Forg.simantics.scl.osgi%2Fsrc%2Forg%2Fsimantics%2Fscl%2Fosgi%2Fissues%2FSCLIssuesTableEntry.java;fp=bundles%2Forg.simantics.scl.osgi%2Fsrc%2Forg%2Fsimantics%2Fscl%2Fosgi%2Fissues%2FSCLIssuesTableEntry.java;h=c9c21e8b3f516a561cba402df184745508ba171a;hb=a516cf32592cf470cfc3f6ff96ee8b5168bd7a43;hp=0000000000000000000000000000000000000000;hpb=7a7ad0a2319ce70a184e099adad8a69c23562bd9;p=simantics%2Fplatform.git diff --git a/bundles/org.simantics.scl.osgi/src/org/simantics/scl/osgi/issues/SCLIssuesTableEntry.java b/bundles/org.simantics.scl.osgi/src/org/simantics/scl/osgi/issues/SCLIssuesTableEntry.java new file mode 100644 index 000000000..c9c21e8b3 --- /dev/null +++ b/bundles/org.simantics.scl.osgi/src/org/simantics/scl/osgi/issues/SCLIssuesTableEntry.java @@ -0,0 +1,32 @@ +package org.simantics.scl.osgi.issues; + +import org.simantics.scl.compiler.errors.CompilationError; +import org.simantics.scl.compiler.errors.Locations; + +public abstract class SCLIssuesTableEntry implements Comparable { + public final String moduleName; + public final CompilationError error; + + public SCLIssuesTableEntry(String moduleName, CompilationError error) { + this.moduleName = moduleName; + this.error = error; + } + + public abstract void openLocation(); + + @Override + public int compareTo(SCLIssuesTableEntry o) { + if(this == o) + return 0; + int cmp = error.severity.compareTo(o.error.severity); + if(cmp != 0) + return cmp; + cmp = moduleName.compareTo(o.moduleName); + if(cmp != 0) + return cmp; + cmp = Locations.compare(error.location, o.error.location); + if(cmp != 0) + return cmp; + return error.description.compareTo(o.error.description); + } +}