package net.noiseinstitute.less;

import org.mozilla.javascript.JavaScriptException;

import java.util.List;

public class LessCompileException extends Exception {
    private static final long serialVersionUID = -3755438651544754051L;

    private String type;
    private String filename;
    private int index;
    private int line;
    private int callLine;
    private String callExtract;
    private int column;
    private List<String> extract;

    public LessCompileException (String type, String message, String filename, int index, int line, int callLine,
            String callExtract, int column, List<String> extract, JavaScriptException cause) {
        super(message, cause);
        this.type = type;
        this.filename = filename;
        this.index = index;
        this.line = line;
        this.callLine = callLine;
        this.callExtract = callExtract;
        this.column = column;
        this.extract = extract;
    }
}

@@ -79,24 +79,53 @@
 ception;%0D%0A%0D%0A
+import java.util.ArrayList;%0D%0A
 import java.
@@ -1000,12 +1000,575 @@
 %0D%0A    %7D%0D
+%0A%0D%0A    public String getType () %7B%0D%0A        return type;%0D%0A    %7D%0D%0A%0D%0A    public String getFilename () %7B%0D%0A        return filename;%0D%0A    %7D%0D%0A%0D%0A    public int getIndex () %7B%0D%0A        return index;%0D%0A    %7D%0D%0A%0D%0A    public int getLine () %7B%0D%0A        return line;%0D%0A    %7D%0D%0A%0D%0A    public int getCallLine () %7B%0D%0A        return callLine;%0D%0A    %7D%0D%0A%0D%0A    public String getCallExtract () %7B%0D%0A        return callExtract;%0D%0A    %7D%0D%0A%0D%0A    public int getColumn () %7B%0D%0A        return column;%0D%0A    %7D%0D%0A%0D%0A    public List%3CString%3E getExtract () %7B%0D%0A        return new ArrayList%3CString%3E(extract);%0D%0A    %7D%0D
 %0A%7D%0D%0A

Make LessCompileException details retrievable. I will almost certainly rearrange these once I better understand what they do.