public static bool IsPartial(this TypeDeclarationSyntax type) { foreach (var node in type.ChildNodesAndTokens()) { var kind = node.Kind(); if (kind.Fits(SyntaxKind.ClassKeyword, SyntaxKind.StringKeyword)) { return(false); // 'partial' can only come before this } if (kind == SyntaxKind.PartialKeyword) { return(true); } } return(false); }