package org.erlide.builder;
import org.eclipse.xtend.lib.annotations.Data;
import org.eclipse.xtext.xbase.lib.Pure;
import org.eclipse.xtext.xbase.lib.util.ToStringBuilder;
@Data
@SuppressWarnings("all")
public class CompilerProblem {
private final String fileName;
private final String message;
private final int line;
private final int severity;
public CompilerProblem(final String fileName, final String message, final int line, final int severity) {
super();
this.fileName = fileName;
this.message = message;
this.line = line;
this.severity = severity;
}
@Override
@Pure
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result + ((this.fileName== null) ? 0 : this.fileName.hashCode());
result = prime * result + ((this.message== null) ? 0 : this.message.hashCode());
result = prime * result + this.line;
result = prime * result + this.severity;
return result;
}
@Override
@Pure
public boolean equals(final Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
CompilerProblem other = (CompilerProblem) obj;
if (this.fileName == null) {
if (other.fileName != null)
return false;
} else if (!this.fileName.equals(other.fileName))
return false;
if (this.message == null) {
if (other.message != null)
return false;
} else if (!this.message.equals(other.message))
return false;
if (other.line != this.line)
return false;
if (other.severity != this.severity)
return false;
return true;
}
@Override
@Pure
public String toString() {
ToStringBuilder b = new ToStringBuilder(this);
b.add("fileName", this.fileName);
b.add("message", this.message);
b.add("line", this.line);
b.add("severity", this.severity);
return b.toString();
}
@Pure
public String getFileName() {
return this.fileName;
}
@Pure
public String getMessage() {
return this.message;
}
@Pure
public int getLine() {
return this.line;
}
@Pure
public int getSeverity() {
return this.severity;
}
}