
org.jnario.spec.SpecRuntimeModule Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of org.jnario.standalone Show documentation
Show all versions of org.jnario.standalone Show documentation
The required libraries to execute Jnario specifications without Eclipse.
The newest version!
/*******************************************************************************
* Copyright (c) 2012 BMW Car IT and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*******************************************************************************/
/*
* generated by Xtext
*/
package org.jnario.spec;
import org.eclipse.xtend.core.compiler.UnicodeAwarePostProcessor;
import org.eclipse.xtend.core.compiler.XtendGenerator;
import org.eclipse.xtend.core.compiler.XtendOutputConfigurationProvider;
import org.eclipse.xtend.core.compiler.batch.XtendBatchCompiler;
import org.eclipse.xtend.core.formatting.XtendFormatter;
import org.eclipse.xtend.core.imports.XtendImportsConfiguration;
import org.eclipse.xtend.core.jvmmodel.IXtendJvmAssociations;
import org.eclipse.xtend.core.jvmmodel.SyntheticNameClashResolver;
import org.eclipse.xtend.core.linking.LinkingProxyAwareResource;
import org.eclipse.xtend.core.linking.URIEncoder;
import org.eclipse.xtend.core.linking.XtendEObjectAtOffsetHelper;
import org.eclipse.xtend.core.linking.XtendLinkingDiagnosticMessageProvider;
import org.eclipse.xtend.core.parser.antlr.internal.FlexerFactory;
import org.eclipse.xtend.core.resource.XtendLocationInFileProvider;
import org.eclipse.xtend.core.resource.XtendResourceDescriptionManager;
import org.eclipse.xtend.core.scoping.AnonymousClassConstructorScopes;
import org.eclipse.xtend.core.typesystem.LocalClassAwareTypeNames;
import org.eclipse.xtend.core.typesystem.TypeDeclarationAwareBatchTypeResolver;
import org.eclipse.xtend.core.validation.XtendConfigurableIssueCodes;
import org.eclipse.xtend.core.validation.XtendEarlyExitValidator;
import org.eclipse.xtend.core.validation.XtendImplicitReturnFinder;
import org.eclipse.xtend.core.xtend.XtendFactory;
import org.eclipse.xtend.lib.macro.file.FileLocations;
import org.eclipse.xtend.lib.macro.file.MutableFileSystemSupport;
import org.eclipse.xtext.common.types.descriptions.JvmDeclaredTypeSignatureHashProvider.SignatureHashBuilder;
import org.eclipse.xtext.conversion.IValueConverterService;
import org.eclipse.xtext.conversion.impl.IDValueConverter;
import org.eclipse.xtext.documentation.IEObjectDocumentationProvider;
import org.eclipse.xtext.generator.IFilePostProcessor;
import org.eclipse.xtext.generator.IGenerator;
import org.eclipse.xtext.generator.IOutputConfigurationProvider;
import org.eclipse.xtext.generator.JavaIoFileSystemAccess;
import org.eclipse.xtext.generator.OutputConfigurationProvider;
import org.eclipse.xtext.linking.ILinker;
import org.eclipse.xtext.linking.ILinkingDiagnosticMessageProvider;
import org.eclipse.xtext.linking.ILinkingService;
import org.eclipse.xtext.linking.lazy.LazyURIEncoder;
import org.eclipse.xtext.naming.IQualifiedNameProvider;
import org.eclipse.xtext.parser.IParser;
import org.eclipse.xtext.resource.EObjectAtOffsetHelper;
import org.eclipse.xtext.resource.IDefaultResourceDescriptionStrategy;
import org.eclipse.xtext.resource.ILocationInFileProvider;
import org.eclipse.xtext.resource.IResourceDescription.Manager;
import org.eclipse.xtext.resource.IResourceDescriptions;
import org.eclipse.xtext.resource.XtextResource;
import org.eclipse.xtext.resource.impl.EagerResourceSetBasedResourceDescriptions;
import org.eclipse.xtext.scoping.IScopeProvider;
import org.eclipse.xtext.scoping.impl.AbstractDeclarativeScopeProvider;
import org.eclipse.xtext.validation.CompositeEValidator;
import org.eclipse.xtext.validation.ConfigurableIssueCodesProvider;
import org.eclipse.xtext.validation.IResourceValidator;
import org.eclipse.xtext.xbase.XbaseFactory;
import org.eclipse.xtext.xbase.compiler.JvmModelGenerator;
import org.eclipse.xtext.xbase.compiler.XbaseCompiler;
import org.eclipse.xtext.xbase.compiler.output.TraceAwarePostProcessor;
import org.eclipse.xtext.xbase.file.AbstractFileSystemSupport;
import org.eclipse.xtext.xbase.file.FileLocationsImpl;
import org.eclipse.xtext.xbase.file.JavaIOFileSystemSupport;
import org.eclipse.xtext.xbase.file.RuntimeWorkspaceConfigProvider;
import org.eclipse.xtext.xbase.file.WorkspaceConfig;
import org.eclipse.xtext.xbase.formatting.IBasicFormatter;
import org.eclipse.xtext.xbase.formatting.NodeModelAccess;
import org.eclipse.xtext.xbase.imports.IImportsConfiguration;
import org.eclipse.xtext.xbase.jvmmodel.IJvmModelInferrer;
import org.eclipse.xtext.xbase.jvmmodel.JvmModelAssociator;
import org.eclipse.xtext.xbase.jvmmodel.JvmTypesBuilder;
import org.eclipse.xtext.xbase.scoping.batch.ConstructorScopes;
import org.eclipse.xtext.xbase.scoping.batch.ImplicitlyImportedFeatures;
import org.eclipse.xtext.xbase.scoping.batch.XbaseBatchScopeProvider;
import org.eclipse.xtext.xbase.typesystem.computation.ITypeComputer;
import org.eclipse.xtext.xbase.typesystem.internal.DefaultBatchTypeResolver;
import org.eclipse.xtext.xbase.typesystem.internal.DefaultReentrantTypeResolver;
import org.eclipse.xtext.xbase.typesystem.util.HumanReadableTypeNames;
import org.eclipse.xtext.xbase.util.XExpressionHelper;
import org.eclipse.xtext.xbase.validation.EarlyExitValidator;
import org.eclipse.xtext.xbase.validation.ImplicitReturnFinder;
import org.jnario.compiler.JnarioCompiler;
import org.jnario.compiler.JnarioExpressionHelper;
import org.jnario.conversion.JnarioJavaIDValueConverter;
import org.jnario.doc.AbstractDocGenerator;
import org.jnario.doc.DocOutputConfigurationProvider;
import org.jnario.documentation.XtendDocumentationProvider;
import org.jnario.formatter.JnarioNodeModelAccess;
import org.jnario.generator.JnarioJavaIoFileSystemAccess;
import org.jnario.jvmmodel.ExecutableProvider;
import org.jnario.jvmmodel.ExtendedJvmTypesBuilder;
import org.jnario.jvmmodel.JnarioNameProvider;
import org.jnario.jvmmodel.JnarioSignatureHashBuilder;
import org.jnario.linking.JnarioLinkingService;
import org.jnario.report.Executable2ResultMapping;
import org.jnario.report.HashBasedSpec2ResultMapping;
import org.jnario.scoping.JnarioImplicitlyImportedFeatures;
import org.jnario.spec.compiler.SpecBatchCompiler;
import org.jnario.spec.conversion.SpecValueConverterService;
import org.jnario.spec.doc.SpecDocGenerator;
import org.jnario.spec.formatting.SpecFormatter;
import org.jnario.spec.jvmmodel.SpecExecutableProvider;
import org.jnario.spec.jvmmodel.SpecJvmModelGenerator;
import org.jnario.spec.jvmmodel.SpecJvmModelInferrer;
import org.jnario.spec.jvmmodel.SpecLazyLinker;
import org.jnario.spec.jvmmodel.SpecSyntheticNameClashResolver;
import org.jnario.spec.naming.ExampleNameProvider;
import org.jnario.spec.naming.SpecQualifiedNameProvider;
import org.jnario.spec.scoping.SpecBatchScopeProvider;
import org.jnario.spec.scoping.SpecImportedNamespaceScopeProvider;
import org.jnario.spec.scoping.SpecResourceDescriptionStrategy;
import org.jnario.typing.JnarioTypeComputer;
import org.jnario.typing.JnarioTypeResolver;
import com.google.inject.Binder;
import com.google.inject.Scopes;
import com.google.inject.name.Names;
/**
* @author Sebastian Benz - Initial contribution and API
*/
@SuppressWarnings("restriction")
public class SpecRuntimeModule extends org.jnario.spec.AbstractSpecRuntimeModule {
@Override
public void configure(Binder binder) {
super.configure(binder);
binder.bind(FlexerFactory.class).in(Scopes.SINGLETON);
binder.bind(AbstractDocGenerator.class).to(SpecDocGenerator.class);
binder.bind(SignatureHashBuilder.class).to(JnarioSignatureHashBuilder.class);
binder.bind(SyntheticNameClashResolver.class).to(SpecSyntheticNameClashResolver.class);
binder.bind(JnarioNameProvider.class).to(ExampleNameProvider.class);
binder.bind(ExecutableProvider.class).to(SpecExecutableProvider.class);
binder.bind(Executable2ResultMapping.class).to(HashBasedSpec2ResultMapping.class);
binder.bind(ImplicitlyImportedFeatures.class).to(JnarioImplicitlyImportedFeatures.class);
binder.bind(boolean.class).annotatedWith(
Names.named(CompositeEValidator.USE_EOBJECT_VALIDATOR)).toInstance(false);
binder.bind(XtendBatchCompiler.class).to(SpecBatchCompiler.class);
}
public Class extends JvmTypesBuilder> bindJvmTypesBuilder(){
return ExtendedJvmTypesBuilder.class;
}
public Class extends JvmModelGenerator> bindJvmModelGenerator(){
return SpecJvmModelGenerator.class;
}
public Class extends OutputConfigurationProvider> bindOutputConfigurationProvider() {
return DocOutputConfigurationProvider.class;
}
public Class extends IFilePostProcessor> bindPostProcessor() {
return TraceAwarePostProcessor.class;
}
@Override
public Class extends ILinkingService> bindILinkingService() {
return JnarioLinkingService.class;
}
public Class extends JavaIoFileSystemAccess> bindJavaIoFileSystemAccess() {
return JnarioJavaIoFileSystemAccess.class;
}
public Class extends org.jnario.compiler.JnarioBatchCompiler> bindJnarioBatchCompiler(){
return SpecBatchCompiler.class;
}
public XbaseFactory bindXbaseFactory() {
return XbaseFactory.eINSTANCE;
}
@Override
public Class extends XbaseBatchScopeProvider> bindXbaseBatchScopeProvider() {
return SpecBatchScopeProvider.class;
}
/**********************************************************************/
public Class extends XExpressionHelper> bindXExpressionHelper() {
return JnarioExpressionHelper.class;
}
@Override
public Class extends IValueConverterService> bindIValueConverterService() {
return SpecValueConverterService.class;
}
@Override
public void configureIScopeProviderDelegate(Binder binder) {
binder.bind(IScopeProvider.class).annotatedWith(Names.named(AbstractDeclarativeScopeProvider.NAMED_DELEGATE))
.to(SpecImportedNamespaceScopeProvider.class);
}
@Override
public Class extends IQualifiedNameProvider> bindIQualifiedNameProvider() {
return SpecQualifiedNameProvider.class;
}
@Override
public Class extends IDefaultResourceDescriptionStrategy> bindIDefaultResourceDescriptionStrategy() {
return SpecResourceDescriptionStrategy.class;
}
public Class extends JvmModelAssociator> bindJvmModelAssociator() {
return IXtendJvmAssociations.Impl.class;
}
public Class extends EarlyExitValidator> bindEarlyExitValidator() {
return XtendEarlyExitValidator.class;
}
public Class extends IOutputConfigurationProvider> bindIOutputConfigurationProvider() {
return XtendOutputConfigurationProvider.class;
}
@Override
public Class extends ILocationInFileProvider> bindILocationInFileProvider() {
return XtendLocationInFileProvider.class;
}
@Override
public Class extends ILinkingDiagnosticMessageProvider> bindILinkingDiagnosticMessageProvider() {
return XtendLinkingDiagnosticMessageProvider.class;
}
public Class extends IBasicFormatter> bindIBasicFormatter() {
return SpecFormatter.class;
}
public Class extends IImportsConfiguration> bindIImportsConfiguration() {
return XtendImportsConfiguration.class;
}
@Override
public Class extends ConfigurableIssueCodesProvider> bindConfigurableIssueCodesProvider() {
return XtendConfigurableIssueCodes.class;
}
public XtendFactory bindXtendFactory() {
return XtendFactory.eINSTANCE;
}
@Override
public Class extends DefaultBatchTypeResolver> bindDefaultBatchTypeResolver() {
return TypeDeclarationAwareBatchTypeResolver.class;
}
@Override
public Class extends DefaultReentrantTypeResolver> bindDefaultReentrantTypeResolver() {
return JnarioTypeResolver.class;
}
public Class extends XbaseCompiler> bindXbaseCompiler() {
return JnarioCompiler.class;
}
public Class extends TraceAwarePostProcessor> bindTraceAwarePostProcessor() {
return UnicodeAwarePostProcessor.class;
}
@Override
public Class extends ITypeComputer> bindITypeComputer() {
return JnarioTypeComputer.class;
}
public Class extends IJvmModelInferrer> bindIJvmModelInferrer() {
return SpecJvmModelInferrer.class;
}
@Override
public Class extends Manager> bindIResourceDescription$Manager() {
return XtendResourceDescriptionManager.class;
}
@Override
public Class extends IResourceValidator> bindIResourceValidator() {
return org.eclipse.xtend.core.validation.CachingResourceValidatorImpl.class;
}
@Override
public Class extends ILinker> bindILinker() {
return SpecLazyLinker.class;
}
@Override
public Class extends XtextResource> bindXtextResource() {
return LinkingProxyAwareResource.class;
}
public Class extends LazyURIEncoder> bindLazyURIEncoder() {
return URIEncoder.class;
}
/**
* @since 2.4.2
*/
@Override
public void configureIResourceDescriptions(com.google.inject.Binder binder) {
binder.bind(IResourceDescriptions.class).to(EagerResourceSetBasedResourceDescriptions.class);
}
public Class extends MutableFileSystemSupport> bindFileHandleFactory() {
return AbstractFileSystemSupport.class;
}
public Class extends AbstractFileSystemSupport> bindAbstractFileSystemSupport() {
return JavaIOFileSystemSupport.class;
}
@Override
public Class extends IGenerator> bindIGenerator() {
return XtendGenerator.class;
}
public void configureWorkspaceConfigContribution(Binder binder) {
binder.bind(WorkspaceConfig.class).toProvider(RuntimeWorkspaceConfigProvider.class);
}
public Class extends FileLocations> bindFileLocations() {
return FileLocationsImpl.class;
}
public Class extends IEObjectDocumentationProvider> bindIEObjectDocumentationProvider() {
return XtendDocumentationProvider.class;
}
@Override
public Class extends IParser> bindIParser() {
return SpecParserWithoutPartialParsing.class;
}
public Class extends IDValueConverter> bindIDValueConverter() {
return JnarioJavaIDValueConverter.class;
}
public Class extends NodeModelAccess> bindNodeModelAccess(){
return JnarioNodeModelAccess.class;
}
@Override
public Class extends EObjectAtOffsetHelper> bindEObjectAtOffsetHelper() {
return XtendEObjectAtOffsetHelper.class;
}
public Class extends ImplicitReturnFinder> bindImplicitRetrnFinder() {
return XtendImplicitReturnFinder.class;
}
public Class extends HumanReadableTypeNames> bindHumanReadableTypeNames() {
return LocalClassAwareTypeNames.class;
}
public Class extends ConstructorScopes> bindConstructorScopes() {
return AnonymousClassConstructorScopes.class;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy