1// Copyright (c) 2020 Denis Tingajkin 2// 3// SPDX-License-Identifier: Apache-2.0 4// 5// Licensed under the Apache License, Version 2.0 (the "License"); 6// you may not use this file except in compliance with the License. 7// You may obtain a copy of the License at: 8// 9// http://www.apache.org/licenses/LICENSE-2.0 10// 11// Unless required by applicable law or agreed to in writing, software 12// distributed under the License is distributed on an "AS IS" BASIS, 13// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14// See the License for the specific language governing permissions and 15// limitations under the License. 16 17package goheader 18 19type Issue interface { 20 Location() Location 21 Message() string 22} 23 24type issue struct { 25 msg string 26 location Location 27} 28 29func (i *issue) Location() Location { 30 return i.location 31} 32 33func (i *issue) Message() string { 34 return i.msg 35} 36 37func NewIssueWithLocation(msg string, location Location) Issue { 38 return &issue{ 39 msg: msg, 40 location: location, 41 } 42} 43 44func NewIssue(msg string) Issue { 45 return &issue{ 46 msg: msg, 47 } 48} 49