// Path: src/com/iconmaster/source/element/Element.java
// public class Element implements IDirectable {
// 	public IElementType type;
// 	public Object[] args = new Object[10];
// 	public Element dataType = null;
// 	public ArrayList<String> directives = new ArrayList<>();
// 	public Range range;
// 
// 	public Element(Range range, IElementType type) {
// 		this.range = range;
// 		this.type = type;
// 	}
// 
// 	@Override
// 	public String toString() {
// 		StringBuilder sb = new StringBuilder("{");
// 		sb.append(type).append(" as ").append(dataType).append(": [").append(args[0]).append(" ").append(args[1]).append(" ").append(args[2]).append(" ").append(args[3]).append("]");
// 		return sb.append("}").toString();
// 	}
// 
// 	@Override
// 	public ArrayList<String> getDirectives() {
// 		return directives;
// 	}
// }
// 
// Path: src/com/iconmaster/source/exception/SourceException.java
// public class SourceException extends Exception {
// 	private final Range range;
// 	
// 	public SourceException(Range range) {
// 		super(range.toString()+": Unknown Source exception");
// 		this.range = range;
// 	}
// 	
// 	public SourceException(Range range, String message) {
// 		super((range==null?"null: ":range.toString()+": ")+message);
// 		this.range = range;
// 	}
// 	
// 	@Override
// 	public String getMessage() {
// 		return super.getMessage();
// 	}
// 	
// 	public Range getRange() {
// 		return range;
// 	}
// }


import com.iconmaster.source.element.Element;
import com.iconmaster.source.exception.SourceException;
import java.util.ArrayList;
package com.iconmaster.source.prototype;


/**
 *
 * @author iconmaster
 */
public class Prototyper {
	public static class PrototypeResult {
		public SourcePackage result;
// Path: src/com/iconmaster/source/element/Element.java
// public class Element implements IDirectable {
// 	public IElementType type;
// 	public Object[] args = new Object[10];
// 	public Element dataType = null;
// 	public ArrayList<String> directives = new ArrayList<>();
// 	public Range range;
// 
// 	public Element(Range range, IElementType type) {
// 		this.range = range;
// 		this.type = type;
// 	}
// 
// 	@Override
// 	public String toString() {
// 		StringBuilder sb = new StringBuilder("{");
// 		sb.append(type).append(" as ").append(dataType).append(": [").append(args[0]).append(" ").append(args[1]).append(" ").append(args[2]).append(" ").append(args[3]).append("]");
// 		return sb.append("}").toString();
// 	}
// 
// 	@Override
// 	public ArrayList<String> getDirectives() {
// 		return directives;
// 	}
// }
// 
// Path: src/com/iconmaster/source/exception/SourceException.java
// public class SourceException extends Exception {
// 	private final Range range;
// 	
// 	public SourceException(Range range) {
// 		super(range.toString()+": Unknown Source exception");
// 		this.range = range;
// 	}
// 	
// 	public SourceException(Range range, String message) {
// 		super((range==null?"null: ":range.toString()+": ")+message);
// 		this.range = range;
// 	}
// 	
// 	@Override
// 	public String getMessage() {
// 		return super.getMessage();
// 	}
// 	
// 	public Range getRange() {
// 		return range;
// 	}
// }


// Path: src/com/iconmaster/source/prototype/Prototyper.java
import com.iconmaster.source.element.Element;
import com.iconmaster.source.exception.SourceException;
import java.util.ArrayList;

package com.iconmaster.source.prototype;


/**
 *
 * @author iconmaster
 */
public class Prototyper {
	public static class PrototypeResult {
		public SourcePackage result;
		public ArrayList<SourceException> errors;