Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHenrik Rentz-Reichert2013-04-03 08:54:37 +0000
committerHenrik Rentz-Reichert2013-04-03 08:54:37 +0000
commit2c008b4e35ad4f5a94fb9a0af992531bac210578 (patch)
tree34a9ac0cd831b395e3a899ab24b629e2d240f366 /plugins/org.eclipse.etrice.generator.java/src/org/eclipse/etrice/generator/java/gen/SubSystemClassGen.xtend
parentcefa8fbcabdf55cd0098bbee39ac17e02f78ffb5 (diff)
downloadorg.eclipse.etrice-2c008b4e35ad4f5a94fb9a0af992531bac210578.tar.gz
org.eclipse.etrice-2c008b4e35ad4f5a94fb9a0af992531bac210578.tar.xz
org.eclipse.etrice-2c008b4e35ad4f5a94fb9a0af992531bac210578.zip
[core.genmodel, generator, generator.c, generator.java] bug 403721: incremental codegeneration
https://bugs.eclipse.org/bugs/show_bug.cgi?id=403721 - introduced interface IGeneratorFileIo for code generation - added standard implementation IncrementalFileIo - using default non-incremental
Diffstat (limited to 'plugins/org.eclipse.etrice.generator.java/src/org/eclipse/etrice/generator/java/gen/SubSystemClassGen.xtend')
-rw-r--r--plugins/org.eclipse.etrice.generator.java/src/org/eclipse/etrice/generator/java/gen/SubSystemClassGen.xtend17
1 files changed, 7 insertions, 10 deletions
diff --git a/plugins/org.eclipse.etrice.generator.java/src/org/eclipse/etrice/generator/java/gen/SubSystemClassGen.xtend b/plugins/org.eclipse.etrice.generator.java/src/org/eclipse/etrice/generator/java/gen/SubSystemClassGen.xtend
index 2bdfaa6b0..0be1dd730 100644
--- a/plugins/org.eclipse.etrice.generator.java/src/org/eclipse/etrice/generator/java/gen/SubSystemClassGen.xtend
+++ b/plugins/org.eclipse.etrice.generator.java/src/org/eclipse/etrice/generator/java/gen/SubSystemClassGen.xtend
@@ -15,7 +15,6 @@ package org.eclipse.etrice.generator.java.gen
import com.google.inject.Inject
import com.google.inject.Singleton
import java.util.HashSet
-import org.eclipse.etrice.core.genmodel.base.ILogger
import org.eclipse.etrice.core.genmodel.etricegen.ActorInstance
import org.eclipse.etrice.core.genmodel.etricegen.IDiagnostician
import org.eclipse.etrice.core.genmodel.etricegen.Root
@@ -23,16 +22,16 @@ import org.eclipse.etrice.core.genmodel.etricegen.SubSystemInstance
import org.eclipse.etrice.core.room.CommunicationType
import org.eclipse.etrice.core.room.LogicalThread
import org.eclipse.etrice.generator.base.IDataConfiguration
+import org.eclipse.etrice.generator.base.IGeneratorFileIo
import org.eclipse.etrice.generator.generic.ProcedureHelpers
import org.eclipse.etrice.generator.generic.RoomExtensions
-import org.eclipse.xtext.generator.JavaIoFileSystemAccess
import static extension org.eclipse.etrice.generator.base.Indexed.*
@Singleton
class SubSystemClassGen {
- @Inject JavaIoFileSystemAccess fileAccess
+ @Inject IGeneratorFileIo fileIO
@Inject extension JavaExtensions
@Inject extension RoomExtensions
@Inject IDataConfiguration dataConfigExt
@@ -40,18 +39,16 @@ class SubSystemClassGen {
@Inject extension ProcedureHelpers
@Inject VariableServiceGen varService
- @Inject ILogger logger
@Inject IDiagnostician diagnostician
def doGenerate(Root root) {
for (ssi: root.subSystemInstances) {
- var path = ssi.subSystemClass.generationTargetPath+ssi.subSystemClass.getPath
- var file = ssi.subSystemClass.getJavaFileName
- logger.logInfo("generating SubSystemClass implementation: '"+file+"' in '"+path+"'")
+ val path = ssi.subSystemClass.generationTargetPath+ssi.subSystemClass.getPath
+ val infopath = ssi.subSystemClass.generationInfoPath+ssi.subSystemClass.getPath
+ val file = ssi.subSystemClass.getJavaFileName
checkDataPorts(ssi)
- fileAccess.setOutputPath(path)
- fileAccess.generateFile(file, root.generate(ssi))
- if(dataConfigExt.hasVariableService(ssi))
+ fileIO.generateFile("generating SubSystemClass implementation", path, infopath, file, root.generate(ssi))
+ if (dataConfigExt.hasVariableService(ssi))
varService.doGenerate(root, ssi);
}
}

Back to the top