Package: VdmDocumentPartitioner

VdmDocumentPartitioner

nameinstructionbranchcomplexitylinemethod
VdmDocumentPartitioner(IPartitionTokenScanner, String[])
M: 5 C: 0
0%
M: 0 C: 0
100%
M: 1 C: 0
0%
M: 2 C: 0
0%
M: 1 C: 0
0%
connect(IDocument, boolean)
M: 5 C: 0
0%
M: 0 C: 0
100%
M: 1 C: 0
0%
M: 2 C: 0
0%
M: 1 C: 0
0%
printPartitions(IDocument)
M: 78 C: 0
0%
M: 2 C: 0
0%
M: 2 C: 0
0%
M: 17 C: 0
0%
M: 1 C: 0
0%

Coverage

1: /*
2: * #%~
3: * org.overture.ide.ui
4: * %%
5: * Copyright (C) 2008 - 2014 Overture
6: * %%
7: * This program is free software: you can redistribute it and/or modify
8: * it under the terms of the GNU General Public License as
9: * published by the Free Software Foundation, either version 3 of the
10: * License, or (at your option) any later version.
11: *
12: * This program is distributed in the hope that it will be useful,
13: * but WITHOUT ANY WARRANTY; without even the implied warranty of
14: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15: * GNU General Public License for more details.
16: *
17: * You should have received a copy of the GNU General Public
18: * License along with this program. If not, see
19: * <http://www.gnu.org/licenses/gpl-3.0.html>.
20: * #~%
21: */
22: package org.overture.ide.ui.editor.partitioning;
23:
24:
25: import org.eclipse.jface.text.BadLocationException;
26: import org.eclipse.jface.text.IDocument;
27: import org.eclipse.jface.text.IDocumentPartitioner;
28: import org.eclipse.jface.text.ITypedRegion;
29: import org.eclipse.jface.text.rules.FastPartitioner;
30: import org.eclipse.jface.text.rules.IPartitionTokenScanner;
31: import org.overture.ide.ui.VdmUIPlugin;
32:
33: public class VdmDocumentPartitioner extends FastPartitioner implements
34:                 IDocumentPartitioner {
35:         
36:         public VdmDocumentPartitioner(IPartitionTokenScanner scanner,
37:                         String[] legalContentTypes) {
38:                 super(scanner, legalContentTypes);
39:         }
40:         
41:         @Override
42:         public void connect(IDocument document, boolean delayInitialise)
43:         {
44:          super.connect(document, delayInitialise);        
45:          //printPartitions(document);
46:         }
47:
48:         
49:         public void printPartitions(IDocument document)
50:         {
51:          StringBuffer buffer = new StringBuffer();
52:
53:          ITypedRegion[] partitions = computePartitioning(0, document.getLength());
54:•         for (int i = 0; i < partitions.length; i++)
55:          {
56:          try
57:          {
58:          buffer.append("Partition type: "
59:          + partitions[i].getType()
60:          + ", offset: " + partitions[i].getOffset()
61:          + ", length: " + partitions[i].getLength());
62:          buffer.append("\n");
63:          buffer.append("Text:\n");
64:          buffer.append(document.get(partitions[i].getOffset(),
65:          partitions[i].getLength()));
66:          buffer.append("\n---------------------------\n\n\n");
67:          }
68:          catch (BadLocationException e)
69:          {
70:          VdmUIPlugin.printe(e);
71:          }
72:          }
73:          VdmUIPlugin.println(buffer.toString());
74:         }
75:
76: }