<commit_before>package org.yakindu.sct.model.sexec.transformation;

import org.eclipse.xtext.naming.IQualifiedNameProvider;
import org.yakindu.sct.model.sgraph.naming.SGraphNameProvider;
import org.yakindu.sct.model.stext.types.ISTextTypeSystem;
import org.yakindu.sct.model.stext.types.STextDefaulTypeSystem;

import com.google.inject.Binder;
import com.google.inject.Module;
import com.google.inject.name.Names;

/**
 * 
 * @author <NAME> - Initial contribution and API
 * 
 */
public class SequencerModule implements Module {

	public static final String ADD_TRACES = "ADD_TRACES";

	public void configure(Binder binder) {
		binder.bind(IQualifiedNameProvider.class).to(SGraphNameProvider.class);
		binder.bind(ISTextTypeSystem.class).to(STextDefaulTypeSystem.class);
		binder.bind(Boolean.class).annotatedWith(Names.named(ADD_TRACES))
				.toInstance(Boolean.FALSE);

	}

}
<commit_msg>Ensure SequencerModule extends AbstractRuntimeModule so subclasses can safely overwrite bindings.<commit_after>package org.yakindu.sct.model.sexec.transformation;

import org.eclipse.xtext.naming.IQualifiedNameProvider;
import org.eclipse.xtext.service.AbstractGenericModule;
import org.yakindu.base.types.ITypeSystem;
import org.yakindu.sct.model.sgraph.naming.SGraphNameProvider;
import org.yakindu.sct.model.stext.types.ISTextTypeInferrer;
import org.yakindu.sct.model.stext.types.ISTextTypeSystem;
import org.yakindu.sct.model.stext.types.STextDefaulTypeSystem;
import org.yakindu.sct.model.stext.types.STextDefaultTypeInferrer;

import com.google.inject.Binder;
import com.google.inject.name.Names;

/**
 * 
 * @author <NAME> - Initial contribution and API
 * @author <NAME> (<EMAIL>) - Refactored to
 *         AbstractGenericModule to allow subclasses to overwrite bindings
 */
public class SequencerModule extends AbstractGenericModule {

	public static final String ADD_TRACES = "ADD_TRACES";

	public void configure(Binder binder) {
		super.configure(binder);
		binder.bind(Boolean.class).annotatedWith(Names.named(ADD_TRACES))
				.toInstance(Boolean.FALSE);
	}

	public Class<? extends IQualifiedNameProvider> bindIQualifiedNameProvider() {
		return SGraphNameProvider.class;
	}

	public Class<? extends ITypeSystem> bindITypeSystem() {
		return STextDefaulTypeSystem.class;
	}

	public Class<? extends ISTextTypeSystem> bindISTextTypeSystem() {
		return STextDefaulTypeSystem.class;
	}

	public Class<? extends ISTextTypeInferrer> bindISTextTypeInferrer() {
		return STextDefaultTypeInferrer.class;
	}

}

{'fraction_non_alphanumeric': 0.0998452012383901, 'fraction_numerical': 0.0, 'mean_word_length': 4.7959641255605385, 'pattern_counts': {'":': 0, '<': 11, '<?xml version=': 0, '>': 11, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '4829309', 'n_tokens_mistral': 884, 'n_tokens_neox': 848, 'n_words': 136}