[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
RE: [cdt-patch] Patch fixes an ASM file open/create problem.
|
Hi Alex,
thanks for this patch as well.
Sebastien
> -----Original Message-----
> From: Alex Chapiro [mailto:achapiro@xxxxxxx]
> Sent: Monday, August 26, 2002 6:23 PM
> To: cdt-patch@xxxxxxxxxxx
> Subject: [cdt-patch] Patch fixes an ASM file open/create problem.
>
>
> This patch fixes the following problem:
> Not possible to create or open .S (assembler file).
> Try causes UnsupportedOperationException.
> The problem appeared after replacing of deprecate class
> RuleBasedScanner to
> RuleBasedPartitionScanner.
>
>
>
> Index: AsmPartitionScanner.java
> ===================================================================
> RCS file:
> /home/tools/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui
> /editor/asm/As
> mPartitionScanner.java,v
> retrieving revision 1.2
> diff -u -r1.2 AsmPartitionScanner.java
> --- AsmPartitionScanner.java 21 Aug 2002 00:44:37 -0000 1.2
> +++ AsmPartitionScanner.java 26 Aug 2002 22:01:52 -0000
> @@ -8,12 +8,12 @@
> import java.util.ArrayList;
> import java.util.List;
>
> -import org.eclipse.jface.text.rules.IRule;
> +import org.eclipse.jface.text.rules.ICharacterScanner;
> +import org.eclipse.jface.text.rules.IPredicateRule;
> import org.eclipse.jface.text.rules.IToken;
> import org.eclipse.jface.text.rules.IWordDetector;
> import org.eclipse.jface.text.rules.MultiLineRule;
> import org.eclipse.jface.text.rules.RuleBasedPartitionScanner;
> -import org.eclipse.jface.text.rules.RuleBasedScanner;
> import org.eclipse.jface.text.rules.Token;
> import org.eclipse.jface.text.rules.WordRule;
>
> @@ -79,8 +79,7 @@
>
>
> // Add special case word rule.
> - WordRule wordRule= new WordRule(new EmptyCommentDetector());
> - wordRule.addWord("/**/", comment);
> + EmptyCommentRule wordRule= new EmptyCommentRule(comment);
> rules.add(wordRule);
>
>
> @@ -88,8 +87,36 @@
> rules.add(new MultiLineRule("/*", "*/", comment));
>
>
> - IRule[] result= new IRule[rules.size()];
> + IPredicateRule[] result= new IPredicateRule[rules.size()];
> rules.toArray(result);
> - setRules(result);
> + setPredicateRules(result);
> }
> +
> + static class EmptyCommentRule extends WordRule implements
> IPredicateRule {
> +
> + private IToken fSuccessToken;
> + /**
> + * Constructor for EmptyCommentRule.
> + * @param defaultToken
> + */
> + public EmptyCommentRule(IToken successToken) {
> + super(new EmptyCommentDetector());
> + fSuccessToken= successToken;
> + addWord("/**/", fSuccessToken); //$NON-NLS-1$
> + }
> +
> + /*
> + * @see IPredicateRule#evaluate(ICharacterScanner, boolean)
> + */
> + public IToken evaluate(ICharacterScanner scanner, boolean resume) {
> + return evaluate(scanner);
> + }
> +
> + /*
> + * @see IPredicateRule#getSuccessToken()
> + */
> + public IToken getSuccessToken() {
> + return fSuccessToken;
> + }
> + };
> }
>
>
> _______________________________________________
> cdt-patch mailing list
> cdt-patch@xxxxxxxxxxx
> http://dev.eclipse.org/mailman/listinfo/cdt-patch
>