Browse Source

AppendMissingClosingBrackets is now reusable.

newNRvisualizers
mike 14 years ago
parent
commit
08e6a88db0
  1. 10
      ICSharpCode.NRefactory.CSharp/Completion/CSharpCompletionEngineBase.cs

10
ICSharpCode.NRefactory.CSharp/Completion/CSharpCompletionEngineBase.cs

@ -275,7 +275,7 @@ namespace ICSharpCode.NRefactory.CSharp.Completion
#endregion #endregion
#region Basic parsing/resolving functions #region Basic parsing/resolving functions
Stack<Tuple<char, int>> GetBracketStack (string memberText) static Stack<Tuple<char, int>> GetBracketStack (string memberText)
{ {
var bracketStack = new Stack<Tuple<char, int>> (); var bracketStack = new Stack<Tuple<char, int>> ();
@ -361,7 +361,7 @@ namespace ICSharpCode.NRefactory.CSharp.Completion
return bracketStack; return bracketStack;
} }
protected void AppendMissingClosingBrackets (StringBuilder wrapper, string memberText, bool appendSemicolon) public static void AppendMissingClosingBrackets (StringBuilder wrapper, string memberText, bool appendSemicolon)
{ {
var bracketStack = GetBracketStack (memberText); var bracketStack = GetBracketStack (memberText);
bool didAppendSemicolon = !appendSemicolon; bool didAppendSemicolon = !appendSemicolon;
@ -411,13 +411,9 @@ namespace ICSharpCode.NRefactory.CSharp.Completion
break; break;
} }
} }
if (currentMember == null && lastBracket == ']') {
// attribute context
} else {
if (!didAppendSemicolon) if (!didAppendSemicolon)
wrapper.Append (';'); wrapper.Append (';');
} }
}
protected CompilationUnit ParseStub (string continuation, bool appendSemicolon = true, string afterContinuation = null) protected CompilationUnit ParseStub (string continuation, bool appendSemicolon = true, string afterContinuation = null)
{ {
@ -639,7 +635,7 @@ namespace ICSharpCode.NRefactory.CSharp.Completion
if (!IsInsideType (currentMember, location)) if (!IsInsideType (currentMember, location))
currentMember = null; currentMember = null;
} }
var stack = engine.GetBracketStack (engine.GetMemberTextToCaret ().Item1); var stack = GetBracketStack (engine.GetMemberTextToCaret ().Item1);
if (stack.Count == 0) if (stack.Count == 0)
currentMember = null; currentMember = null;
} }

Loading…
Cancel
Save