Skip to main content

[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
> 


Back to the top