~ubuntu-branches/ubuntu/trusty/monodevelop/trusty-proposed

« back to all changes in this revision

Viewing changes to src/addins/CSharpBinding/MonoDevelop.CSharp.Parser/CSharpFoldingParser.cs

  • Committer: Package Import Robot
  • Author(s): Jo Shields
  • Date: 2013-05-12 09:46:03 UTC
  • mto: This revision was merged to the branch mainline in revision 29.
  • Revision ID: package-import@ubuntu.com-20130512094603-mad323bzcxvmcam0
Tags: upstream-4.0.5+dfsg
ImportĀ upstreamĀ versionĀ 4.0.5+dfsg

Show diffs side-by-side

added added

removed removed

Lines of Context:
112
112
                                        case '#':
113
113
                                                if (!inLineStart)
114
114
                                                        break;
 
115
                                                inLineStart = false;
115
116
                                                ptr++;
116
117
 
117
118
                                                if (StartsIdentifier (ptr, endPtr, "region")) {
140
141
                                                }
141
142
                                                break;
142
143
                                        case '/':
143
 
                                                if (inString || inChar || inVerbatimString || inMultiLineComment || inSingleComment)
 
144
                                                if (inString || inChar || inVerbatimString || inMultiLineComment || inSingleComment) {
 
145
                                                        inLineStart = false;
144
146
                                                        break;
 
147
                                                }
145
148
                                                if (ptr + 1 < endPtr) {
146
149
                                                        char nextCh = *(ptr + 1);
147
150
                                                        if (nextCh == '/') {
160
163
                                                                inMultiLineComment = true;
161
164
                                                        }
162
165
                                                }
 
166
                                                inLineStart = false;
163
167
                                                break;
164
168
                                        case '*':
 
169
                                                inLineStart = false;
165
170
                                                if (inString || inChar || inVerbatimString || inSingleComment)
166
171
                                                        break;
167
172
                                                if (inMultiLineComment && ptr + 1 < endPtr) {
181
186
                                                }
182
187
                                                break;
183
188
                                        case '@':
 
189
                                                inLineStart = false;
184
190
                                                if (inString || inChar || inVerbatimString || inSingleComment || inMultiLineComment)
185
191
                                                        break;
186
192
                                                if (ptr + 1 < endPtr && *(ptr + 1) == '"') {
190
196
                                                }
191
197
                                                break;
192
198
                                        case '\n':
193
 
                                                if (inSingleComment) {
 
199
                                                if (inSingleComment && hasStartedAtLine) {
194
200
                                                        bool isDocumentation = *beginPtr == '/';
195
201
                                                        if (isDocumentation)
196
202
                                                                beginPtr++;
239
245
                                                        break;
240
246
                                                inChar = !inChar;
241
247
                                                break;
 
248
                                        default:
 
249
                                                inLineStart &= *ptr == ' ' || *ptr == '\t';
 
250
                                                break;
242
251
                                        }
243
252
 
244
253
                                        column++;