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
333ed4a857
commit
bc8ef04c02
18 changed files with 119 additions and 58 deletions
|
@ -1,6 +1,7 @@
|
|||
package org.eclipse.xtext.util;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.Iterator;
|
||||
|
||||
import org.eclipse.emf.ecore.EAttribute;
|
||||
import org.eclipse.emf.ecore.ENamedElement;
|
||||
|
@ -17,8 +18,7 @@ public class EmfFormater {
|
|||
StringBuffer buf = new StringBuffer();
|
||||
EObject eobj = (EObject) obj;
|
||||
buf.append(eobj.eClass().getName() + " {\n");
|
||||
for (EStructuralFeature f : eobj.eClass()
|
||||
.getEAllStructuralFeatures()) {
|
||||
for (EStructuralFeature f : eobj.eClass().getEAllStructuralFeatures()) {
|
||||
if (!eobj.eIsSet(f))
|
||||
continue;
|
||||
String fType = "unknown";
|
||||
|
@ -28,13 +28,15 @@ public class EmfFormater {
|
|||
if (r.isContainment()) {
|
||||
val = objToStr(eobj.eGet(f), innerIdent);
|
||||
fType = "cref";
|
||||
} else {
|
||||
}
|
||||
else {
|
||||
val = refToStr(eobj, r);
|
||||
fType = "ref";
|
||||
}
|
||||
} else if (f instanceof EAttribute) {
|
||||
}
|
||||
else if (f instanceof EAttribute) {
|
||||
fType = "attr";
|
||||
// System.out.println(Msg.create("Path:").path(eobj));
|
||||
// logger.debug(Msg.create("Path:").path(eobj));
|
||||
Object at = eobj.eGet(f);
|
||||
if (eobj != at)
|
||||
val = objToStr(at, innerIdent);
|
||||
|
@ -43,8 +45,7 @@ public class EmfFormater {
|
|||
}
|
||||
String vType = f.getEType().getName();
|
||||
String name = f.getName();
|
||||
buf.append(innerIdent + fType + " " + vType + " " + name + " "
|
||||
+ val + "\n");
|
||||
buf.append(innerIdent + fType + " " + vType + " " + name + " " + val + "\n");
|
||||
}
|
||||
buf.append(ident + "}");
|
||||
return buf.toString();
|
||||
|
@ -62,17 +63,29 @@ public class EmfFormater {
|
|||
return "null";
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
private static String refToStr(EObject obj, EReference ref) {
|
||||
StringBuffer buf = new StringBuffer();
|
||||
Object o = obj.eGet(ref);
|
||||
if (o instanceof EObject) {
|
||||
EObject eo = (EObject) o;
|
||||
|
||||
StringBuffer buf = new StringBuffer();
|
||||
if (eo instanceof ENamedElement)
|
||||
buf.append("'" + ((ENamedElement) eo).getName() + "' ");
|
||||
buf.append("ref:" + EcoreUtil.getURI(eo));
|
||||
return buf.toString();
|
||||
}
|
||||
if (o instanceof Collection) {
|
||||
buf.append("[");
|
||||
for (Iterator i = ((Collection) o).iterator(); i.hasNext();) {
|
||||
Object item = (Object) i.next();
|
||||
buf.append(EcoreUtil.getURI((EObject) item));
|
||||
if (i.hasNext())
|
||||
buf.append(", ");
|
||||
}
|
||||
buf.append("]");
|
||||
return buf.toString();
|
||||
}
|
||||
return "?????";
|
||||
}
|
||||
}
|
||||
|
|
|
@ -30,7 +30,7 @@ public class EmfStructureComparator {
|
|||
if(!isSameStructure(left, right)) {
|
||||
Assert.fail(errorMessage);
|
||||
}
|
||||
//System.out.println("" + counter + " elements compared");
|
||||
//logger.debug("" + counter + " elements compared");
|
||||
}
|
||||
|
||||
public boolean isSameStructure(EObject left, EObject right) {
|
||||
|
|
|
@ -12,6 +12,7 @@ import static org.eclipse.xtext.parsetree.NodeUtil.dumpCompositeNodeInfo;
|
|||
|
||||
import java.util.List;
|
||||
|
||||
import org.apache.log4j.Logger;
|
||||
import org.eclipse.emf.common.util.EList;
|
||||
import org.eclipse.emf.ecore.EObject;
|
||||
import org.eclipse.xtext.Action;
|
||||
|
@ -30,6 +31,8 @@ import org.eclipse.xtext.util.Strings;
|
|||
*/
|
||||
public class PartialParsingPointers {
|
||||
|
||||
private static final Logger logger = Logger.getLogger(PartialParsingPointers.class);
|
||||
|
||||
private CompositeNode rootNode;
|
||||
private int length;
|
||||
private int offset;
|
||||
|
@ -195,16 +198,19 @@ public class PartialParsingPointers {
|
|||
public void dump() {
|
||||
dump(getDefaultReplaceRootNode());
|
||||
}
|
||||
|
||||
|
||||
public void dump(CompositeNode replaceRootNode) {
|
||||
System.out.println("Parsing " + findReparseRegion(replaceRootNode));
|
||||
System.out.println("with rule " + findEntryRuleName(replaceRootNode));
|
||||
if (!logger.isDebugEnabled())
|
||||
return;
|
||||
|
||||
logger.debug("Parsing " + findReparseRegion(replaceRootNode));
|
||||
logger.debug("with rule " + findEntryRuleName(replaceRootNode));
|
||||
dumpCompositeNodeInfo("Replacing node ", replaceRootNode);
|
||||
System.out.println("Replacing AST element " + findASTReplaceElement(replaceRootNode).eClass().getName());
|
||||
logger.debug("Replacing AST element " + findASTReplaceElement(replaceRootNode).eClass().getName());
|
||||
EObject astParentElement = findASTParentElement(replaceRootNode);
|
||||
String astParentElementClassName = astParentElement != null ? astParentElement.eClass().getName() : "null";
|
||||
System.out.println("in AST parent reference " + astParentElementClassName + "."
|
||||
logger.debug("in AST parent reference " + astParentElementClassName + "."
|
||||
+ Strings.notNull(findASTContainmentFeatureName(replaceRootNode)));
|
||||
System.out.println();
|
||||
logger.debug("");
|
||||
}
|
||||
}
|
||||
|
|
|
@ -39,7 +39,7 @@ public class NodeAdapter implements Adapter {
|
|||
// }
|
||||
// }
|
||||
// } else {
|
||||
// System.out.println(n);
|
||||
// logger.debug(n);
|
||||
// }
|
||||
}
|
||||
|
||||
|
|
|
@ -11,6 +11,7 @@ package org.eclipse.xtext.parsetree;
|
|||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import org.apache.log4j.Logger;
|
||||
import org.eclipse.emf.ecore.EObject;
|
||||
import org.eclipse.emf.ecore.util.EcoreUtil;
|
||||
|
||||
|
@ -20,6 +21,8 @@ import org.eclipse.emf.ecore.util.EcoreUtil;
|
|||
*/
|
||||
public class NodeUtil {
|
||||
|
||||
private static final Logger logger = Logger.getLogger(NodeUtil.class);
|
||||
|
||||
public static NodeAdapter getNodeAdapter(EObject obj) {
|
||||
return (NodeAdapter) EcoreUtil.getAdapter(obj.eAdapters(), AbstractNode.class);
|
||||
}
|
||||
|
@ -103,7 +106,7 @@ public class NodeUtil {
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public static void dumpCompositeNodeInfo(String indent, CompositeNode node) {
|
||||
EObject grammarElement = node.getGrammarElement();
|
||||
String name;
|
||||
|
@ -113,12 +116,12 @@ public class NodeUtil {
|
|||
name = grammarElement.getClass().getSimpleName();
|
||||
}
|
||||
String astElementAsString = (node.getElement() == null) ? "null" : node.getElement().eClass().getName();
|
||||
System.out.print(indent + name + " : " + node.serialize()
|
||||
+ " -> " + astElementAsString + " la={ ");
|
||||
String line = indent + name + " : " + node.serialize()
|
||||
+ " -> " + astElementAsString + " la={ ";
|
||||
for (LeafNode lookaheadNode : node.getLookaheadLeafNodes()) {
|
||||
System.out.print("\""+ lookaheadNode.getText() +"\" ");
|
||||
line += "\""+ lookaheadNode.getText() +"\" ";
|
||||
}
|
||||
System.out.println("} (" + node.getOffset() + ", " + node.getLength() + ")");
|
||||
logger.debug("} (" + node.getOffset() + ", " + node.getLength() + ")");
|
||||
}
|
||||
|
||||
public static AbstractNode findLeafNodeAtOffset(CompositeNode parseTreeRootNode, int offset) {
|
||||
|
|
|
@ -11,6 +11,7 @@ package org.eclipse.xtext.parsetree;
|
|||
import java.util.LinkedHashSet;
|
||||
import java.util.Set;
|
||||
|
||||
import org.apache.log4j.Logger;
|
||||
import org.eclipse.emf.ecore.EObject;
|
||||
import org.eclipse.emf.ecore.util.EcoreUtil;
|
||||
import org.eclipse.xtext.AbstractElement;
|
||||
|
@ -33,6 +34,9 @@ import org.eclipse.xtext.RuleCall;
|
|||
*/
|
||||
public final class ParseTreeUtil {
|
||||
|
||||
private static final Logger logger = Logger.getLogger(ParseTreeUtil.class);
|
||||
|
||||
|
||||
/**
|
||||
*
|
||||
* @param abstractNode
|
||||
|
@ -60,7 +64,7 @@ public final class ParseTreeUtil {
|
|||
|
||||
return abstractNodeSet;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Dump the composite structure (parsetree) of the given node.
|
||||
*
|
||||
|
@ -69,7 +73,7 @@ public final class ParseTreeUtil {
|
|||
*/
|
||||
public static final void dumpNode(AbstractNode abstractNode) {
|
||||
assertParameterNotNull(abstractNode, "abstractNode");
|
||||
System.out.println("dump parsetree with root node '" + EcoreUtil.getIdentification(abstractNode) + "'");
|
||||
logger.debug("dump parsetree with root node '" + EcoreUtil.getIdentification(abstractNode) + "'");
|
||||
doDumpNode(abstractNode, "\t");
|
||||
}
|
||||
|
||||
|
@ -277,7 +281,7 @@ public final class ParseTreeUtil {
|
|||
|
||||
// CompositeNode compositeNode = (CompositeNode) abstractNode;
|
||||
|
||||
System.out.println(indentString + "line '" + abstractNode.getLine() + "' offset '"
|
||||
logger.debug(indentString + "line '" + abstractNode.getLine() + "' offset '"
|
||||
+ abstractNode.getOffset() + "' length '" + abstractNode.getLength() + "' grammar-hierarchy ("
|
||||
+ dumpParentHierarchy(abstractNode) + ")");
|
||||
|
||||
|
@ -287,7 +291,7 @@ public final class ParseTreeUtil {
|
|||
// ommit hidden channel
|
||||
if (!leafNode.isHidden()) {
|
||||
|
||||
System.out.println(indentString + "'" + "line '" + leafNode.getLine() + "' offset '"
|
||||
logger.debug(indentString + "'" + "line '" + leafNode.getLine() + "' offset '"
|
||||
+ leafNode.getOffset() + " length '" + leafNode.getLength() + "' "
|
||||
+ (leafNode.getFeature() != null ? leafNode.getFeature() + " = " : "") + " text '"
|
||||
+ leafNode.getText() + "' grammar-hierarchy (" + dumpParentHierarchy(leafNode) + ")");
|
||||
|
|
|
@ -3,6 +3,7 @@ package org.eclipse.xtext.parsetree.reconstr.callbacks;
|
|||
import java.io.IOException;
|
||||
import java.io.OutputStream;
|
||||
|
||||
import org.apache.log4j.Logger;
|
||||
import org.eclipse.emf.ecore.EObject;
|
||||
import org.eclipse.xtext.AbstractElement;
|
||||
import org.eclipse.xtext.Assignment;
|
||||
|
@ -17,6 +18,8 @@ import org.eclipse.xtext.service.Inject;
|
|||
public class SimpleSerializingCallback extends
|
||||
DefaultParsetreeReconstructorCallback {
|
||||
|
||||
static final Logger logger = Logger.getLogger(SimpleSerializingCallback.class);
|
||||
|
||||
@Inject
|
||||
protected IValueConverterService converterService;
|
||||
|
||||
|
@ -46,9 +49,9 @@ public class SimpleSerializingCallback extends
|
|||
outputHasStarted = false;
|
||||
out = output;
|
||||
}
|
||||
|
||||
|
||||
public void crossRefCall(IInstanceDescription current, CrossReference call) {
|
||||
System.out.println("crossRefCall(" + call + ")");
|
||||
logger.debug("crossRefCall(" + call + ")");
|
||||
Assignment ass = GrammarUtil.containingAssignment(call);
|
||||
if (ass == null)
|
||||
throw new IllegalStateException("Unassigned cross reference "
|
||||
|
|
|
@ -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