comparison dwtx/jface/text/TextUtilities.d @ 134:51e6e63f930e

Regex fix for casts
author Frank Benoit <benoit@tionex.de>
date Sun, 24 Aug 2008 01:46:20 +0200
parents c4fb132a086c
children 6dcb0baaa031
comparison
equal deleted inserted replaced
133:7d818bd32d63 134:51e6e63f930e
331 331
332 if (documentEvents.size() is 0) 332 if (documentEvents.size() is 0)
333 return null; 333 return null;
334 334
335 final Iterator iterator= documentEvents.iterator(); 335 final Iterator iterator= documentEvents.iterator();
336 final DocumentEvent firstEvent= (DocumentEvent) iterator.next(); 336 final DocumentEvent firstEvent= cast(DocumentEvent) iterator.next();
337 337
338 // current merged event 338 // current merged event
339 final IDocument document= unprocessedDocument; 339 final IDocument document= unprocessedDocument;
340 int offset= firstEvent.getOffset(); 340 int offset= firstEvent.getOffset();
341 int length= firstEvent.getLength(); 341 int length= firstEvent.getLength();
343 343
344 while (iterator.hasNext()) { 344 while (iterator.hasNext()) {
345 345
346 final int delta= text.length() - length; 346 final int delta= text.length() - length;
347 347
348 final DocumentEvent event= (DocumentEvent) iterator.next(); 348 final DocumentEvent event= cast(DocumentEvent) iterator.next();
349 final int eventOffset= event.getOffset(); 349 final int eventOffset= event.getOffset();
350 final int eventLength= event.getLength(); 350 final int eventLength= event.getLength();
351 final String eventText= event.getText() is null ? "" : event.getText(); //$NON-NLS-1$ 351 final String eventText= event.getText() is null ? "" : event.getText(); //$NON-NLS-1$
352 352
353 // event is right from merged event 353 // event is right from merged event
396 396
397 if (documentEvents.size() is 0) 397 if (documentEvents.size() is 0)
398 return null; 398 return null;
399 399
400 final ListIterator iterator= documentEvents.listIterator(documentEvents.size()); 400 final ListIterator iterator= documentEvents.listIterator(documentEvents.size());
401 final DocumentEvent firstEvent= (DocumentEvent) iterator.previous(); 401 final DocumentEvent firstEvent= cast(DocumentEvent) iterator.previous();
402 402
403 // current merged event 403 // current merged event
404 final IDocument document= firstEvent.getDocument(); 404 final IDocument document= firstEvent.getDocument();
405 int offset= firstEvent.getOffset(); 405 int offset= firstEvent.getOffset();
406 int length= firstEvent.getLength(); 406 int length= firstEvent.getLength();
408 408
409 while (iterator.hasPrevious()) { 409 while (iterator.hasPrevious()) {
410 410
411 final int delta= length - textLength; 411 final int delta= length - textLength;
412 412
413 final DocumentEvent event= (DocumentEvent) iterator.previous(); 413 final DocumentEvent event= cast(DocumentEvent) iterator.previous();
414 final int eventOffset= event.getOffset(); 414 final int eventOffset= event.getOffset();
415 final int eventLength= event.getLength(); 415 final int eventLength= event.getLength();
416 final int eventTextLength= event.getText() is null ? 0 : event.getText().length(); 416 final int eventTextLength= event.getText() is null ? 0 : event.getText().length();
417 417
418 // event is right from merged event 418 // event is right from merged event
451 * @return the map containing the removed partitioners 451 * @return the map containing the removed partitioners
452 */ 452 */
453 public static Map removeDocumentPartitioners(IDocument document) { 453 public static Map removeDocumentPartitioners(IDocument document) {
454 Map partitioners= new HashMap(); 454 Map partitioners= new HashMap();
455 if (document instanceof IDocumentExtension3) { 455 if (document instanceof IDocumentExtension3) {
456 IDocumentExtension3 extension3= (IDocumentExtension3) document; 456 IDocumentExtension3 extension3= cast(IDocumentExtension3) document;
457 String[] partitionings= extension3.getPartitionings(); 457 String[] partitionings= extension3.getPartitionings();
458 for (int i= 0; i < partitionings.length; i++) { 458 for (int i= 0; i < partitionings.length; i++) {
459 IDocumentPartitioner partitioner= extension3.getDocumentPartitioner(partitionings[i]); 459 IDocumentPartitioner partitioner= extension3.getDocumentPartitioner(partitionings[i]);
460 if (partitioner !is null) { 460 if (partitioner !is null) {
461 extension3.setDocumentPartitioner(partitionings[i], null); 461 extension3.setDocumentPartitioner(partitionings[i], null);
482 * @param partitioners the map containing the partitioners to be connected 482 * @param partitioners the map containing the partitioners to be connected
483 * @since 3.0 483 * @since 3.0
484 */ 484 */
485 public static void addDocumentPartitioners(IDocument document, Map partitioners) { 485 public static void addDocumentPartitioners(IDocument document, Map partitioners) {
486 if (document instanceof IDocumentExtension3) { 486 if (document instanceof IDocumentExtension3) {
487 IDocumentExtension3 extension3= (IDocumentExtension3) document; 487 IDocumentExtension3 extension3= cast(IDocumentExtension3) document;
488 Iterator e= partitioners.keySet().iterator(); 488 Iterator e= partitioners.keySet().iterator();
489 while (e.hasNext()) { 489 while (e.hasNext()) {
490 String partitioning= (String) e.next(); 490 String partitioning= cast(String) e.next();
491 IDocumentPartitioner partitioner= (IDocumentPartitioner) partitioners.get(partitioning); 491 IDocumentPartitioner partitioner= cast(IDocumentPartitioner) partitioners.get(partitioning);
492 partitioner.connect(document); 492 partitioner.connect(document);
493 extension3.setDocumentPartitioner(partitioning, partitioner); 493 extension3.setDocumentPartitioner(partitioning, partitioner);
494 } 494 }
495 partitioners.clear(); 495 partitioners.clear();
496 } else { 496 } else {
497 IDocumentPartitioner partitioner= (IDocumentPartitioner) partitioners.get(IDocumentExtension3.DEFAULT_PARTITIONING); 497 IDocumentPartitioner partitioner= cast(IDocumentPartitioner) partitioners.get(IDocumentExtension3.DEFAULT_PARTITIONING);
498 partitioner.connect(document); 498 partitioner.connect(document);
499 document.setDocumentPartitioner(partitioner); 499 document.setDocumentPartitioner(partitioner);
500 } 500 }
501 } 501 }
502 502
513 * @throws BadLocationException if offset is invalid in the document 513 * @throws BadLocationException if offset is invalid in the document
514 * @since 3.0 514 * @since 3.0
515 */ 515 */
516 public static String getContentType(IDocument document, String partitioning, int offset, bool preferOpenPartitions) throws BadLocationException { 516 public static String getContentType(IDocument document, String partitioning, int offset, bool preferOpenPartitions) throws BadLocationException {
517 if (document instanceof IDocumentExtension3) { 517 if (document instanceof IDocumentExtension3) {
518 IDocumentExtension3 extension3= (IDocumentExtension3) document; 518 IDocumentExtension3 extension3= cast(IDocumentExtension3) document;
519 try { 519 try {
520 return extension3.getContentType(partitioning, offset, preferOpenPartitions); 520 return extension3.getContentType(partitioning, offset, preferOpenPartitions);
521 } catch (BadPartitioningException x) { 521 } catch (BadPartitioningException x) {
522 return IDocument.DEFAULT_CONTENT_TYPE; 522 return IDocument.DEFAULT_CONTENT_TYPE;
523 } 523 }
540 * @throws BadLocationException if offset is invalid in the given document 540 * @throws BadLocationException if offset is invalid in the given document
541 * @since 3.0 541 * @since 3.0
542 */ 542 */
543 public static ITypedRegion getPartition(IDocument document, String partitioning, int offset, bool preferOpenPartitions) throws BadLocationException { 543 public static ITypedRegion getPartition(IDocument document, String partitioning, int offset, bool preferOpenPartitions) throws BadLocationException {
544 if (document instanceof IDocumentExtension3) { 544 if (document instanceof IDocumentExtension3) {
545 IDocumentExtension3 extension3= (IDocumentExtension3) document; 545 IDocumentExtension3 extension3= cast(IDocumentExtension3) document;
546 try { 546 try {
547 return extension3.getPartition(partitioning, offset, preferOpenPartitions); 547 return extension3.getPartition(partitioning, offset, preferOpenPartitions);
548 } catch (BadPartitioningException x) { 548 } catch (BadPartitioningException x) {
549 return new TypedRegion(0, document.getLength(), IDocument.DEFAULT_CONTENT_TYPE); 549 return new TypedRegion(0, document.getLength(), IDocument.DEFAULT_CONTENT_TYPE);
550 } 550 }
568 * document 568 * document
569 * @since 3.0 569 * @since 3.0
570 */ 570 */
571 public static ITypedRegion[] computePartitioning(IDocument document, String partitioning, int offset, int length, bool includeZeroLengthPartitions) throws BadLocationException { 571 public static ITypedRegion[] computePartitioning(IDocument document, String partitioning, int offset, int length, bool includeZeroLengthPartitions) throws BadLocationException {
572 if (document instanceof IDocumentExtension3) { 572 if (document instanceof IDocumentExtension3) {
573 IDocumentExtension3 extension3= (IDocumentExtension3) document; 573 IDocumentExtension3 extension3= cast(IDocumentExtension3) document;
574 try { 574 try {
575 return extension3.computePartitioning(partitioning, offset, length, includeZeroLengthPartitions); 575 return extension3.computePartitioning(partitioning, offset, length, includeZeroLengthPartitions);
576 } catch (BadPartitioningException x) { 576 } catch (BadPartitioningException x) {
577 return new ITypedRegion[0]; 577 return new ITypedRegion[0];
578 } 578 }
589 * @return the partition managing position categories or <code>null</code> 589 * @return the partition managing position categories or <code>null</code>
590 * @since 3.0 590 * @since 3.0
591 */ 591 */
592 public static String[] computePartitionManagingCategories(IDocument document) { 592 public static String[] computePartitionManagingCategories(IDocument document) {
593 if (document instanceof IDocumentExtension3) { 593 if (document instanceof IDocumentExtension3) {
594 IDocumentExtension3 extension3= (IDocumentExtension3) document; 594 IDocumentExtension3 extension3= cast(IDocumentExtension3) document;
595 String[] partitionings= extension3.getPartitionings(); 595 String[] partitionings= extension3.getPartitionings();
596 if (partitionings !is null) { 596 if (partitionings !is null) {
597 Set categories= new HashSet(); 597 Set categories= new HashSet();
598 for (int i= 0; i < partitionings.length; i++) { 598 for (int i= 0; i < partitionings.length; i++) {
599 IDocumentPartitioner p= extension3.getDocumentPartitioner(partitionings[i]); 599 IDocumentPartitioner p= extension3.getDocumentPartitioner(partitionings[i]);
600 if (p instanceof IDocumentPartitionerExtension2) { 600 if (p instanceof IDocumentPartitionerExtension2) {
601 IDocumentPartitionerExtension2 extension2= (IDocumentPartitionerExtension2) p; 601 IDocumentPartitionerExtension2 extension2= cast(IDocumentPartitionerExtension2) p;
602 String[] c= extension2.getManagingPositionCategories(); 602 String[] c= extension2.getManagingPositionCategories();
603 if (c !is null) { 603 if (c !is null) {
604 for (int j= 0; j < c.length; j++) 604 for (int j= 0; j < c.length; j++)
605 categories.add(c[j]); 605 categories.add(c[j]);
606 } 606 }
624 * @since 3.0 624 * @since 3.0
625 */ 625 */
626 public static String getDefaultLineDelimiter(IDocument document) { 626 public static String getDefaultLineDelimiter(IDocument document) {
627 627
628 if (document instanceof IDocumentExtension4) 628 if (document instanceof IDocumentExtension4)
629 return ((IDocumentExtension4)document).getDefaultLineDelimiter(); 629 return (cast(IDocumentExtension4)document).getDefaultLineDelimiter();
630 630
631 String lineDelimiter= null; 631 String lineDelimiter= null;
632 632
633 try { 633 try {
634 lineDelimiter= document.getLineDelimiter(0); 634 lineDelimiter= document.getLineDelimiter(0);