@@ -46,7 +46,7 @@ public TokenOperations(Token[] tokens, Ast ast)
4646
4747 this . tokens = tokens ;
4848 this . ast = ast ;
49- this . tokensLL = new LinkedList < Token > ( ) ;
49+ this . tokensLL = new LinkedList < Token > ( this . tokens ) ;
5050 }
5151
5252 /// <summary>
@@ -110,20 +110,21 @@ private IEnumerable<Token> GetBraceInCommandElement(TokenKind tokenKind)
110110 }
111111 }
112112
113- private IEnumerable < LinkedListNode < Token > > GetTokens ( TokenKind kind )
113+ public IEnumerable < LinkedListNode < Token > > GetTokenNodes ( TokenKind kind )
114114 {
115115 var token = tokensLL . First ;
116- do
116+ while ( token != null )
117117 {
118118 if ( token . Value . Kind == kind ) {
119119 yield return token ;
120120 }
121- } while ( token . Next != null ) ;
121+ token = token . Next ;
122+ }
122123 }
123124
124125 private IEnumerable < Tuple < Token , int > > GetTokenAndPrecedingWhitespace ( TokenKind kind )
125126 {
126- var lCurlyTokens = GetTokens ( TokenKind . LCurly ) ;
127+ var lCurlyTokens = GetTokenNodes ( TokenKind . LCurly ) ;
127128 foreach ( var item in lCurlyTokens )
128129 {
129130 if ( item . Previous == null
@@ -143,6 +144,11 @@ public IEnumerable<Tuple<Token, int>> GetOpenBracesWithWhiteSpacesBefore()
143144 return GetTokenAndPrecedingWhitespace ( TokenKind . LCurly ) ;
144145 }
145146
147+ public IEnumerable < Tuple < Token , int > > GetOpenParensWithWhiteSpacesBefore ( )
148+ {
149+ return GetTokenAndPrecedingWhitespace ( TokenKind . LParen ) ;
150+ }
151+
146152 private bool OnSameLine ( Token token1 , Token token2 )
147153 {
148154 return token1 . Extent . StartLineNumber == token2 . Extent . EndLineNumber ;
0 commit comments