mirror of
https://github.com/sigmasternchen/xtext-core
synced 2025-03-16 16:58:56 +00:00
applied patch from bug https://bugs.eclipse.org/bugs/show_bug.cgi?id=250380
This commit is contained in:
parent
c33faef78b
commit
53bab77061
11 changed files with 63 additions and 31 deletions
|
@ -1,9 +1,12 @@
|
|||
package org.eclipse.xtext.crossrefs;
|
||||
|
||||
import org.apache.log4j.Logger;
|
||||
import org.eclipse.emf.ecore.EObject;
|
||||
import org.eclipse.xtext.tests.AbstractGeneratorTest;
|
||||
|
||||
public class CrossRefTest extends AbstractGeneratorTest {
|
||||
private static final Logger logger = Logger.getLogger(CrossRefTest.class);
|
||||
|
||||
@Override
|
||||
protected void setUp() throws Exception {
|
||||
super.setUp();
|
||||
|
@ -12,7 +15,7 @@ public class CrossRefTest extends AbstractGeneratorTest {
|
|||
|
||||
public void testSimple() throws Exception {
|
||||
EObject model = getModel("type A extends B type B extends A");
|
||||
System.out.println(invokeWithXtend("types.collect(e|e.name+' '+e.extends.name).toString(',')", model));
|
||||
logger.debug(invokeWithXtend("types.collect(e|e.name+' '+e.extends.name).toString(',')", model));
|
||||
assertWithXtend("'B'", "types.first().extends.name", model);
|
||||
assertWithXtend("types.first()", "types.first().extends.extends", model);
|
||||
}
|
||||
|
|
|
@ -2,6 +2,7 @@ package org.eclipse.xtext.grammarinheritance;
|
|||
|
||||
import java.util.List;
|
||||
|
||||
import org.apache.log4j.Logger;
|
||||
import org.eclipse.emf.common.util.EList;
|
||||
import org.eclipse.emf.common.util.URI;
|
||||
import org.eclipse.emf.ecore.EClass;
|
||||
|
@ -20,6 +21,8 @@ import org.eclipse.xtext.resource.metamodel.Xtext2EcoreTransformer;
|
|||
import org.eclipse.xtext.tests.AbstractGeneratorTest;
|
||||
|
||||
public class ToEcoreTrafoTest extends AbstractGeneratorTest {
|
||||
private static final Logger logger = Logger.getLogger(ToEcoreTrafoTest.class);
|
||||
|
||||
@Override
|
||||
protected void setUp() throws Exception {
|
||||
super.setUp();
|
||||
|
@ -32,14 +35,14 @@ public class ToEcoreTrafoTest extends AbstractGeneratorTest {
|
|||
if (!r.getParseResult().getParseErrors().isEmpty()) {
|
||||
List<SyntaxError> errors = r.getParseResult().getParseErrors();
|
||||
for (SyntaxError syntaxError : errors) {
|
||||
System.out.println(syntaxError.getMessage() + " - " + syntaxError.getNode().getLine());
|
||||
logger.debug(syntaxError.getMessage() + " - " + syntaxError.getNode().getLine());
|
||||
}
|
||||
fail();
|
||||
}
|
||||
List<LexerRule> lexerRules = GrammarUtil.allLexerRules(element);
|
||||
assertEquals(8, lexerRules.size());
|
||||
for (LexerRule lexerRule : lexerRules) {
|
||||
System.out.println(lexerRule.getName());
|
||||
logger.debug(lexerRule.getName());
|
||||
}
|
||||
|
||||
Xtext2EcoreTransformer transformer = new Xtext2EcoreTransformer();
|
||||
|
@ -54,7 +57,7 @@ public class ToEcoreTrafoTest extends AbstractGeneratorTest {
|
|||
List<LexerRule> lexerRules = GrammarUtil.allLexerRules(element);
|
||||
assertEquals(8, lexerRules.size());
|
||||
for (LexerRule lexerRule : lexerRules) {
|
||||
System.out.println(lexerRule.getName());
|
||||
logger.debug(lexerRule.getName());
|
||||
}
|
||||
Xtext2EcoreTransformer transformer = new Xtext2EcoreTransformer();
|
||||
List<EPackage> list = transformer.transform(element);
|
||||
|
|
|
@ -4,17 +4,20 @@ import junit.framework.TestCase;
|
|||
|
||||
import org.antlr.runtime.ANTLRStringStream;
|
||||
import org.antlr.runtime.CommonTokenStream;
|
||||
import org.apache.log4j.Logger;
|
||||
import org.eclipse.xtext.testlanguages.parser.internal.InternalSimpleExpressionsLexer;
|
||||
|
||||
public class LexerErrorTest extends TestCase {
|
||||
|
||||
public void testLexerError() throws Exception {
|
||||
private static final Logger logger = Logger.getLogger(LexerErrorTest.class);
|
||||
|
||||
public void testLexerError() throws Exception {
|
||||
String model = "a /* uncomplete comment *";
|
||||
InternalSimpleExpressionsLexer lexer = new InternalSimpleExpressionsLexer();
|
||||
lexer.setCharStream(new ANTLRStringStream(model));
|
||||
CommonTokenStream stream = new CommonTokenStream(lexer);
|
||||
for(Object token : stream.getTokens()) {
|
||||
System.out.println(token);
|
||||
logger.debug(token);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -8,6 +8,7 @@
|
|||
*******************************************************************************/
|
||||
package org.eclipse.xtext.parseerrorhandling;
|
||||
|
||||
import org.apache.log4j.Logger;
|
||||
import org.eclipse.emf.common.util.EList;
|
||||
import org.eclipse.emf.ecore.EObject;
|
||||
import org.eclipse.xtext.XtextGrammarTestStandaloneSetup;
|
||||
|
@ -20,6 +21,8 @@ import org.eclipse.xtext.tests.AbstractGeneratorTest;
|
|||
|
||||
public class ParseErrorHandlingTest extends AbstractGeneratorTest {
|
||||
|
||||
private static final Logger logger = Logger.getLogger(ParseErrorHandlingTest.class);
|
||||
|
||||
@Override
|
||||
protected void setUp() throws Exception {
|
||||
super.setUp();
|
||||
|
@ -59,7 +62,7 @@ public class ParseErrorHandlingTest extends AbstractGeneratorTest {
|
|||
|
||||
public void testParseError4() throws Exception {
|
||||
Object object = getModel("language a import 'holla' foo returns y::Z : name=ID # 'foo'; bar : 'stuff'");
|
||||
//System.out.println(errors);
|
||||
//logger.debug(errors);
|
||||
assertWithXtend("'ID'", "rules.first().eAllContents.typeSelect(XtextTest::RuleCall).first().name", object);
|
||||
assertWithXtend("null", "rules.first().eAllContents.typeSelect(XtextTest::Keyword).first().name", object);
|
||||
assertWithXtend("'stuff'", "rules.get(1).eAllContents.typeSelect(XtextTest::Keyword).first().value", object);
|
||||
|
@ -92,7 +95,7 @@ public class ParseErrorHandlingTest extends AbstractGeneratorTest {
|
|||
EObject object = getModel(model);
|
||||
CompositeNode node = NodeUtil.getRootNode(object);
|
||||
assertEquals(1,node.allSyntaxErrors().size());
|
||||
System.out.println(node.allSyntaxErrors().get(0).getMessage());
|
||||
logger.debug(node.allSyntaxErrors().get(0).getMessage());
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -8,6 +8,7 @@
|
|||
*******************************************************************************/
|
||||
package org.eclipse.xtext.parser;
|
||||
|
||||
import org.apache.log4j.Logger;
|
||||
import org.eclipse.emf.common.util.EList;
|
||||
import org.eclipse.xtext.parser.impl.PartialParsingPointers;
|
||||
import org.eclipse.xtext.parser.impl.PartialParsingUtil;
|
||||
|
@ -23,6 +24,8 @@ import org.eclipse.xtext.testlanguages.SimpleExpressionsStandaloneSetup;
|
|||
*/
|
||||
public class PartialParserReplaceTest extends AbstractPartialParserTest {
|
||||
|
||||
private static final Logger logger = Logger.getLogger(PartialParserReplaceTest.class);
|
||||
|
||||
public void testExpression() throws Exception {
|
||||
with(SimpleExpressionsStandaloneSetup.class);
|
||||
String model = "(a+b+c)*(c/d)";
|
||||
|
@ -58,7 +61,7 @@ public class PartialParserReplaceTest extends AbstractPartialParserTest {
|
|||
IParseResult partiallyReparse = PartialParsingUtil.reparse(getParser(), rootNode, offset, length, change);
|
||||
EList<SyntaxError> errors = partiallyReparse.getRootNode().allSyntaxErrors();
|
||||
for (SyntaxError syntaxError : errors) {
|
||||
System.out.println(model + offset + length + change + ":" + syntaxError.getMessage());
|
||||
logger.debug(model + offset + length + change + ":" + syntaxError.getMessage());
|
||||
}
|
||||
assertTrue(partiallyReparse.getRootNode().allSyntaxErrors().isEmpty());
|
||||
String expectedReparseModel = model.substring(0, offset) + change + model.substring(offset + length);
|
||||
|
|
|
@ -12,6 +12,7 @@ import static org.eclipse.xtext.parsetree.NodeUtil.dumpCompositeNodes;
|
|||
|
||||
import java.util.List;
|
||||
|
||||
import org.apache.log4j.Logger;
|
||||
import org.eclipse.emf.ecore.EObject;
|
||||
import org.eclipse.emf.ecore.EStructuralFeature;
|
||||
import org.eclipse.xtext.parser.impl.PartialParsingPointers;
|
||||
|
@ -26,6 +27,8 @@ import org.eclipse.xtext.testlanguages.SimpleExpressionsStandaloneSetup;
|
|||
*
|
||||
*/
|
||||
public class PartialParsingPointerTest extends AbstractPartialParserTest {
|
||||
|
||||
private static final Logger logger = Logger.getLogger(PartialParsingPointerTest.class);
|
||||
|
||||
public void testExpression() throws Exception {
|
||||
with(SimpleExpressionsStandaloneSetup.class);
|
||||
|
@ -60,7 +63,7 @@ public class PartialParsingPointerTest extends AbstractPartialParserTest {
|
|||
with(LookaheadLanguageStandaloneSetup.class);
|
||||
String model = "bar a foo bar c b d foo bar b c";
|
||||
for (int i = 0; i < model.length(); ++i) {
|
||||
System.out.println(i);
|
||||
logger.debug(i);
|
||||
PartialParsingPointers parsingPointers = calculatePartialParsingPointers(model, i, 1);
|
||||
if (i < 3) {
|
||||
checkParseRegionPointers(parsingPointers, model, "Entry", "Entry", "Entry", null, null);
|
||||
|
@ -106,15 +109,16 @@ public class PartialParsingPointerTest extends AbstractPartialParserTest {
|
|||
CompositeNode rootNode = getRootNode(model);
|
||||
if (DEBUG) {
|
||||
dumpCompositeNodes("", rootNode);
|
||||
System.out.println(model);
|
||||
logger.debug(model);
|
||||
String line = "";
|
||||
for (int k = 0; k < changeRegionStart; ++k) {
|
||||
System.out.print('#');
|
||||
line += "#";
|
||||
}
|
||||
System.out.print(model.substring(changeRegionStart, changeRegionStart + changeRegionSize));
|
||||
line += model.substring(changeRegionStart, changeRegionStart + changeRegionSize);
|
||||
for (int k = changeRegionStart + changeRegionSize; k < model.length(); ++k) {
|
||||
System.out.print('#');
|
||||
line += "#";
|
||||
}
|
||||
System.out.println();
|
||||
logger.debug(line);
|
||||
}
|
||||
PartialParsingPointers partialParsingPointers = PartialParsingUtil.calculatePartialParsingPointers(rootNode,
|
||||
changeRegionStart, changeRegionSize);
|
||||
|
|
|
@ -11,6 +11,7 @@ package org.eclipse.xtext.parsetree.reconstr;
|
|||
import java.io.ByteArrayOutputStream;
|
||||
import java.util.Collections;
|
||||
|
||||
import org.apache.log4j.Logger;
|
||||
import org.eclipse.emf.common.util.URI;
|
||||
import org.eclipse.emf.ecore.EObject;
|
||||
import org.eclipse.emf.ecore.resource.ResourceSet;
|
||||
|
@ -22,6 +23,8 @@ import org.eclipse.xtext.util.EmfFormater;
|
|||
|
||||
public class ComplexReconstrTest extends AbstractGeneratorTest {
|
||||
|
||||
private static final Logger logger = Logger.getLogger(ComplexReconstrTest.class);
|
||||
|
||||
@Override
|
||||
protected void setUp() throws Exception {
|
||||
super.setUp();
|
||||
|
@ -37,7 +40,7 @@ public class ComplexReconstrTest extends AbstractGeneratorTest {
|
|||
if (x instanceof ParserRule) {
|
||||
ParserRule pr = (ParserRule) x;
|
||||
if (pr.getName().toLowerCase().contains("tricky")) {
|
||||
System.out.println(EmfFormater.objToStr(pr, ""));
|
||||
logger.debug(EmfFormater.objToStr(pr, ""));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -54,7 +57,7 @@ public class ComplexReconstrTest extends AbstractGeneratorTest {
|
|||
|
||||
private String parseAndSerialize(String model) throws Exception {
|
||||
EObject result = (EObject) getModel(model);
|
||||
System.out.println(EmfFormater.objToStr(result, ""));
|
||||
logger.debug(EmfFormater.objToStr(result, ""));
|
||||
IParseTreeConstructor con = getParseTreeConstructor();
|
||||
ByteArrayOutputStream out = new ByteArrayOutputStream();
|
||||
con.serialize(out, result, Collections.emptyMap());
|
||||
|
|
|
@ -11,6 +11,7 @@ package org.eclipse.xtext.parsetree.reconstr;
|
|||
import java.io.ByteArrayOutputStream;
|
||||
import java.util.Collections;
|
||||
|
||||
import org.apache.log4j.Logger;
|
||||
import org.eclipse.emf.ecore.EObject;
|
||||
import org.eclipse.xtext.parsetree.NodeUtil;
|
||||
import org.eclipse.xtext.testlanguages.SimpleExpressionsStandaloneSetup;
|
||||
|
@ -18,6 +19,8 @@ import org.eclipse.xtext.tests.AbstractGeneratorTest;
|
|||
import org.eclipse.xtext.util.EmfFormater;
|
||||
|
||||
public class SimpleReconstrTest extends AbstractGeneratorTest {
|
||||
|
||||
private static final Logger logger = Logger.getLogger(SimpleReconstrTest.class);
|
||||
|
||||
public void testSimple1() throws Exception {
|
||||
String model = "a b";
|
||||
|
@ -41,10 +44,10 @@ public class SimpleReconstrTest extends AbstractGeneratorTest {
|
|||
|
||||
private String parseAndSerialize(String model) throws Exception {
|
||||
EObject result = (EObject) getModel(model);
|
||||
System.out.println(EmfFormater.objToStr(result, ""));
|
||||
System.out.println(EmfFormater.objToStr(NodeUtil.getRootNode(result),
|
||||
logger.debug(EmfFormater.objToStr(result, ""));
|
||||
logger.debug(EmfFormater.objToStr(NodeUtil.getRootNode(result),
|
||||
""));
|
||||
System.out.println(EmfFormater.objToStr(NodeUtil.getRootNode(result)
|
||||
logger.debug(EmfFormater.objToStr(NodeUtil.getRootNode(result)
|
||||
.getLeafNodes(), ""));
|
||||
|
||||
IParseTreeConstructor con = getParseTreeConstructor();
|
||||
|
|
|
@ -9,6 +9,7 @@
|
|||
package org.eclipse.xtext.reference;
|
||||
|
||||
|
||||
import org.apache.log4j.Logger;
|
||||
import org.eclipse.emf.common.util.EList;
|
||||
import org.eclipse.xtext.parsetree.CompositeNode;
|
||||
import org.eclipse.xtext.parsetree.LeafNode;
|
||||
|
@ -20,6 +21,8 @@ import org.eclipse.xtext.tests.AbstractGeneratorTest;
|
|||
*
|
||||
*/
|
||||
public class LeafNodeBug_234132_Test extends AbstractGeneratorTest {
|
||||
|
||||
private static final Logger logger = Logger.getLogger(LeafNodeBug_234132_Test.class);
|
||||
|
||||
public void testLeafNodeBug() throws Exception {
|
||||
with(ReferenceGrammarStandaloneSetup.class);
|
||||
|
@ -27,10 +30,10 @@ public class LeafNodeBug_234132_Test extends AbstractGeneratorTest {
|
|||
CompositeNode rootNode = getRootNode(model);
|
||||
|
||||
EList<LeafNode> leafNodes = rootNode.getLeafNodes();
|
||||
System.out.println("Model length=" + model.length());
|
||||
logger.debug("Model length=" + model.length());
|
||||
for (LeafNode leafNode : leafNodes) {
|
||||
String text = leafNode.getText();
|
||||
System.out.println("Leaf node" + leafNode.toString() + " offset=" + leafNode.getOffset() + " length=" + leafNode.getLength() + " text=" + ((text != null)? text : ""));
|
||||
logger.debug("Leaf node" + leafNode.toString() + " offset=" + leafNode.getOffset() + " length=" + leafNode.getLength() + " text=" + ((text != null)? text : ""));
|
||||
assertTrue(leafNode.getLength() + leafNode.getOffset() <= model.length());
|
||||
assertEquals(model.substring(leafNode.getOffset(), leafNode.getOffset() + leafNode.getLength()), leafNode.getText());
|
||||
}
|
||||
|
|
|
@ -15,6 +15,7 @@ import static org.easymock.EasyMock.verify;
|
|||
|
||||
import java.util.List;
|
||||
|
||||
import org.apache.log4j.Logger;
|
||||
import org.easymock.EasyMock;
|
||||
import org.eclipse.emf.common.util.EList;
|
||||
import org.eclipse.emf.ecore.EAttribute;
|
||||
|
@ -35,6 +36,7 @@ import org.eclipse.xtext.util.EmfFormater;
|
|||
* @see http://wiki.eclipse.org/Xtext/Documentation#Meta-Model_Inference
|
||||
*/
|
||||
public class Xtext2EcoreTransformerTests extends AbstractGeneratorTest {
|
||||
private static final Logger logger = Logger.getLogger(Xtext2EcoreTransformerTests.class);
|
||||
private Xtext2EcoreTransformer xtext2EcoreTransformer;
|
||||
private ErrorAcceptor errorAcceptorMock;
|
||||
|
||||
|
@ -697,7 +699,7 @@ public class Xtext2EcoreTransformerTests extends AbstractGeneratorTest {
|
|||
"Number : value=INT";
|
||||
EPackage ePackage = getEPackageFromGrammar(grammar);
|
||||
EClass classifier = (EClass) ePackage.getEClassifier("Ex");
|
||||
System.out.println(EmfFormater.objToStr(ePackage, ""));
|
||||
logger.debug(EmfFormater.objToStr(ePackage, ""));
|
||||
assertEquals(0,classifier.getEStructuralFeatures().size());
|
||||
}
|
||||
}
|
||||
|
|
|
@ -15,6 +15,7 @@ import java.util.HashMap;
|
|||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import org.apache.log4j.Logger;
|
||||
import org.eclipse.emf.compare.diff.metamodel.AttributeChange;
|
||||
import org.eclipse.emf.compare.diff.metamodel.DiffElement;
|
||||
import org.eclipse.emf.compare.diff.metamodel.DiffGroup;
|
||||
|
@ -39,6 +40,7 @@ import org.eclipse.emf.ecore.util.EcoreUtil;
|
|||
*/
|
||||
public class EcoreModelComparator {
|
||||
|
||||
private static final Logger logger = Logger.getLogger(EcoreModelComparator.class);
|
||||
private Map<String, Object> options;
|
||||
private IMatchEngine matchEngine;
|
||||
private List<EStructuralFeature> ignoredFeatures = new ArrayList<EStructuralFeature>();
|
||||
|
@ -122,18 +124,18 @@ public class EcoreModelComparator {
|
|||
if (diffElement instanceof AttributeChange) {
|
||||
AttributeChange change = (AttributeChange) diffElement;
|
||||
EAttribute attribute = change.getAttribute();
|
||||
System.err.println("Detected attribute difference: " + attribute.getName());
|
||||
System.err.println("\t" + change.getLeftElement());
|
||||
System.err.println("\t" + change.getRightElement());
|
||||
logger.error("Detected attribute difference: " + attribute.getName());
|
||||
logger.error("\t" + change.getLeftElement());
|
||||
logger.error("\t" + change.getRightElement());
|
||||
} else if (diffElement instanceof ReferenceChange) {
|
||||
ReferenceChange change = (ReferenceChange) diffElement;
|
||||
EReference reference = change.getReference();
|
||||
System.err.println("Detected reference difference: " + reference.getName());
|
||||
System.err.println("\t" + change.getLeftElement() +" "+reference.getName()+" = "+change.getLeftElement().eGet(reference));
|
||||
System.err.println("\t" + change.getRightElement()+" "+reference.getName()+" = "+change.getRightElement().eGet(reference));
|
||||
logger.error("Detected reference difference: " + reference.getName());
|
||||
logger.error("\t" + change.getLeftElement() +" "+reference.getName()+" = "+change.getLeftElement().eGet(reference));
|
||||
logger.error("\t" + change.getRightElement()+" "+reference.getName()+" = "+change.getRightElement().eGet(reference));
|
||||
} else {
|
||||
// TODO: add more sysouts here...
|
||||
System.err.println(diffElement.toString());
|
||||
// TODO: add more logging here...
|
||||
logger.error(diffElement.toString());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue