org.eclipse.xtext.serializer.acceptor
Class WhitespaceAddingSequenceAcceptor

java.lang.Object
  extended by org.eclipse.xtext.serializer.acceptor.DelegatingSequenceAcceptor
      extended by org.eclipse.xtext.serializer.acceptor.WhitespaceAddingSequenceAcceptor
All Implemented Interfaces:
ISemanticSequenceAcceptor, ISequenceAcceptor, ISyntacticSequenceAcceptor

public class WhitespaceAddingSequenceAcceptor
extends DelegatingSequenceAcceptor

Author:
Moritz Eysholdt - Initial contribution and API

Field Summary
protected  AbstractRule lastWhitespace
           
protected  java.util.Stack<RuleCall> ruleCalls
           
 
Fields inherited from interface org.eclipse.xtext.serializer.acceptor.ISemanticSequenceAcceptor
NO_INDEX
 
Constructor Summary
WhitespaceAddingSequenceAcceptor()
           
 
Method Summary
 void acceptAssignedCrossRefDatatype(RuleCall rc, java.lang.String token, org.eclipse.emf.ecore.EObject value, int index, ICompositeNode node)
           
 void acceptAssignedCrossRefEnum(RuleCall enumRC, java.lang.String token, org.eclipse.emf.ecore.EObject value, int index, ICompositeNode node)
           
 void acceptAssignedCrossRefKeyword(Keyword kw, java.lang.String token, org.eclipse.emf.ecore.EObject value, int index, ILeafNode node)
           
 void acceptAssignedCrossRefTerminal(RuleCall rc, java.lang.String token, org.eclipse.emf.ecore.EObject value, int index, ILeafNode node)
           
 void acceptAssignedDatatype(RuleCall datatypeRC, java.lang.String token, java.lang.Object value, int index, ICompositeNode node)
           
 void acceptAssignedEnum(RuleCall enumRC, java.lang.String token, java.lang.Object value, int index, ICompositeNode node)
           
 void acceptAssignedKeyword(Keyword keyword, java.lang.String token, java.lang.Object value, int index, ILeafNode node)
           
 void acceptAssignedTerminal(RuleCall terminalRC, java.lang.String token, java.lang.Object value, int index, ILeafNode node)
           
 void acceptUnassignedAction(Action action)
           
 void acceptUnassignedDatatype(RuleCall datatypeRC, java.lang.String value, ICompositeNode node)
           
 void acceptUnassignedEnum(RuleCall enumRC, java.lang.String value, ICompositeNode node)
           
 void acceptUnassignedKeyword(Keyword keyword, java.lang.String token, ILeafNode node)
           
 void acceptUnassignedTerminal(RuleCall terminalRC, java.lang.String value, ILeafNode node)
           
 boolean enterAssignedParserRuleCall(RuleCall rc, org.eclipse.emf.ecore.EObject newCurrent, ICompositeNode node)
           
 void enterUnassignedParserRuleCall(RuleCall rc)
           
protected  AbstractRule findWhitespaceRule(AbstractElement ele)
           
protected  AbstractRule findWhitespaceRule(Grammar grammar)
           
protected  boolean isWhitespaceRule(AbstractRule rule)
           
 void leaveAssignedParserRuleCall(RuleCall rc, org.eclipse.emf.ecore.EObject semanticChild)
           
 void leaveUnssignedParserRuleCall(RuleCall rc)
           
protected  void writeWhitespace(AbstractElement ele)
           
 
Methods inherited from class org.eclipse.xtext.serializer.acceptor.DelegatingSequenceAcceptor
acceptComment, acceptWhitespace, enterAssignedAction, finish, getDelegate, leaveAssignedAction, setDelegate
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

lastWhitespace

protected AbstractRule lastWhitespace

ruleCalls

protected java.util.Stack<RuleCall> ruleCalls
Constructor Detail

WhitespaceAddingSequenceAcceptor

public WhitespaceAddingSequenceAcceptor()
Method Detail

acceptAssignedCrossRefDatatype

public void acceptAssignedCrossRefDatatype(RuleCall rc,
                                           java.lang.String token,
                                           org.eclipse.emf.ecore.EObject value,
                                           int index,
                                           ICompositeNode node)
Specified by:
acceptAssignedCrossRefDatatype in interface ISemanticSequenceAcceptor
Overrides:
acceptAssignedCrossRefDatatype in class DelegatingSequenceAcceptor

acceptAssignedCrossRefEnum

public void acceptAssignedCrossRefEnum(RuleCall enumRC,
                                       java.lang.String token,
                                       org.eclipse.emf.ecore.EObject value,
                                       int index,
                                       ICompositeNode node)
Specified by:
acceptAssignedCrossRefEnum in interface ISemanticSequenceAcceptor
Overrides:
acceptAssignedCrossRefEnum in class DelegatingSequenceAcceptor

acceptAssignedCrossRefKeyword

public void acceptAssignedCrossRefKeyword(Keyword kw,
                                          java.lang.String token,
                                          org.eclipse.emf.ecore.EObject value,
                                          int index,
                                          ILeafNode node)
Specified by:
acceptAssignedCrossRefKeyword in interface ISemanticSequenceAcceptor
Overrides:
acceptAssignedCrossRefKeyword in class DelegatingSequenceAcceptor

acceptAssignedCrossRefTerminal

public void acceptAssignedCrossRefTerminal(RuleCall rc,
                                           java.lang.String token,
                                           org.eclipse.emf.ecore.EObject value,
                                           int index,
                                           ILeafNode node)
Specified by:
acceptAssignedCrossRefTerminal in interface ISemanticSequenceAcceptor
Overrides:
acceptAssignedCrossRefTerminal in class DelegatingSequenceAcceptor

acceptAssignedDatatype

public void acceptAssignedDatatype(RuleCall datatypeRC,
                                   java.lang.String token,
                                   java.lang.Object value,
                                   int index,
                                   ICompositeNode node)
Specified by:
acceptAssignedDatatype in interface ISemanticSequenceAcceptor
Overrides:
acceptAssignedDatatype in class DelegatingSequenceAcceptor

acceptAssignedEnum

public void acceptAssignedEnum(RuleCall enumRC,
                               java.lang.String token,
                               java.lang.Object value,
                               int index,
                               ICompositeNode node)
Specified by:
acceptAssignedEnum in interface ISemanticSequenceAcceptor
Overrides:
acceptAssignedEnum in class DelegatingSequenceAcceptor

acceptAssignedKeyword

public void acceptAssignedKeyword(Keyword keyword,
                                  java.lang.String token,
                                  java.lang.Object value,
                                  int index,
                                  ILeafNode node)
Specified by:
acceptAssignedKeyword in interface ISemanticSequenceAcceptor
Overrides:
acceptAssignedKeyword in class DelegatingSequenceAcceptor

acceptAssignedTerminal

public void acceptAssignedTerminal(RuleCall terminalRC,
                                   java.lang.String token,
                                   java.lang.Object value,
                                   int index,
                                   ILeafNode node)
Specified by:
acceptAssignedTerminal in interface ISemanticSequenceAcceptor
Overrides:
acceptAssignedTerminal in class DelegatingSequenceAcceptor

acceptUnassignedAction

public void acceptUnassignedAction(Action action)
Specified by:
acceptUnassignedAction in interface ISyntacticSequenceAcceptor
Overrides:
acceptUnassignedAction in class DelegatingSequenceAcceptor

acceptUnassignedDatatype

public void acceptUnassignedDatatype(RuleCall datatypeRC,
                                     java.lang.String value,
                                     ICompositeNode node)
Specified by:
acceptUnassignedDatatype in interface ISyntacticSequenceAcceptor
Overrides:
acceptUnassignedDatatype in class DelegatingSequenceAcceptor

acceptUnassignedEnum

public void acceptUnassignedEnum(RuleCall enumRC,
                                 java.lang.String value,
                                 ICompositeNode node)
Specified by:
acceptUnassignedEnum in interface ISyntacticSequenceAcceptor
Overrides:
acceptUnassignedEnum in class DelegatingSequenceAcceptor

acceptUnassignedKeyword

public void acceptUnassignedKeyword(Keyword keyword,
                                    java.lang.String token,
                                    ILeafNode node)
Specified by:
acceptUnassignedKeyword in interface ISyntacticSequenceAcceptor
Overrides:
acceptUnassignedKeyword in class DelegatingSequenceAcceptor

acceptUnassignedTerminal

public void acceptUnassignedTerminal(RuleCall terminalRC,
                                     java.lang.String value,
                                     ILeafNode node)
Specified by:
acceptUnassignedTerminal in interface ISyntacticSequenceAcceptor
Overrides:
acceptUnassignedTerminal in class DelegatingSequenceAcceptor

enterAssignedParserRuleCall

public boolean enterAssignedParserRuleCall(RuleCall rc,
                                           org.eclipse.emf.ecore.EObject newCurrent,
                                           ICompositeNode node)
Specified by:
enterAssignedParserRuleCall in interface ISemanticSequenceAcceptor
Overrides:
enterAssignedParserRuleCall in class DelegatingSequenceAcceptor

enterUnassignedParserRuleCall

public void enterUnassignedParserRuleCall(RuleCall rc)
Specified by:
enterUnassignedParserRuleCall in interface ISyntacticSequenceAcceptor
Overrides:
enterUnassignedParserRuleCall in class DelegatingSequenceAcceptor

findWhitespaceRule

protected AbstractRule findWhitespaceRule(AbstractElement ele)

findWhitespaceRule

protected AbstractRule findWhitespaceRule(Grammar grammar)

isWhitespaceRule

protected boolean isWhitespaceRule(AbstractRule rule)

leaveAssignedParserRuleCall

public void leaveAssignedParserRuleCall(RuleCall rc,
                                        org.eclipse.emf.ecore.EObject semanticChild)
Specified by:
leaveAssignedParserRuleCall in interface ISemanticSequenceAcceptor
Overrides:
leaveAssignedParserRuleCall in class DelegatingSequenceAcceptor

leaveUnssignedParserRuleCall

public void leaveUnssignedParserRuleCall(RuleCall rc)
Specified by:
leaveUnssignedParserRuleCall in interface ISyntacticSequenceAcceptor
Overrides:
leaveUnssignedParserRuleCall in class DelegatingSequenceAcceptor

writeWhitespace

protected void writeWhitespace(AbstractElement ele)