| // Copyright 2023 The Go Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style |
| // license that can be found in the LICENSE file. |
| |
| // Package stdmethods defines an Analyzer that checks for misspellings |
| // in the signatures of methods similar to well-known interfaces. |
| // |
| // # Analyzer stdmethods |
| // |
| // stdmethods: check signature of methods of well-known interfaces |
| // |
| // Sometimes a type may be intended to satisfy an interface but may fail to |
| // do so because of a mistake in its method signature. |
| // For example, the result of this WriteTo method should be (int64, error), |
| // not error, to satisfy io.WriterTo: |
| // |
| // type myWriterTo struct{...} |
| // func (myWriterTo) WriteTo(w io.Writer) error { ... } |
| // |
| // This check ensures that each method whose name matches one of several |
| // well-known interface methods from the standard library has the correct |
| // signature for that interface. |
| // |
| // Checked method names include: |
| // |
| // Format GobEncode GobDecode MarshalJSON MarshalXML |
| // Peek ReadByte ReadFrom ReadRune Scan Seek |
| // UnmarshalJSON UnreadByte UnreadRune WriteByte |
| // WriteTo |
| package stdmethods |