Beispiel #1
0
 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");
 }
Beispiel #2
0
 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("'");
 }
Beispiel #3
0
 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("'");
 }
Beispiel #4
0
        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");
        }
Beispiel #5
0
 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");
 }
Beispiel #6
0
 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("'");
 }
Beispiel #7
0
 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.");
 }
Beispiel #8
0
		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");
		}
Beispiel #9
0
 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("'");
 }
Beispiel #10
0
 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");
 }
Beispiel #11
0
 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");
 }
Beispiel #14
0
 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");
 }
Beispiel #15
0
 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");
 }
Beispiel #16
0
 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("'");
 }
Beispiel #17
0
 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("'");
 }
Beispiel #19
0
		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("'");
        }
Beispiel #21
0
 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");
 }
Beispiel #22
0
 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");
 }
Beispiel #23
0
 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("'");
 }
Beispiel #25
0
 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");
        }
Beispiel #27
0
 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");
        }
Beispiel #29
0
 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");
        }