public static void Write(this ClassDeclarationSyntax syntax, IIndentedTextWriterWrapper textWriter, IContext context) { var symbol = symbolCache.ContainsKey(syntax) ? symbolCache[syntax] : context.SemanticModel.GetDeclaredSymbol(syntax); symbolCache[syntax] = symbol; WrappingException.TryActionAndWrapException(() => { switch ((ClassState)(context.PartialElementState.CurrentState ?? 0)) { default: WriteOpen(syntax, textWriter, context, symbol); context.PartialElementState.NextState = (int)ClassState.TypeGeneration; break; case ClassState.TypeGeneration: WriteTypeGenerator(syntax, textWriter, context); context.PartialElementState.NextState = (int)ClassState.WriteStaticValues; break; case ClassState.WriteStaticValues: WriteStaticValues(syntax, textWriter, context); context.PartialElementState.NextState = (int)ClassState.WriteInitialize; break; case ClassState.WriteInitialize: WriteInitialize(syntax, textWriter, context); context.PartialElementState.NextState = (int)ClassState.WriteMembers; break; case ClassState.WriteMembers: WriteMembers(syntax, textWriter, context); context.PartialElementState.NextState = (int)ClassState.Close; break; case ClassState.Close: WriteClose(textWriter, context); context.PartialElementState.NextState = null; break; case ClassState.Footer: WriteFooter(textWriter, context, symbol); context.PartialElementState.NextState = null; break; } }, $"In visiting of class {context.SemanticAdaptor.GetFullName(symbol)}. State: {((ClassState)(context.PartialElementState.CurrentState ?? 0))}"); }
public static void Write(this InterfaceDeclarationSyntax syntax, IIndentedTextWriterWrapper textWriter, IContext context) { WrappingException.TryActionAndWrapException(() => { switch ((InterfaceState)(context.PartialElementState.CurrentState ?? 0)) { default: WriteOpen(syntax, textWriter, context); context.PartialElementState.NextState = (int)InterfaceState.Members; break; case InterfaceState.Members: WriteMembers(syntax, textWriter, context); context.PartialElementState.NextState = (int)InterfaceState.Close; break; case InterfaceState.Close: WriteClose(textWriter, context); context.PartialElementState.NextState = null; break; } }, $"In visiting of interface {syntax.Identifier.Text}. State: {((InterfaceState) (context.PartialElementState.CurrentState ?? 0))}"); }