~ubuntu-branches/ubuntu/oneiric/monodevelop/oneiric

« back to all changes in this revision

Viewing changes to src/addins/MonoDevelop.Refactoring/MonoDevelop.Refactoring.IntroduceConstant/IntroduceConstantRefactoring.cs

  • Committer: Bazaar Package Importer
  • Author(s): Jo Shields
  • Date: 2011-06-27 17:03:13 UTC
  • mto: (1.8.1 upstream)
  • mto: This revision was merged to the branch mainline in revision 54.
  • Revision ID: james.westby@ubuntu.com-20110627170313-6cvz3s19x6e9hqe9
ImportĀ upstreamĀ versionĀ 2.5.92+dfsg

Show diffs side-by-side

added added

removed removed

Lines of Context:
56
56
                        TextEditorData data = options.GetTextEditorData ();
57
57
                        LineSegment line = data.Document.GetLine (data.Caret.Line);
58
58
                        if (!data.IsSomethingSelected && line != null) {
59
 
                                Stack<Span> stack = line.StartSpan != null ? new Stack<Span> (line.StartSpan) : new Stack<Span> ();
 
59
                                var stack = line.StartSpan.Clone ();
60
60
                                Mono.TextEditor.Highlighting.SyntaxModeService.ScanSpans (data.Document, data.Document.SyntaxMode, data.Document.SyntaxMode, stack, line.Offset, data.Caret.Offset);
61
61
                                foreach (Span span in stack) {
62
62
                                        if (span.Color == "string.single" || span.Color == "string.double")
147
147
                        if (resolveResult == null) {
148
148
                                LineSegment line = data.Document.GetLine (data.Caret.Line);
149
149
                                if (line != null) {
150
 
                                        Stack<Span> stack = line.StartSpan != null ? new Stack<Span> (line.StartSpan) : new Stack<Span> ();
 
150
                                        var stack = line.StartSpan.Clone ();
151
151
                                        Mono.TextEditor.Highlighting.SyntaxModeService.ScanSpans (data.Document, data.Document.SyntaxMode, data.Document.SyntaxMode, stack, line.Offset, data.Caret.Offset);
152
152
                                        foreach (Span span in stack) {
153
153
                                                if (span.Color == "string.single" || span.Color == "string.double") {
160
160
                                        resolveResult = resolver.Resolve (new ExpressionResult (SearchNumber (data, out start, out end)), DomLocation.Empty);
161
161
                                }
162
162
                        } else {
163
 
                                start = data.Document.LocationToOffset (resolveResult.ResolvedExpression.Region.Start.Line - 1, resolveResult.ResolvedExpression.Region.Start.Column - 1);
164
 
                                end = data.Document.LocationToOffset (resolveResult.ResolvedExpression.Region.End.Line - 1, resolveResult.ResolvedExpression.Region.End.Column - 1);
 
163
                                start = data.Document.LocationToOffset (resolveResult.ResolvedExpression.Region.Start.Line, resolveResult.ResolvedExpression.Region.Start.Column);
 
164
                                end = data.Document.LocationToOffset (resolveResult.ResolvedExpression.Region.End.Line, resolveResult.ResolvedExpression.Region.End.Column);
165
165
                        }
166
166
                        if (start == 0 && end == 0)
167
167
                                return result;
179
179
                        TextReplaceChange insertConstant = new TextReplaceChange ();
180
180
                        insertConstant.FileName = options.Document.FileName;
181
181
                        insertConstant.Description = string.Format (GettextCatalog.GetString ("Generate constant '{0}'"), param.Name);
182
 
                        insertConstant.Offset = data.Document.LocationToOffset (curMember.Location.Line - 1, 0);
 
182
                        insertConstant.Offset = data.Document.LocationToOffset (curMember.Location.Line, 1);
183
183
                        insertConstant.InsertedText = provider.OutputNode (options.Dom, fieldDeclaration, options.GetIndent (curMember)) + Environment.NewLine;
184
184
                        result.Add (insertConstant);
185
185