protected override void AppendTooltip(AccessorIsMissingInImplementationError highlighting, CSharpColorizer colorizer) { colorizer.AppendPlainText("Interface implementation '"); colorizer.AppendDeclaredElement(highlighting.InheritorDeclaration.DeclaredElement, EmptySubstitution.INSTANCE, PresenterOptions.ForInterfaceMember); colorizer.AppendPlainText("' is missing accessor '"); colorizer.AppendDeclaredElement(highlighting.MissedAccessor, EmptySubstitution.INSTANCE, PresenterOptions.NameOnly); colorizer.AppendPlainText("' implementation"); }
protected override void AppendTooltip(AddedAccessorInPrivateImplementationError highlighting, CSharpColorizer colorizer) { colorizer.AppendPlainText("'"); colorizer.AppendDeclaredElement(highlighting.Accessor, EmptySubstitution.INSTANCE, PresenterOptions.ForInterfaceMember); colorizer.AppendPlainText("' adds an accessor not found in interface member '"); colorizer.AppendDeclaredElement(highlighting.SuperMember, EmptySubstitution.INSTANCE, PresenterOptions.NameOnly); colorizer.AppendPlainText("'"); }
protected override void AppendTooltip(CircularDependencyInTypeParameterConstraintError highlighting, CSharpColorizer colorizer) { colorizer.AppendPlainText("Circular constraint dependency involving '"); colorizer.AppendDeclaredElement(highlighting.Origin, EmptySubstitution.INSTANCE, PresenterOptions.NameOnly, highlighting.TypeUsageNode); colorizer.AppendPlainText("' and '"); colorizer.AppendDeclaredElement(highlighting.Parameter, EmptySubstitution.INSTANCE, PresenterOptions.NameOnly, highlighting.TypeUsageNode); colorizer.AppendPlainText("'"); }
protected override void AppendTooltip(IncorrectSignatureInDelegateCreationError highlighting, CSharpColorizer colorizer) { var contextualNode = highlighting.Reference.GetTreeNode(); colorizer.AppendPlainText("Expected a method with '"); colorizer.AppendDeclaredElement(highlighting.TargetSignature, highlighting.TargetSubstitution, PresenterOptions.ElementTypeOnly, contextualNode); colorizer.AppendPlainText(highlighting.Reference.GetName()); colorizer.AppendDeclaredElement(highlighting.TargetSignature, highlighting.TargetSubstitution, PresenterOptions.ParameterTypesOnly, contextualNode); colorizer.AppendPlainText("' signature"); }
protected override void AppendTooltip(CannotOverrideNonExistingAccessorError highlighting, CSharpColorizer colorizer) { colorizer.AppendPlainText("'"); colorizer.AppendDeclaredElement(highlighting.ExtraAccessor.DeclaredElement, EmptySubstitution.INSTANCE, PresenterOptions.NameOnly); colorizer.AppendPlainText("': cannot override because '"); colorizer.AppendDeclaredElement(highlighting.OverridenMember, EmptySubstitution.INSTANCE, PresenterOptions.QualifiedMember); colorizer.AppendPlainText("' does not have an overridable "); colorizer.AppendAccessorKind(highlighting.ExtraAccessor.Kind); colorizer.AppendPlainText(" accessor"); }
protected override void AppendTooltip(ClassTypeParameterInValueTypeParameterConstraintListError highlighting, CSharpColorizer colorizer) { colorizer.AppendPlainText("Type parameter '"); colorizer.AppendDeclaredElement(highlighting.Parameter, EmptySubstitution.INSTANCE, PresenterOptions.NameOnly, highlighting.TypeUsageNode); colorizer.AppendPlainText("' has the class-type constraint so '"); colorizer.AppendDeclaredElement(highlighting.Parameter, EmptySubstitution.INSTANCE, PresenterOptions.NameOnly, highlighting.TypeUsageNode); colorizer.AppendPlainText("' cannot be used as a constraint for '"); colorizer.AppendDeclaredElement(highlighting.Origin, EmptySubstitution.INSTANCE, PresenterOptions.NameOnly, highlighting.TypeUsageNode); colorizer.AppendPlainText("'"); }
protected override void AppendTooltip(AssignNullToTypeParameterWithoutClassConstraintError highlighting, CSharpColorizer colorizer) { colorizer.AppendPlainText("Cannot convert "); colorizer.AppendKeyword("null"); colorizer.AppendPlainText(" to type parameter '"); colorizer.AppendDeclaredElement(highlighting.TypeParameter, highlighting.TypeParameter.IdSubstitution, PresenterOptions.NameOnly, highlighting.Expression); colorizer.AppendPlainText("' because it could be a value type. Consider using '"); colorizer.AppendKeyword("default"); colorizer.AppendPlainText("("); colorizer.AppendDeclaredElement(highlighting.TypeParameter, highlighting.TypeParameter.IdSubstitution, PresenterOptions.NameOnly, highlighting.Expression); colorizer.AppendPlainText(")' instead."); }
protected override void AppendTooltip(CannotUseTypeArgumentWithElementError highlighting, CSharpColorizer colorizer) { colorizer.AppendPlainText("The "); colorizer.AppendElementKind(highlighting.Element); colorizer.AppendPlainText(" '"); colorizer.AppendDeclaredElement(highlighting.Element, EmptySubstitution.INSTANCE, PresenterOptions.QualifiedMember, highlighting.TypeArgumentList); colorizer.AppendPlainText("' cannot be used with type arguments"); }
protected override void AppendTooltip(AccessorAccessRightsShouldBeMoreRestrictiveError highlighting, CSharpColorizer colorizer) { colorizer.AppendPlainText("The accessibility modifier of the accessor must be more restrictive than the "); colorizer.AppendElementKind(highlighting.TypeMember); colorizer.AppendPlainText(" '"); colorizer.AppendDeclaredElement(highlighting.TypeMember, EmptySubstitution.INSTANCE, PresenterOptions.QualifiedName); colorizer.AppendPlainText("'"); }
protected override void AppendTooltip(AddressOfMarshalByRefObjectWarning highlighting, CSharpColorizer colorizer) { colorizer.AppendPlainText("Passing '"); colorizer.AppendDeclaredElement(highlighting.Field, EmptySubstitution.INSTANCE, PresenterOptions.QualifiedName, highlighting.ReferenceExpression); colorizer.AppendPlainText("' as '"); colorizer.AppendKeyword(CSharpExpressionUtil.GetKindOfExplicitVariableReferenceCapture(highlighting.ReferenceExpression)); colorizer.AppendPlainText("' argument may cause a runtime exception because it is a field of a marshal-by-reference class"); }
protected override void AppendTooltip(AccessRightsForBothAccessorsError highlighting, CSharpColorizer colorizer) { colorizer.AppendPlainText("Cannot specify accessibility modifiers for both accessors of the "); colorizer.AppendElementKind(highlighting.TypeMember); colorizer.AppendPlainText(" '"); colorizer.AppendDeclaredElement(highlighting.TypeMember, EmptySubstitution.INSTANCE, PresenterOptions.QualifiedName, highlighting.AccessorDeclaration); colorizer.AppendPlainText("'"); }
protected override void AppendTooltip(CannotChangeReturnTypeInOverrideError highlighting, CSharpColorizer colorizer) { colorizer.AppendPlainText("Cannot change return type when overriding "); colorizer.AppendElementKind(highlighting.OverridenMember); colorizer.AppendPlainText(" '"); colorizer.AppendDeclaredElement(highlighting.OverridenMember, EmptySubstitution.INSTANCE, PresenterOptions.QualifiedMember); colorizer.AppendPlainText("'"); }
protected override void AppendTooltip(ConstructorInitializerMissingError highlighting, CSharpColorizer colorizer) { colorizer.AppendPlainText("Base "); colorizer.AppendElementKind(highlighting.BaseType); colorizer.AppendPlainText(" '"); colorizer.AppendDeclaredElement(highlighting.BaseType, EmptySubstitution.INSTANCE, PresenterOptions.QualifiedName, highlighting.ConstructorDeclaration); colorizer.AppendPlainText("' doesn't contain parameterless constructor"); }
protected override void AppendTooltip(CannotCreateInstanceOfTypeWithoutConstructorError highlighting, CSharpColorizer colorizer) { colorizer.AppendPlainText("The "); colorizer.AppendElementKind(highlighting.TypeElement); colorizer.AppendPlainText(" '"); colorizer.AppendDeclaredElement(highlighting.TypeElement, EmptySubstitution.INSTANCE, PresenterOptions.QualifiedName); colorizer.AppendPlainText("' has no constructors defined"); }
protected override void AppendTooltip(AbstractAccessorIsNotImplementedError highlighting, CSharpColorizer colorizer) { colorizer.AppendPlainText("Abstract inherited member '"); colorizer.AppendDeclaredElement(highlighting.InheritorDeclaration.DeclaredElement, EmptySubstitution.INSTANCE, PresenterOptions.ForInterfaceMember); colorizer.AppendPlainText("' is missing "); colorizer.AppendAccessorKind(highlighting.MissedAccessor.Kind); colorizer.AppendPlainText(" accessor implementation"); }
protected override void AppendTooltip(AbstractBaseMemberCallError highlighting, CSharpColorizer colorizer) { colorizer.AppendPlainText("Cannot call an abstract base "); colorizer.AppendElementKind(highlighting.BaseMember); colorizer.AppendPlainText(" '"); colorizer.AppendDeclaredElement(highlighting.BaseMember, EmptySubstitution.INSTANCE, PresenterOptions.QualifiedMember); colorizer.AppendPlainText("'"); }
protected override void AppendTooltip(CannotCreateInstanceOfTypeParameterWithoutNewConstraintError highlighting, CSharpColorizer colorizer) { colorizer.AppendPlainText("Cannot create an instance of the type parameter '"); colorizer.AppendDeclaredElement(highlighting.TypeParameter, EmptySubstitution.INSTANCE, PresenterOptions.NameOnly); colorizer.AppendPlainText("' because it does not have the "); colorizer.AppendKeyword("new"); colorizer.AppendPlainText("() constraint"); }
protected override void AppendTooltip(CannotCreateInstanceOfAbstractClassError highlighting, CSharpColorizer colorizer) { colorizer.AppendPlainText("Cannot create an instance of the "); colorizer.AppendKeyword("abstract"); colorizer.AppendPlainText(" class '"); colorizer.AppendDeclaredElement(highlighting.TypeElement, EmptySubstitution.INSTANCE, PresenterOptions.QualifiedName, highlighting.ObjectCreationExpression); colorizer.AppendPlainText("'"); }
protected override void AppendTooltip(AsOperatorWithUnconstrainedTypeParameterError highlighting, CSharpColorizer colorizer) { colorizer.AppendPlainText("The type parameter '"); colorizer.AppendDeclaredElement(highlighting.TypeParameter, EmptySubstitution.INSTANCE, PresenterOptions.NameOnly); colorizer.AppendPlainText("' cannot be used with the '"); colorizer.AppendKeyword("as"); colorizer.AppendPlainText("' operator because it does not have a class type constraint nor a '"); colorizer.AppendKeyword("class"); colorizer.AppendPlainText("' constraint"); }
protected override void AppendTooltip(CircularTypeDependencyError highlighting, CSharpColorizer colorizer) { IClassLikeDeclaration declaration = highlighting.Declaration; ITypeElement declaredElement = declaration.DeclaredElement; if (declaredElement == null) { return; } colorizer.AppendPlainText("Circular "); colorizer.AppendElementKind(declaredElement); colorizer.AppendPlainText(" dependency involving '"); colorizer.AppendDeclaredElement(declaredElement, EmptySubstitution.INSTANCE, PresenterOptions.QualifiedName, declaration); colorizer.AppendPlainText("' and '"); colorizer.AppendDeclaredElement(highlighting.SuperClass, EmptySubstitution.INSTANCE, PresenterOptions.QualifiedName, declaration); colorizer.AppendPlainText("'"); }
protected override void AppendTooltip(ConditionalLogicTrueFalseOperatorMissingError highlighting, CSharpColorizer colorizer) { colorizer.AppendPlainText("The operator '"); colorizer.AppendDeclaredElement(highlighting.SignOperator, highlighting.Substitution, PresenterOptions.QualifiedName); colorizer.AppendPlainText("' requires a matching operator '"); colorizer.AppendKeyword("true"); colorizer.AppendPlainText("'/'"); colorizer.AppendKeyword("false"); colorizer.AppendPlainText("' to also be defined"); }
protected override void AppendTooltip(BaseMemberHasParamsWarning highlighting, CSharpColorizer colorizer) { colorizer.AppendPlainText("Base "); colorizer.AppendElementKind(highlighting.BaseMember); colorizer.AppendPlainText(" '"); colorizer.AppendDeclaredElement(highlighting.BaseMember, EmptySubstitution.INSTANCE, PresenterOptions.QualifiedName); colorizer.AppendPlainText("' last parameter has '"); colorizer.AppendKeyword("params"); colorizer.AppendPlainText("' modifier"); }
protected override void AppendTooltip(AnnotateCanBeNullParameterWarning highlighting, CSharpColorizer colorizer) { colorizer.AppendPlainText("Annotate "); colorizer.AppendElementKind(highlighting.Declaration.DeclaredElement); colorizer.AppendPlainText(" '"); colorizer.AppendDeclaredElement(highlighting.AnnotationTypeElement, EmptySubstitution.INSTANCE, PresenterOptions.NameOnly, highlighting.Declaration); colorizer.AppendPlainText("' with ["); colorizer.AppendClassName(highlighting.IsContainerAnnotation ? "ItemCanBeNull" : "CanBeNull"); colorizer.AppendPlainText("] attribute"); }
protected override void AppendTooltip(ConflictSuperClassesInTypeParameterConstraintError highlighting, CSharpColorizer colorizer) { colorizer.AppendPlainText("Type parameter '"); colorizer.AppendDeclaredElement(highlighting.TypeParameter, EmptySubstitution.INSTANCE, PresenterOptions.NameOnly); colorizer.AppendPlainText("' inherits conflicting constraints '"); colorizer.AppendExpressionType(highlighting.DeclaredType1, false, PresenterOptions.FullWithoutParameterNames); colorizer.AppendPlainText("' and '"); colorizer.AppendExpressionType(highlighting.DeclaredType2, false, PresenterOptions.FullWithoutParameterNames); colorizer.AppendPlainText("'"); }
protected override void AppendTooltip(AccessToRefOutParameterFromAnonymousMethodError highlighting, CSharpColorizer colorizer) { colorizer.AppendPlainText("Cannot use '"); colorizer.AppendKeyword("ref"); colorizer.AppendPlainText("' or '"); colorizer.AppendKeyword("out"); colorizer.AppendPlainText("' parameter '"); colorizer.AppendDeclaredElement(highlighting.Parameter, EmptySubstitution.INSTANCE, PresenterOptions.NameOnly); colorizer.AppendPlainText("' inside an anonymous method body"); }
protected override void AppendTooltip(IncorrectIteratorReturnTypeError highlighting, CSharpColorizer colorizer) { IFunction function = highlighting.Declaration.DeclaredElement; colorizer.AppendPlainText("The body of '"); colorizer.AppendDeclaredElement(function, EmptySubstitution.INSTANCE, PresenterOptions.NameOnly); colorizer.AppendPlainText("' cannot be an iterator block because '"); colorizer.AppendExpressionType(highlighting.ReturnType, false, PresenterOptions.FullWithoutParameterNames); colorizer.AppendPlainText("' is not an iterator interface type"); }
protected override void AppendTooltip(ConflictInheritedValueTypeParameterConstraintError highlighting, CSharpColorizer colorizer) { colorizer.AppendPlainText("Type parameter '"); colorizer.AppendDeclaredElement(highlighting.TypeParameter, EmptySubstitution.INSTANCE, PresenterOptions.NameOnly, highlighting.Declaration); colorizer.AppendPlainText("' inherits conflicting constraints '"); colorizer.AppendKeyword("struct"); colorizer.AppendPlainText("' and '"); colorizer.AppendExpressionType(highlighting.ConflictingType, false, PresenterOptions.FullWithoutParameterNames); colorizer.AppendPlainText("'"); }
protected override void AppendTooltip(IncorrectSignatureInDelegateCreationError highlighting, CSharpColorizer colorizer) { IType returnType = highlighting.DelegateSubstitution.Apply(highlighting.CreatedDelegate.InvokeMethod.ReturnType); colorizer.AppendPlainText("Expected a method with '"); colorizer.AppendExpressionType(returnType, false, PresenterOptions.FullWithoutParameterNames); colorizer.AppendPlainText(" "); colorizer.AppendPlainText(highlighting.Reference.GetName()); colorizer.AppendDeclaredElement(highlighting.CreatedDelegate, highlighting.DelegateSubstitution, PresenterOptions.ParameterTypesOnly, highlighting.Reference.GetTreeNode()); colorizer.AppendPlainText("' signature"); }
protected override void AppendTooltip(CannotChangeReturnTypeInOverrideError highlighting, CSharpColorizer colorizer) { if (highlighting.TypeUsageMismatch.HasShortDescription) { colorizer.AppendPlainText(highlighting.TypeUsageMismatch.GetDescription()); colorizer.AppendPlainText(Environment.NewLine); colorizer.AppendPlainText(Environment.NewLine); } colorizer.AppendPlainText("Cannot change return type when overriding "); colorizer.AppendElementKind(highlighting.OverriddenMember); colorizer.AppendPlainText(" '"); colorizer.AppendDeclaredElement(highlighting.OverriddenMember, EmptySubstitution.INSTANCE, PresenterOptions.QualifiedMember, highlighting.Declaration); colorizer.AppendPlainText("'"); }
protected override void AppendTooltip(AttributeNameExpectedError highlighting, CSharpColorizer colorizer) { ResolveResultWithInfo resolveResult = highlighting.Reference.Resolve(); IDeclaredElement declaredElement = resolveResult.DeclaredElement; if (declaredElement == null) { return; } colorizer.AppendPlainText("'"); colorizer.AppendDeclaredElement(declaredElement, resolveResult.Substitution, PresenterOptions.NameOnly, highlighting.Reference.GetTreeNode()); colorizer.AppendPlainText("' is not an attribute"); }