Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'org.eclipse.jface.text/src/org/eclipse/jface/text/rules/RuleBasedPartitionScanner.java')
-rw-r--r--org.eclipse.jface.text/src/org/eclipse/jface/text/rules/RuleBasedPartitionScanner.java106
1 files changed, 0 insertions, 106 deletions
diff --git a/org.eclipse.jface.text/src/org/eclipse/jface/text/rules/RuleBasedPartitionScanner.java b/org.eclipse.jface.text/src/org/eclipse/jface/text/rules/RuleBasedPartitionScanner.java
deleted file mode 100644
index 5ce40bc58a1..00000000000
--- a/org.eclipse.jface.text/src/org/eclipse/jface/text/rules/RuleBasedPartitionScanner.java
+++ /dev/null
@@ -1,106 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.jface.text.rules;
-
-
-import org.eclipse.jface.text.IDocument;
-
-
-/**
- * Scanner that exclusively uses predicate rules.
- * @since 2.0
- */
-public class RuleBasedPartitionScanner extends BufferedRuleBasedScanner implements IPartitionTokenScanner {
-
- /** The content type of the partition in which to resume scanning. */
- protected String fContentType;
- /** The offset of the partition inside which to resume. */
- protected int fPartitionOffset;
-
-
- /*
- * @see RuleBasedScanner#setRules(IRule[])
- */
- public void setRules(IRule[] rules) {
- throw new UnsupportedOperationException();
- }
-
- /*
- * @see RuleBasedScanner#setRules(IRule[])
- */
- public void setPredicateRules(IPredicateRule[] rules) {
- super.setRules(rules);
- }
-
- /*
- * @see ITokenScanner#setRange(IDocument, int, int)
- */
- public void setRange(IDocument document, int offset, int length) {
- setPartialRange(document, offset, length, null, -1);
- }
-
- /*
- * @see IPartitionTokenScanner#setPartialRange(IDocument, int, int, String, int)
- */
- public void setPartialRange(IDocument document, int offset, int length, String contentType, int partitionOffset) {
- fContentType= contentType;
- fPartitionOffset= partitionOffset;
- if (partitionOffset > -1) {
- int delta= offset - partitionOffset;
- if (delta > 0) {
- super.setRange(document, partitionOffset, length + delta);
- fOffset= offset;
- return;
- }
- }
- super.setRange(document, offset, length);
- }
-
- /*
- * @see ITokenScanner#nextToken()
- */
- public IToken nextToken() {
-
-
- if (fContentType == null || fRules == null) {
- //don't try to resume
- return super.nextToken();
- }
-
- // inside a partition
-
- fColumn= UNDEFINED;
- boolean resume= (fPartitionOffset > -1 && fPartitionOffset < fOffset);
- fTokenOffset= resume ? fPartitionOffset : fOffset;
-
- IPredicateRule rule;
- IToken token;
-
- for (int i= 0; i < fRules.length; i++) {
- rule= (IPredicateRule) fRules[i];
- token= rule.getSuccessToken();
- if (fContentType.equals(token.getData())) {
- token= rule.evaluate(this, resume);
- if (!token.isUndefined()) {
- fContentType= null;
- return token;
- }
- }
- }
-
- // haven't found any rule for this type of partition
- fContentType= null;
- if (resume)
- fOffset= fPartitionOffset;
- return super.nextToken();
- }
-}

Back to the top