protected sealed override void VisitEnumStatement(EnumStatement statement) { EnterEnumStatement(statement); base.VisitEnumStatement(statement); ExitEnumStatement(statement); }
protected override void ExitEnumStatement(EnumStatement statement) { void Reduce(ICompilationUnitDictionary dictionary, CompilationUnitSyntax compilationUnit) { EnumCount++; dictionary.Add(NewGuid(), compilationUnit); } Stack.TryReduce( (ref ICompilationUnitDictionary a, EnumDeclarationCodeGenerationStrategy b) => Reduce(a, b) ); }
protected abstract void ExitEnumStatement(EnumStatement statement);
protected abstract void EnterEnumStatement(EnumStatement statement);
protected override void EnterEnumStatement(EnumStatement statement) { Stack.PushBack( EnumDeclarationCodeGenerationStrategy.Create(PackageStatement, statement) ); }