mirror of
https://github.com/sigmasternchen/xtext-core
synced 2025-03-16 00:38:56 +00:00
calculating AbstrctNode.length() in NodeContentAdapter now
This commit is contained in:
parent
8433083755
commit
68d2e7090d
4 changed files with 33 additions and 31 deletions
|
@ -33,7 +33,7 @@ public class ParseErrorHandlingTest extends AbstractGeneratorTest {
|
|||
assertEquals("%", ((LeafNode)errors.get(0).getNode()).getText());
|
||||
assertEquals(1, errors.get(0).getNode().getLine());
|
||||
assertEquals(15, errors.get(0).getNode().getOffset());
|
||||
assertEquals(1, errors.get(0).getNode().length());
|
||||
assertEquals(1, errors.get(0).getNode().getLength());
|
||||
assertEquals(1, errors.size());
|
||||
}
|
||||
|
||||
|
@ -43,7 +43,7 @@ public class ParseErrorHandlingTest extends AbstractGeneratorTest {
|
|||
assertEquals("::", ((LeafNode)errors.get(0).getNode()).getText());
|
||||
assertEquals(1, errors.get(0).getNode().getLine());
|
||||
assertEquals(31, errors.get(0).getNode().getOffset());
|
||||
assertEquals(2, errors.get(0).getNode().length());
|
||||
assertEquals(2, errors.get(0).getNode().getLength());
|
||||
assertEquals(1, errors.size());
|
||||
}
|
||||
|
||||
|
|
|
@ -10,6 +10,7 @@ package org.eclipse.xtext.parser;
|
|||
|
||||
import org.eclipse.xtext.parser.impl.PartialParsingUtil;
|
||||
import org.eclipse.xtext.parsetree.CompositeNode;
|
||||
import org.eclipse.xtext.testlanguages.ReferenceGrammarStandaloneSetup;
|
||||
import org.eclipse.xtext.testlanguages.SimpleExpressionsStandaloneSetup;
|
||||
|
||||
/**
|
||||
|
@ -18,7 +19,8 @@ import org.eclipse.xtext.testlanguages.SimpleExpressionsStandaloneSetup;
|
|||
*/
|
||||
public class PartialParsingPerformanceTest extends AbstractPartialParserTest {
|
||||
|
||||
private static final int NUM_ELEMENTS = 200;
|
||||
private static final int NUM_ELEMENTS = 1;
|
||||
|
||||
public void testExpression() throws Exception {
|
||||
with(SimpleExpressionsStandaloneSetup.class);
|
||||
StringBuffer modelBuffer = new StringBuffer();
|
||||
|
@ -35,29 +37,29 @@ public class PartialParsingPerformanceTest extends AbstractPartialParserTest {
|
|||
assertTrue(reparse.getParseErrors() == null || reparse.getParseErrors().isEmpty());
|
||||
}
|
||||
|
||||
// public void testReference() throws Exception {
|
||||
// with(ReferenceGrammarStandaloneSetup.class);
|
||||
// StringBuffer modelBuffer = new StringBuffer();
|
||||
// modelBuffer.append("spielplatz 17 {\n");
|
||||
// for(int i=0; i<NUM_ELEMENTS; ++i) {
|
||||
// modelBuffer.append(" kind ( Herbert");
|
||||
// modelBuffer.append(i);
|
||||
// modelBuffer.append(" 11 )\n");
|
||||
// }
|
||||
// for(int i=0; i<NUM_ELEMENTS; ++i) {
|
||||
// modelBuffer.append(" erwachsener ( Hugo");
|
||||
// modelBuffer.append(i);
|
||||
// modelBuffer.append(" 111 )\n");
|
||||
// }
|
||||
// modelBuffer.append(" erwachsener ( Sven 112 )\n");
|
||||
// for(int i=0; i<NUM_ELEMENTS; ++i) {
|
||||
// modelBuffer.append(" spielzeug ( Schaufel GRÜN )\n");
|
||||
// }
|
||||
// modelBuffer.append("}\n");
|
||||
// String model = modelBuffer.toString();
|
||||
// CompositeNode rootNode = getRootNode(model);
|
||||
// IParseResult reparse = PartialParsingUtil.reparse(getParser(), rootNode, model.indexOf("Sven"), 4, "Peter");
|
||||
// assertTrue(reparse.getParseErrors() == null || reparse.getParseErrors().isEmpty());
|
||||
// }
|
||||
public void testReference() throws Exception {
|
||||
with(ReferenceGrammarStandaloneSetup.class);
|
||||
StringBuffer modelBuffer = new StringBuffer();
|
||||
modelBuffer.append("spielplatz 17 {\n");
|
||||
for(int i=0; i<NUM_ELEMENTS; ++i) {
|
||||
modelBuffer.append(" kind ( Herbert");
|
||||
modelBuffer.append(i);
|
||||
modelBuffer.append(" 11 )\n");
|
||||
}
|
||||
for(int i=0; i<NUM_ELEMENTS; ++i) {
|
||||
modelBuffer.append(" erwachsener ( Hugo");
|
||||
modelBuffer.append(i);
|
||||
modelBuffer.append(" 111 )\n");
|
||||
}
|
||||
modelBuffer.append(" erwachsener ( Sven 112 )\n");
|
||||
for(int i=0; i<NUM_ELEMENTS; ++i) {
|
||||
modelBuffer.append(" spielzeug ( Schaufel GRÜN )\n");
|
||||
}
|
||||
modelBuffer.append("}\n");
|
||||
String model = modelBuffer.toString();
|
||||
CompositeNode rootNode = getRootNode(model);
|
||||
IParseResult reparse = PartialParsingUtil.reparse(getParser(), rootNode, model.indexOf("Sven"), 4, "Peter");
|
||||
assertTrue(reparse.getParseErrors() == null || reparse.getParseErrors().isEmpty());
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -81,7 +81,7 @@ public class LengthOffsetLineTest extends AbstractGeneratorTest {
|
|||
int offset = 0;
|
||||
for (LeafNode leafNode : nodes) {
|
||||
assertEquals(offset,leafNode.getOffset());
|
||||
offset += leafNode.length();
|
||||
offset += leafNode.getLength();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -30,9 +30,9 @@ public class LeafNodeBug_234132 extends AbstractGeneratorTest {
|
|||
System.out.println("Model length=" + model.length());
|
||||
for (LeafNode leafNode : leafNodes) {
|
||||
String text = leafNode.getText();
|
||||
System.out.println("Leaf node" + leafNode.toString() + " offset=" + leafNode.getOffset() + " length=" + leafNode.length() + " text=" + ((text != null)? text : ""));
|
||||
assertTrue(leafNode.length() + leafNode.getOffset() <= model.length());
|
||||
assertEquals(model.substring(leafNode.getOffset(), leafNode.getOffset() + leafNode.length()), leafNode.getText());
|
||||
System.out.println("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());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue