private static StatementSyntax GenerateRegisterCommandStatement(string id) { string str1 = NameMaker.MakeExecuteCommandMethodName(id); string str2 = NameMaker.MakeBeforeQueryStatusMethodName(id); return(SyntaxFactory.ExpressionStatement(SyntaxFactory.InvocationExpression(SyntaxFactory.IdentifierName("RegisterCommand")).WithArgumentList(SyntaxFactory.ArgumentList(SyntaxFactory.SeparatedList <ArgumentSyntax>(new SyntaxNodeOrToken[] { SyntaxFactory.Argument(SyntaxFactory.IdentifierName("service")), SyntaxFactory.Token((SyntaxKind)8216), SyntaxFactory.Argument(SyntaxFactory.MemberAccessExpression((SyntaxKind)8689, SyntaxFactory.IdentifierName("CommandIds"), SyntaxFactory.IdentifierName(NameMaker.MakeCommandIDName(id)))), SyntaxFactory.Token((SyntaxKind)8216), SyntaxFactory.Argument(SyntaxFactory.MemberAccessExpression((SyntaxKind)8689, SyntaxFactory.IdentifierName("facade"), SyntaxFactory.IdentifierName(str1))), SyntaxFactory.Token((SyntaxKind)8216), SyntaxFactory.Argument(SyntaxFactory.MemberAccessExpression((SyntaxKind)8689, SyntaxFactory.IdentifierName("facade"), SyntaxFactory.IdentifierName(str2))) }))))); }
public static ClassDeclarationSyntax GenerateCommandIdsClass(XDocument vsctDocument) { SyntaxList <MemberDeclarationSyntax> syntaxList = SyntaxFactory.List <MemberDeclarationSyntax>(); XElement xelement = vsctDocument.Root.Element(XNames.Commands).Element(XNames.Buttons); if (xelement != null && xelement.HasElements) { foreach (XElement element in xelement.Elements(XNames.Button)) { string str = element.AttributeValueNull("id"); NameMaker.MakeCommandIDName(str); string nameForButtonName = VsctHelper.GetGuidSymbolNameForButtonName(vsctDocument, str); syntaxList = @syntaxList.Add(FieldGenerator.GenerateCommandIDField(str, nameForButtonName)); } } return(SyntaxFactory.ClassDeclaration("CommandIds") .WithModifiers(Modifiers.InternalStaticPartial) .WithMembers(syntaxList) .NormalizeWhitespace()); }
public static ClassDeclarationSyntax GenerateAbstractCommandFacadeClass(XDocument vsctDocument) { SyntaxList <MemberDeclarationSyntax> syntaxList = SyntaxFactory.List <MemberDeclarationSyntax>(); syntaxList = @syntaxList.Add(ClassGenerator.GenerateProtectedConstructor("AbstractCommandFacade")); XElement xelement = vsctDocument.Root.Element(XNames.Commands).Element(XNames.Buttons); if (xelement != null && xelement.HasElements) { foreach (XElement element in xelement.Elements(XNames.Button)) { string id = element.Attribute("id").Value; string commandName1 = NameMaker.MakeExecuteCommandMethodName(id); string commandName2 = NameMaker.MakeBeforeQueryStatusMethodName(id); syntaxList = @syntaxList.Add(MethodGenerator.GenerateFacadeCommandMethod(commandName1)); syntaxList = @syntaxList.Add(MethodGenerator.GenerateFacadeCommandMethod(commandName2)); } } return(SyntaxFactory.ClassDeclaration("AbstractCommandFacade") .WithModifiers(Modifiers.InternalAbstractPartial) .WithMembers(syntaxList) .NormalizeWhitespace()); }