mirror of
https://github.com/sigmasternchen/xtext-core
synced 2025-03-16 16:58:56 +00:00
Regenerated Xbase and Xtend with new generator
Signed-off-by: Miro Spönemann <miro.spoenemann@itemis.de>
This commit is contained in:
parent
e3bd95a4f6
commit
e5ca36dd9b
5 changed files with 19 additions and 13 deletions
|
@ -24,4 +24,5 @@ Import-Package: com.ibm.icu.text;version="4.0.0",
|
|||
org.apache.commons.logging;version="1.0.4";resolution:=optional;x-installation:=greedy,
|
||||
org.apache.log4j;version="1.2.15"
|
||||
Export-Package: org.eclipse.xtext.xtext.generator,
|
||||
org.eclipse.xtext.xtext.generator.model
|
||||
org.eclipse.xtext.xtext.generator.model,
|
||||
org.eclipse.xtext.xtext.generator.xbase
|
||||
|
|
|
@ -142,7 +142,7 @@ class XtextGenerator extends AbstractWorkflowComponent2 implements IGuiceAwareGe
|
|||
|
||||
protected def generateExecutableExtensionFactory(LanguageConfig2 language) {
|
||||
if (projectConfig.eclipsePluginSrcGen !== null)
|
||||
templates.createEclipsePluginExecutableExtensionFactory(language).writeTo(projectConfig.eclipsePluginSrcGen)
|
||||
templates.createEclipsePluginExecutableExtensionFactory(language, languageConfigs.head).writeTo(projectConfig.eclipsePluginSrcGen)
|
||||
}
|
||||
|
||||
protected def generateManifests() {
|
||||
|
|
|
@ -111,7 +111,6 @@ class XtextGeneratorTemplates {
|
|||
«usedGrammar.naming.runtimeSetup».doSetup();
|
||||
«ENDFOR»
|
||||
«IF langConfig.grammar.usedGrammars.isEmpty»
|
||||
|
||||
// register default ePackages
|
||||
if (!«'org.eclipse.emf.ecore.resource.Resource'.typeRef».Factory.Registry.INSTANCE.getExtensionToFactoryMap().containsKey("ecore"))
|
||||
«'org.eclipse.emf.ecore.resource.Resource'.typeRef».Factory.Registry.INSTANCE.getExtensionToFactoryMap().put(
|
||||
|
@ -154,7 +153,7 @@ class XtextGeneratorTemplates {
|
|||
ELSE
|
||||
»configure«
|
||||
ENDIF
|
||||
»«key.name ?: key.type.simpleMethodName
|
||||
»«key.name?.replace('.', '$') ?: key.type.simpleMethodName
|
||||
»«IF value.expression !== null && !value.provider»ToInstance«ENDIF»'''
|
||||
}
|
||||
|
||||
|
@ -207,6 +206,7 @@ class XtextGeneratorTemplates {
|
|||
val superClass = langConfig.runtimeGenModule.superClass ?: runtimeDefaultModule
|
||||
val javaFile = new JavaFileAccess(runtimeGenModule, codeConfig)
|
||||
javaFile.encodingProvider = encodingProvider
|
||||
javaFile.importNestedTypeThreshold = JavaFileAccess.DONT_IMPORT_NESTED_TYPES
|
||||
|
||||
javaFile.typeComment = '''
|
||||
/**
|
||||
|
@ -268,6 +268,7 @@ class XtextGeneratorTemplates {
|
|||
val superClass = langConfig.eclipsePluginGenModule.superClass ?: eclipsePluginDefaultModule
|
||||
val javaFile = new JavaFileAccess(eclipsePluginGenModule, codeConfig)
|
||||
javaFile.encodingProvider = encodingProvider
|
||||
javaFile.importNestedTypeThreshold = JavaFileAccess.DONT_IMPORT_NESTED_TYPES
|
||||
|
||||
javaFile.typeComment = '''
|
||||
/**
|
||||
|
@ -322,9 +323,8 @@ class XtextGeneratorTemplates {
|
|||
return file
|
||||
}
|
||||
|
||||
def JavaFileAccess createEclipsePluginExecutableExtensionFactory(LanguageConfig2 langConfig) {
|
||||
val it = langConfig.naming
|
||||
val javaFile = new JavaFileAccess(eclipsePluginExecutableExtensionFactory, codeConfig)
|
||||
def JavaFileAccess createEclipsePluginExecutableExtensionFactory(LanguageConfig2 langConfig, LanguageConfig2 activatorLanguage) {
|
||||
val javaFile = new JavaFileAccess(langConfig.naming.eclipsePluginExecutableExtensionFactory, codeConfig)
|
||||
javaFile.encodingProvider = encodingProvider
|
||||
|
||||
javaFile.typeComment = '''
|
||||
|
@ -334,16 +334,16 @@ class XtextGeneratorTemplates {
|
|||
*/
|
||||
'''
|
||||
javaFile.javaContent = '''
|
||||
public class «eclipsePluginExecutableExtensionFactory.simpleName» extends «'org.eclipse.xtext.ui.guice.AbstractGuiceAwareExecutableExtensionFactory'.typeRef» {
|
||||
public class «langConfig.naming.eclipsePluginExecutableExtensionFactory.simpleName» extends «'org.eclipse.xtext.ui.guice.AbstractGuiceAwareExecutableExtensionFactory'.typeRef» {
|
||||
|
||||
@Override
|
||||
protected «'org.osgi.framework.Bundle'.typeRef» getBundle() {
|
||||
return «eclipsePluginActivator».getInstance().getBundle();
|
||||
return «activatorLanguage.naming.eclipsePluginActivator».getInstance().getBundle();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected «Injector» getInjector() {
|
||||
return «eclipsePluginActivator».getInstance().getInjector(«eclipsePluginActivator».«langConfig.grammar.name.toUpperCase.replaceAll('\\.', '_')»);
|
||||
return «activatorLanguage.naming.eclipsePluginActivator».getInstance().getInjector(«activatorLanguage.naming.eclipsePluginActivator».«langConfig.grammar.name.toUpperCase.replaceAll('\\.', '_')»);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -19,6 +19,8 @@ import org.eclipse.xtext.xtext.generator.CodeConfig
|
|||
|
||||
class JavaFileAccess extends TextFileAccess {
|
||||
|
||||
public static val DONT_IMPORT_NESTED_TYPES = Integer.MAX_VALUE
|
||||
|
||||
val Map<String, String> imports = newHashMap
|
||||
|
||||
val TypeReference javaType
|
||||
|
@ -28,6 +30,9 @@ class JavaFileAccess extends TextFileAccess {
|
|||
@Accessors
|
||||
CharSequence typeComment
|
||||
|
||||
@Accessors
|
||||
int importNestedTypeThreshold = 8
|
||||
|
||||
@Accessors
|
||||
boolean markedAsGenerated
|
||||
|
||||
|
@ -64,7 +69,7 @@ class JavaFileAccess extends TextFileAccess {
|
|||
else
|
||||
usableName = simpleName + '.' + usableName
|
||||
if (!CodeGenUtil.isJavaDefaultType(simpleName)
|
||||
&& !(i == simpleNames.length - 1 && i > 0 && simpleName.length <= 8)) {
|
||||
&& !(i > 0 && simpleName.length <= importNestedTypeThreshold)) {
|
||||
val importable = typeRef.packageName + '.' + simpleNames.subList(0, i + 1).join('.')
|
||||
val imported = imports.get(usableName)
|
||||
if (imported === null) {
|
||||
|
|
|
@ -85,7 +85,7 @@ class XbaseGeneratorFragment2 extends AbstractGeneratorFragment2 {
|
|||
addEclipsePluginGuiceBindings(language)
|
||||
if (projectConfig.eclipsePluginPluginXml !== null)
|
||||
addEclipsePluginExtensions(language)
|
||||
if (!projectConfig.runtimeSrc.containsXtendFile(language.jvmModelInferrer))
|
||||
if (generateXtendInferrer && !projectConfig.runtimeSrc.containsXtendFile(language.jvmModelInferrer))
|
||||
doGenerateXtendInferrer(language)
|
||||
|
||||
if (projectConfig.runtimeManifest !== null) {
|
||||
|
@ -202,7 +202,7 @@ class XbaseGeneratorFragment2 extends AbstractGeneratorFragment2 {
|
|||
'org.eclipse.xtext.xbase.ui.imports.InteractiveUnresolvedTypeResolver'.typeRef)
|
||||
.addTypeToType('org.eclipse.xtext.common.types.xtext.ui.ITypesProposalProvider'.typeRef,
|
||||
'org.eclipse.xtext.xbase.ui.contentassist.ImportingTypesProposalProvider'.typeRef)
|
||||
.addTypeToType(' org.eclipse.xtext.ui.editor.templates.XtextTemplateContextType'.typeRef,
|
||||
.addTypeToType('org.eclipse.xtext.ui.editor.templates.XtextTemplateContextType'.typeRef,
|
||||
'org.eclipse.xtext.xbase.ui.templates.XbaseTemplateContextType'.typeRef)
|
||||
} else {
|
||||
bindingFactory
|
||||
|
|
Loading…
Reference in a new issue