// Path: de.urszeidler.eclipse.solidity.compiler.support/src/de/urszeidler/eclipse/solidity/compiler/support/Activator.java
// public class Activator extends AbstractUIPlugin {
// 
// 	// The plug-in ID
// 	public static final String PLUGIN_ID = "de.urszeidler.eclipse.solidity.compiler.support"; //$NON-NLS-1$
// 
// 	// The shared instance
// 	private static Activator plugin;
// 	
// 	/**
// 	 * The constructor
// 	 */
// 	public Activator() {
// 	}
// 
// 	/*
// 	 * (non-Javadoc)
// 	 * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext)
// 	 */
// 	public void start(BundleContext context) throws Exception {
// 		super.start(context);
// 		plugin = this;
// 	}
// 
// 	/*
// 	 * (non-Javadoc)
// 	 * @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext)
// 	 */
// 	public void stop(BundleContext context) throws Exception {
// 		plugin = null;
// 		super.stop(context);
// 	}
// 
// 	/**
// 	 * Returns the shared instance
// 	 *
// 	 * @return the shared instance
// 	 */
// 	public static Activator getDefault() {
// 		return plugin;
// 	}
// 	public static void logError(String message, Exception e) {
// 		getDefault().getLog().log(createErrorStatus(message, e));
// 	}
// 
// 	public static Status createErrorStatus(String message, Exception e) {
// 		return new Status(IStatus.ERROR, PLUGIN_ID, message, e);
// 	}
// 
// 	public static void logError(String message) {
// 		getDefault().getLog().log(new Status(IStatus.ERROR, PLUGIN_ID, message));
// 	}
// 
// 	public static void logInfo(String message) {
// 		getDefault().getLog().log(new Status(IStatus.INFO, PLUGIN_ID, message));
// 	}
// 
// 	public static void logWarning(String message) {
// 		getDefault().getLog().log(new Status(IStatus.INFO, PLUGIN_ID, message));
// 	}
// 
// }


import java.util.ArrayList;
import java.util.List;
import org.eclipse.core.resources.IProject;
import org.eclipse.core.resources.ProjectScope;
import org.eclipse.core.runtime.preferences.InstanceScope;
import org.eclipse.jface.preference.IPreferenceStore;
import org.eclipse.ui.preferences.ScopedPreferenceStore;
import de.urszeidler.eclipse.solidity.compiler.support.Activator;
		@Override
		public boolean equals(Object obj) {
			if (this == obj)
				return true;
			if (obj == null)
				return false;
			if (getClass() != obj.getClass())
				return false;
			SolC other = (SolC) obj;
			if (name == null) {
				if (other.name != null)
					return false;
			} else if (!name.equals(other.name))
				return false;
			if (path == null) {
				if (other.path != null)
					return false;
			} else if (!path.equals(other.path))
				return false;
			if (version == null) {
				if (other.version != null)
					return false;
			} else if (!version.equals(other.version))
				return false;
			return true;
		}
	}
	
	public static IPreferenceStore getPreferenceStore(IProject project) {
		if (project != null) {
// Path: de.urszeidler.eclipse.solidity.compiler.support/src/de/urszeidler/eclipse/solidity/compiler/support/Activator.java
// public class Activator extends AbstractUIPlugin {
// 
// 	// The plug-in ID
// 	public static final String PLUGIN_ID = "de.urszeidler.eclipse.solidity.compiler.support"; //$NON-NLS-1$
// 
// 	// The shared instance
// 	private static Activator plugin;
// 	
// 	/**
// 	 * The constructor
// 	 */
// 	public Activator() {
// 	}
// 
// 	/*
// 	 * (non-Javadoc)
// 	 * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext)
// 	 */
// 	public void start(BundleContext context) throws Exception {
// 		super.start(context);
// 		plugin = this;
// 	}
// 
// 	/*
// 	 * (non-Javadoc)
// 	 * @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext)
// 	 */
// 	public void stop(BundleContext context) throws Exception {
// 		plugin = null;
// 		super.stop(context);
// 	}
// 
// 	/**
// 	 * Returns the shared instance
// 	 *
// 	 * @return the shared instance
// 	 */
// 	public static Activator getDefault() {
// 		return plugin;
// 	}
// 	public static void logError(String message, Exception e) {
// 		getDefault().getLog().log(createErrorStatus(message, e));
// 	}
// 
// 	public static Status createErrorStatus(String message, Exception e) {
// 		return new Status(IStatus.ERROR, PLUGIN_ID, message, e);
// 	}
// 
// 	public static void logError(String message) {
// 		getDefault().getLog().log(new Status(IStatus.ERROR, PLUGIN_ID, message));
// 	}
// 
// 	public static void logInfo(String message) {
// 		getDefault().getLog().log(new Status(IStatus.INFO, PLUGIN_ID, message));
// 	}
// 
// 	public static void logWarning(String message) {
// 		getDefault().getLog().log(new Status(IStatus.INFO, PLUGIN_ID, message));
// 	}
// 
// }


// Path: de.urszeidler.eclipse.solidity.compiler.support/src/de/urszeidler/eclipse/solidity/compiler/support/preferences/PreferenceConstants.java
import java.util.ArrayList;
import java.util.List;
import org.eclipse.core.resources.IProject;
import org.eclipse.core.resources.ProjectScope;
import org.eclipse.core.runtime.preferences.InstanceScope;
import org.eclipse.jface.preference.IPreferenceStore;
import org.eclipse.ui.preferences.ScopedPreferenceStore;
import de.urszeidler.eclipse.solidity.compiler.support.Activator;

		@Override
		public boolean equals(Object obj) {
			if (this == obj)
				return true;
			if (obj == null)
				return false;
			if (getClass() != obj.getClass())
				return false;
			SolC other = (SolC) obj;
			if (name == null) {
				if (other.name != null)
					return false;
			} else if (!name.equals(other.name))
				return false;
			if (path == null) {
				if (other.path != null)
					return false;
			} else if (!path.equals(other.path))
				return false;
			if (version == null) {
				if (other.version != null)
					return false;
			} else if (!version.equals(other.version))
				return false;
			return true;
		}
	}
	
	public static IPreferenceStore getPreferenceStore(IProject project) {
		if (project != null) {
			IPreferenceStore store = new ScopedPreferenceStore(new ProjectScope(project), Activator.PLUGIN_ID);