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 19import "fmt" 20 21type Location struct { 22 Line int 23 Position int 24} 25 26func (l Location) String() string { 27 return fmt.Sprintf("%v:%v", l.Line+1, l.Position) 28} 29 30func (l Location) Add(other Location) Location { 31 return Location{ 32 Line: l.Line + other.Line, 33 Position: l.Position + other.Position, 34 } 35} 36