public Class(CompilationUnit cu, ClassType t, Modifier m, IRegion region) { this.cu = cu; classType = t; this.region = region; modifiers = (ModifierEnum)m; }
void RetrieveRegions(CompilationUnit cu, SpecialTracker tracker) { for (int i = 0; i < tracker.CurrentSpecials.Count; ++i) { PreProcessingDirective directive = tracker.CurrentSpecials[i] as PreProcessingDirective; if (directive != null) { if (directive.Cmd.ToLower() == "#region") { int deep = 1; for (int j = i + 1; j < tracker.CurrentSpecials.Count; ++j) { PreProcessingDirective nextDirective = tracker.CurrentSpecials[j] as PreProcessingDirective; if(nextDirective != null) { switch (nextDirective.Cmd.ToLower()) { case "#region": ++deep; break; case "#end": if (nextDirective.Arg.ToLower() == "region") { --deep; if (deep == 0) { cu.FoldingRegions.Add(new FoldingRegion(directive.Arg.Trim('"'), new DefaultRegion(directive.Start, nextDirective.End))); goto end; } } break; } } } end: ; } } } }