public override void VisitClassDeclaration(IClassDeclaration classDeclarationParam, IHighlightingConsumer context) { base.VisitClassDeclaration(classDeclarationParam, context); if (!classDeclarationParam.IsSynthetic() || !T4CSharpCodeGenerator.ClassName.Equals(classDeclarationParam.DeclaredName, StringComparison.Ordinal)) { return; } IDeclaredTypeUsage superTypeUsage = classDeclarationParam.SuperTypeUsageNodes.FirstOrDefault(); if (superTypeUsage == null || T4CSharpCodeGenerator.DefaultBaseClassName.Equals(superTypeUsage.GetText(), StringComparison.Ordinal)) { return; } ITypeElement typeElement = CSharpTypeFactory.CreateDeclaredType(superTypeUsage).GetTypeElement(); if (typeElement == null) { return; } if (!typeElement.Methods.Any(IsTransformTextMethod)) { context.AddHighlighting(new MissingTransformTextMethodHighlighting(superTypeUsage)); } }
public override void VisitClassDeclaration(IClassDeclaration classDeclarationParam, IHighlightingConsumer context) { base.VisitClassDeclaration(classDeclarationParam, context); if (!classDeclarationParam.IsSynthetic() || !T4CSharpCodeGenerator.ClassName.Equals(classDeclarationParam.DeclaredName, StringComparison.Ordinal)) return; IDeclaredTypeUsage superTypeUsage = classDeclarationParam.SuperTypeUsageNodes.FirstOrDefault(); if (superTypeUsage == null || T4CSharpCodeGenerator.DefaultBaseClassName.Equals(superTypeUsage.GetText(), StringComparison.Ordinal)) return; ITypeElement typeElement = CSharpTypeFactory.CreateDeclaredType(superTypeUsage).GetTypeElement(); if (typeElement == null) return; if (!typeElement.Methods.Any(IsTransformTextMethod)) context.AddHighlighting(new MissingTransformTextMethodHighlighting(superTypeUsage)); }
public override void VisitClassDeclaration(IClassDeclaration classDeclarationParam, IHighlightingConsumer context) { base.VisitClassDeclaration(classDeclarationParam, context); if (!classDeclarationParam.IsSynthetic()) { return; } if (!T4CSharpIntermediateConverterBase.GeneratedClassNameString.Equals( classDeclarationParam.DeclaredName, StringComparison.Ordinal)) { return; } ITypeUsage baseClassNode = classDeclarationParam.SuperTypeUsageNodes.FirstOrDefault(); if (baseClassNode?.IsVisibleInDocument() != true) { return; } if (T4CSharpIntermediateConverterBase.GeneratedBaseClassNameString.Equals( baseClassNode.GetText(), StringComparison.Ordinal)) { return; } ITypeElement baseClass = classDeclarationParam.SuperTypes.FirstOrDefault()?.GetTypeElement(); if (baseClass == null) { return; } if (HasTransformTextMethod(baseClass)) { return; } context.AddHighlighting(new MissingTransformTextMethodError(baseClassNode, baseClass)); }