Fixed debugger stepinto.
Change-Id: I3bf91e5984c00617f999f38029aa38e1bf512d33
diff --git a/plugins/org.eclipse.acceleo.aql/src/org/eclipse/acceleo/aql/evaluation/AbstractModuleElementService.java b/plugins/org.eclipse.acceleo.aql/src/org/eclipse/acceleo/aql/evaluation/AbstractModuleElementService.java
index c490c23..a869e58 100644
--- a/plugins/org.eclipse.acceleo.aql/src/org/eclipse/acceleo/aql/evaluation/AbstractModuleElementService.java
+++ b/plugins/org.eclipse.acceleo.aql/src/org/eclipse/acceleo/aql/evaluation/AbstractModuleElementService.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2016, 2020 Obeo.
+ * Copyright (c) 2016, 2021 Obeo.
* 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
@@ -91,7 +91,7 @@
* @return the {@link AcceleoEvaluator}
*/
protected AcceleoEvaluator getEvaluator() {
- return new AcceleoEvaluator(evaluator);
+ return evaluator;
}
/**
diff --git a/plugins/org.eclipse.acceleo.aql/src/org/eclipse/acceleo/aql/evaluation/AcceleoEvaluator.java b/plugins/org.eclipse.acceleo.aql/src/org/eclipse/acceleo/aql/evaluation/AcceleoEvaluator.java
index 0aa135f..a46bd5f 100644
--- a/plugins/org.eclipse.acceleo.aql/src/org/eclipse/acceleo/aql/evaluation/AcceleoEvaluator.java
+++ b/plugins/org.eclipse.acceleo.aql/src/org/eclipse/acceleo/aql/evaluation/AcceleoEvaluator.java
@@ -172,8 +172,11 @@
destination = destinationURI;
generationStrategy = strategy;
+
+ final String savedLastLineOfLastStatement = lastLineOfLastStatement;
+ final boolean savedInlinedBlock = inlinedBlock;
lastLineOfLastStatement = "";
- // TODO this is an issue for calling generate() multiple times
+ inlinedBlock = false;
if (generationResult == null) {
generationResult = new GenerationResult();
}
@@ -183,6 +186,8 @@
res = doSwitch(node);
} finally {
popVariables();
+ lastLineOfLastStatement = savedLastLineOfLastStatement;
+ inlinedBlock = savedInlinedBlock;
}
return res;