Skip to content

Commit

Permalink
[lang][ui] Injection definition for extra language generation into MW…
Browse files Browse the repository at this point in the history
…E2 script.

Signed-off-by: Stéphane Galland <galland@arakhne.org>
  • Loading branch information
gallandarakhneorg committed Jul 18, 2017
1 parent 66cffe6 commit b9dcd66
Show file tree
Hide file tree
Showing 3 changed files with 75 additions and 50 deletions.
37 changes: 32 additions & 5 deletions main/coreplugins/io.sarl.lang.mwe2/GenerateSARL2.mwe2
Expand Up @@ -515,6 +515,10 @@ Workflow {
bind = "org.eclipse.xtext.generator.IOutputConfigurationProvider"
to = "io.sarl.lang.generator.SarlOutputConfigurationProvider"
}
runtime = {
bind = "org.eclipse.xtext.generator.IContextualOutputConfigurationProvider"
to = "io.sarl.lang.generator.SarlOutputConfigurationProvider"
}
runtime = {
bind = "org.eclipse.xtext.xbase.jvmmodel.JvmModelAssociator"
to = "io.sarl.lang.jvmmodel.SarlJvmModelAssociations$Impl"
Expand Down Expand Up @@ -551,6 +555,14 @@ Workflow {
to = "io.sarl.lang.generator.GeneratorConfigProvider2"
}

ui = {
bind = "org.eclipse.xtext.generator.IOutputConfigurationProvider"
to = "io.sarl.lang.ui.generator.extra.ExtensionPointExtraLanguageOutputConfigurationProvider"
}
ui = {
bind = "org.eclipse.xtext.generator.IContextualOutputConfigurationProvider"
to = "io.sarl.lang.ui.generator.extra.ExtensionPointExtraLanguageOutputConfigurationProvider"
}
ui = {
bind = "org.eclipse.xtend.ide.contentassist.javadoc.XtendJavaDocContentAssistProcessor"
to = "io.sarl.lang.ui.contentassist.javadoc.SARLJavaDocContentAssistProcessor"
Expand Down Expand Up @@ -721,11 +733,26 @@ Workflow {
bind = "org.eclipse.xtend.ide.codebuilder.XtendFieldBuilder"
to = "io.sarl.lang.ui.codebuilder.SarlFieldBuilder"
}

both = {
bind = "org.eclipse.xtext.generator.IContextualOutputConfigurationProvider"
to = "io.sarl.lang.generator.SarlOutputConfigurationProvider"
}
ui = {
bind = "org.eclipse.xtext.generator.IGenerator"
to = "io.sarl.lang.generator.extra.ExtraLanguageSupportGenerator"
}
ui = {
bind = "io.sarl.lang.generator.extra.IExtraLanguageGeneratorProvider"
to = "io.sarl.lang.ui.generator.extra.ExtensionPointExtraLanguageGeneratorProvider"
}
ui = {
bind = "io.sarl.lang.validation.extra.IExtraLanguageValidatorProvider"
to = "io.sarl.lang.ui.validation.extra.ExtensionPointExtraLanguageValidatorProvider"
}
ui = {
bind = "io.sarl.lang.generator.extra.ExtraLanguageTypeConverter$TypeConverterRuleReader"
to = "io.sarl.lang.ui.generator.extra.preferences.PreferenceBasedTypeConverterRuleReader"
}
ui = {
bind = "io.sarl.lang.generator.extra.ExtraLanguageFeatureNameConverter$FeatureNameConverterRuleReader"
to = "io.sarl.lang.ui.generator.extra.preferences.PreferenceBasedFeatureNameConverterRuleReader"
}
}

// Xtend-extension bindings
Expand Down
Expand Up @@ -27,7 +27,10 @@
import com.google.inject.Provider;
import com.google.inject.name.Names;
import io.sarl.lang.generator.IGeneratorConfigProvider2;
import io.sarl.lang.generator.SarlOutputConfigurationProvider;
import io.sarl.lang.generator.extra.ExtraLanguageFeatureNameConverter;
import io.sarl.lang.generator.extra.ExtraLanguageSupportGenerator;
import io.sarl.lang.generator.extra.ExtraLanguageTypeConverter;
import io.sarl.lang.generator.extra.IExtraLanguageGeneratorProvider;
import io.sarl.lang.ide.contentassist.antlr.PartialSARLContentAssistParser;
import io.sarl.lang.ide.contentassist.antlr.SARLParser;
import io.sarl.lang.ide.contentassist.antlr.internal.InternalSARLLexer;
Expand All @@ -46,6 +49,10 @@
import io.sarl.lang.ui.contentassist.templates.SARLTemplateContextType;
import io.sarl.lang.ui.contentassist.templates.SARLTemplateProposalProvider;
import io.sarl.lang.ui.editor.SARLSourceViewer;
import io.sarl.lang.ui.generator.extra.ExtensionPointExtraLanguageGeneratorProvider;
import io.sarl.lang.ui.generator.extra.ExtensionPointExtraLanguageOutputConfigurationProvider;
import io.sarl.lang.ui.generator.extra.preferences.PreferenceBasedFeatureNameConverterRuleReader;
import io.sarl.lang.ui.generator.extra.preferences.PreferenceBasedTypeConverterRuleReader;
import io.sarl.lang.ui.highlighting.SARLHighlightingCalculator;
import io.sarl.lang.ui.hover.SARLHoverSerializer;
import io.sarl.lang.ui.hover.SARLHoverSignatureProvider;
Expand All @@ -71,6 +78,8 @@
import io.sarl.lang.ui.refactoring.rename.SARLRenameStrategyProvider;
import io.sarl.lang.ui.tasks.SarlTaskTagProvider;
import io.sarl.lang.ui.validation.SARLUIValidator;
import io.sarl.lang.ui.validation.extra.ExtensionPointExtraLanguageValidatorProvider;
import io.sarl.lang.validation.extra.IExtraLanguageValidatorProvider;
import org.eclipse.compare.IViewerCreator;
import org.eclipse.core.resources.IWorkspaceRoot;
import org.eclipse.core.resources.ResourcesPlugin;
Expand Down Expand Up @@ -127,6 +136,8 @@
import org.eclipse.xtext.common.types.xtext.ui.JdtBasedSimpleTypeScopeProvider;
import org.eclipse.xtext.generator.AbstractFileSystemAccess2;
import org.eclipse.xtext.generator.IContextualOutputConfigurationProvider;
import org.eclipse.xtext.generator.IGenerator;
import org.eclipse.xtext.generator.IOutputConfigurationProvider;
import org.eclipse.xtext.generator.IShouldGenerate;
import org.eclipse.xtext.ide.LexerIdeBindings;
import org.eclipse.xtext.ide.editor.bracketmatching.IBracePairProvider;
Expand Down Expand Up @@ -535,14 +546,19 @@ public void configureSARLFieldOutlineFilter(Binder binder) {
binder.bind(IOutlineContribution.class).annotatedWith(Names.named("SARLFieldOutlineFilter")).to(SARLFieldOutlineFilter.class);
}

// contributed by io.sarl.lang.mwe2.binding.InjectionFragment2 [Bindings provided by SARL API]
public Class<? extends IOutputConfigurationProvider> bindIOutputConfigurationProvider() {
return ExtensionPointExtraLanguageOutputConfigurationProvider.class;
}

// contributed by io.sarl.lang.mwe2.binding.InjectionFragment2 [Bindings provided by SARL API]
public Class<? extends XtendParameterBuilder> bindXtendParameterBuilder() {
return SarlParameterBuilder.class;
}

// contributed by io.sarl.lang.mwe2.binding.InjectionFragment2 [Bindings provided by SARL API]
public Class<? extends IContextualOutputConfigurationProvider> bindIContextualOutputConfigurationProvider() {
return SarlOutputConfigurationProvider.class;
return ExtensionPointExtraLanguageOutputConfigurationProvider.class;
}

// contributed by io.sarl.lang.mwe2.binding.InjectionFragment2 [Bindings provided by SARL API]
Expand Down Expand Up @@ -637,6 +653,11 @@ public Class<? extends ITemplateProposalProvider> bindITemplateProposalProvider(
return SARLTemplateProposalProvider.class;
}

// contributed by io.sarl.lang.mwe2.binding.InjectionFragment2 [Bindings provided by SARL API]
public Class<? extends IExtraLanguageValidatorProvider> bindIExtraLanguageValidatorProvider() {
return ExtensionPointExtraLanguageValidatorProvider.class;
}

// contributed by io.sarl.lang.mwe2.binding.InjectionFragment2 [Bindings provided by SARL API]
public Class<? extends IShouldGenerate> bindIShouldGenerate() {
return IShouldGenerate.Always.class;
Expand All @@ -647,6 +668,11 @@ public Class<? extends XtendFieldBuilder> bindXtendFieldBuilder() {
return SarlFieldBuilder.class;
}

// contributed by io.sarl.lang.mwe2.binding.InjectionFragment2 [Bindings provided by SARL API]
public Class<? extends ExtraLanguageTypeConverter.TypeConverterRuleReader> bindExtraLanguageTypeConverter$TypeConverterRuleReader() {
return PreferenceBasedTypeConverterRuleReader.class;
}

// contributed by io.sarl.lang.mwe2.binding.InjectionFragment2 [Bindings provided by SARL API]
public void configureIPreferenceStoreInitializer(Binder binder) {
binder.bind(IPreferenceStoreInitializer.class).annotatedWith(Names.named("RefactoringPreferences")).to(SARLPreferenceStoreInitializer.class);
Expand All @@ -662,11 +688,26 @@ public Class<? extends XtendHoverSerializer> bindXtendHoverSerializer() {
return SARLHoverSerializer.class;
}

// contributed by io.sarl.lang.mwe2.binding.InjectionFragment2 [Bindings provided by SARL API]
public Class<? extends ExtraLanguageFeatureNameConverter.FeatureNameConverterRuleReader> bindExtraLanguageFeatureNameConverter$FeatureNameConverterRuleReader() {
return PreferenceBasedFeatureNameConverterRuleReader.class;
}

// contributed by io.sarl.lang.mwe2.binding.InjectionFragment2 [Bindings provided by SARL API]
public Class<? extends IExtraLanguageGeneratorProvider> bindIExtraLanguageGeneratorProvider() {
return ExtensionPointExtraLanguageGeneratorProvider.class;
}

// contributed by io.sarl.lang.mwe2.binding.InjectionFragment2 [Bindings provided by SARL API]
public Class<? extends OutlineFilterAndSorter.IComparator> bindOutlineFilterAndSorter$IComparator() {
return SARLOutlineNodeComparator.class;
}

// contributed by io.sarl.lang.mwe2.binding.InjectionFragment2 [Bindings provided by SARL API]
public Class<? extends IGenerator> bindIGenerator() {
return ExtraLanguageSupportGenerator.class;
}

// contributed by io.sarl.lang.mwe2.binding.InjectionFragment2 [Bindings provided by SARL API]
public Class<? extends IContentAssistantFactory> bindIContentAssistantFactory() {
return SARLContentAssistFactory.class;
Expand Down
Expand Up @@ -29,29 +29,15 @@
import org.eclipse.ui.plugin.AbstractUIPlugin;
import org.eclipse.xtend.core.compiler.XtendGenerator;
import org.eclipse.xtext.builder.preferences.BuilderConfigurationBlock;
import org.eclipse.xtext.generator.IGenerator;
import org.eclipse.xtext.generator.IGenerator2;
import org.eclipse.xtext.generator.IOutputConfigurationProvider;
import org.eclipse.xtext.service.SingletonBinding;
import org.eclipse.xtext.ui.editor.XtextEditor;
import org.eclipse.xtext.ui.editor.autoedit.AbstractEditStrategy;
import org.eclipse.xtext.validation.IssueSeveritiesProvider;

import io.sarl.lang.bugfixes.pending.bug621.Bug621SARLExtraLanguageValidator;
import io.sarl.lang.generator.extra.ExtraLanguageFeatureNameConverter.FeatureNameConverterRuleReader;
import io.sarl.lang.generator.extra.ExtraLanguageSupportGenerator;
import io.sarl.lang.generator.extra.ExtraLanguageTypeConverter.TypeConverterRuleReader;
import io.sarl.lang.generator.extra.IExtraLanguageGeneratorProvider;
import io.sarl.lang.ui.bugfixes.pending.xtexteclipse282.Issue282BuilderConfigurationBlock;
import io.sarl.lang.ui.generator.extra.ExtensionPointExtraLanguageGeneratorProvider;
import io.sarl.lang.ui.generator.extra.ExtensionPointExtraLanguageOutputConfigurationProvider;
import io.sarl.lang.ui.generator.extra.ExtensionPointExtraLanguageValidatorProvider;
import io.sarl.lang.ui.generator.extra.preferences.PreferenceBasedFeatureNameConverterRuleReader;
import io.sarl.lang.ui.generator.extra.preferences.PreferenceBasedTypeConverterRuleReader;
import io.sarl.lang.ui.validation.UIConfigurableIssueSeveritiesProvider;
import io.sarl.lang.validation.IConfigurableIssueSeveritiesProvider;
import io.sarl.lang.validation.SARLValidator;
import io.sarl.lang.validation.extra.IExtraLanguageValidatorProvider;

/**
* Use this class to register components to be used within the IDE.
Expand Down Expand Up @@ -138,33 +124,4 @@ public Class<? extends BuilderConfigurationBlock> bindBuilderConfigurationBlock(
return Issue282BuilderConfigurationBlock.class;
}

public Class<? extends IOutputConfigurationProvider> bindIOutputConfigurationProvider() {
return ExtensionPointExtraLanguageOutputConfigurationProvider.class;
}

public Class<? extends IGenerator> bindIGenerator() {
return ExtraLanguageSupportGenerator.class;
}

@SingletonBinding(eager = true)
public Class<? extends SARLValidator> bindSARLValidator() {
return Bug621SARLExtraLanguageValidator.class;
}

public Class<? extends IExtraLanguageGeneratorProvider> bindIExtraLanguageGeneratorProvider() {
return ExtensionPointExtraLanguageGeneratorProvider.class;
}

public Class<? extends IExtraLanguageValidatorProvider> bindIExtraLanguageValidatorProvider() {
return ExtensionPointExtraLanguageValidatorProvider.class;
}

public Class<? extends TypeConverterRuleReader> bindTypeConverterRuleReader() {
return PreferenceBasedTypeConverterRuleReader.class;
}

public Class<? extends FeatureNameConverterRuleReader> bindFeatureNameConverterRuleReader() {
return PreferenceBasedFeatureNameConverterRuleReader.class;
}

}

0 comments on commit b9dcd66

Please sign in to comment.