public class RunAwayExpressionChecker extends java.lang.Object implements ExpressionVisitorVoid
Modifier and Type | Field and Description |
---|---|
private java.util.Set |
contentModel
Expressions which are used as the content model of current element.
|
protected static java.lang.RuntimeException |
eureka
this exception is thrown to abort check when a error is found.
|
private GrammarReader |
reader |
private java.util.Stack |
refStack
visited Expressions.
|
private java.util.Set |
testedExps
set of ElementExps which are already confirmed as being not a run-away exp.
|
private java.util.Stack |
unprocessedElementExps
Queue of unchecked element exps.
|
Modifier | Constructor and Description |
---|---|
protected |
RunAwayExpressionChecker(GrammarReader reader) |
Modifier and Type | Method and Description |
---|---|
protected void |
binaryVisit(BinaryExp exp) |
private void |
check(Expression exp) |
static void |
check(GrammarReader reader,
Expression exp) |
private void |
enter(Expression exp) |
private void |
leave() |
void |
onAnyString() |
void |
onAttribute(AttributeExp exp) |
void |
onChoice(ChoiceExp exp) |
void |
onConcur(ConcurExp exp) |
void |
onData(DataExp exp) |
void |
onElement(ElementExp exp) |
void |
onEpsilon() |
void |
onInterleave(InterleaveExp exp) |
void |
onList(ListExp exp) |
void |
onMixed(MixedExp exp) |
void |
onNullSet() |
void |
onOneOrMore(OneOrMoreExp exp) |
void |
onOther(OtherExp exp) |
void |
onRef(ReferenceExp exp) |
void |
onSequence(SequenceExp exp) |
void |
onValue(ValueExp exp) |
protected void |
unaryVisit(UnaryExp exp) |
protected static final java.lang.RuntimeException eureka
private final java.util.Set testedExps
private java.util.Set contentModel
private java.util.Stack refStack
private java.util.Stack unprocessedElementExps
private final GrammarReader reader
protected RunAwayExpressionChecker(GrammarReader reader)
private void check(Expression exp)
public static void check(GrammarReader reader, Expression exp)
public void onAttribute(AttributeExp exp)
onAttribute
in interface ExpressionVisitorVoid
public void onConcur(ConcurExp exp)
onConcur
in interface ExpressionVisitorVoid
public void onInterleave(InterleaveExp exp)
onInterleave
in interface ExpressionVisitorVoid
public void onSequence(SequenceExp exp)
onSequence
in interface ExpressionVisitorVoid
public void onChoice(ChoiceExp exp)
onChoice
in interface ExpressionVisitorVoid
public void onOneOrMore(OneOrMoreExp exp)
onOneOrMore
in interface ExpressionVisitorVoid
public void onMixed(MixedExp exp)
onMixed
in interface ExpressionVisitorVoid
public void onList(ListExp exp)
onList
in interface ExpressionVisitorVoid
public void onEpsilon()
onEpsilon
in interface ExpressionVisitorVoid
public void onNullSet()
onNullSet
in interface ExpressionVisitorVoid
public void onAnyString()
onAnyString
in interface ExpressionVisitorVoid
public void onData(DataExp exp)
onData
in interface ExpressionVisitorVoid
public void onValue(ValueExp exp)
onValue
in interface ExpressionVisitorVoid
protected final void binaryVisit(BinaryExp exp)
protected final void unaryVisit(UnaryExp exp)
private void enter(Expression exp)
private void leave()
public void onRef(ReferenceExp exp)
onRef
in interface ExpressionVisitorVoid
public void onOther(OtherExp exp)
onOther
in interface ExpressionVisitorVoid
public void onElement(ElementExp exp)
onElement
in interface ExpressionVisitorVoid