edu.rice.cs.drjava.model.definitions.reducedmodel
Class InsideBlockComment

java.lang.Object
  |
  +--edu.rice.cs.drjava.model.definitions.reducedmodel.ReducedModelState
        |
        +--edu.rice.cs.drjava.model.definitions.reducedmodel.InsideBlockComment
All Implemented Interfaces:
ReducedModelStates

public class InsideBlockComment
extends ReducedModelState

Shadowing state that corresponds to being inside a block comment.

Version:
$Id: InsideBlockComment.java,v 1.7 2002/02/08 14:22:21 brianstoler Exp $

Field Summary
static InsideBlockComment ONLY
           
 
Fields inherited from interface edu.rice.cs.drjava.model.definitions.reducedmodel.ReducedModelStates
FREE, INSIDE_BLOCK_COMMENT, INSIDE_DOUBLE_QUOTE, INSIDE_LINE_COMMENT, INSIDE_SINGLE_QUOTE, STUTTER
 
Constructor Summary
private InsideBlockComment()
           
 
Method Summary
(package private)  ReducedModelState update(TokenList.Iterator copyCursor)
          Walk function for inside block comment.
 
Methods inherited from class edu.rice.cs.drjava.model.definitions.reducedmodel.ReducedModelState
_combineCurrentAndNextIfEscape, _combineCurrentAndNextIfFind
 
Methods inherited from class java.lang.Object
, clone, equals, finalize, getClass, hashCode, notify, notifyAll, registerNatives, toString, wait, wait, wait
 

Field Detail

ONLY

public static final InsideBlockComment ONLY
Constructor Detail

InsideBlockComment

private InsideBlockComment()
Method Detail

update

ReducedModelState update(TokenList.Iterator copyCursor)
Walk function for inside block comment. Self-recursive and mutually recursive with other walk functions.
  1. If we've reached the end of the list, return.
  2. If we find * /, combine it into a single Brace, and keep the cursor on that Brace.
  3. If we find // or /*, split that into two Braces and keep the cursor on the first one.
  4. If current brace = * /, mark the current brace as FREE, go to the next brace, and call updateFree.
    Else, mark current brace as INSIDE_BLOCK_COMMENT and go to next brace and recur.
Overrides:
update in class ReducedModelState