/* * Copyright 2018 Coati Software KG * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef SOURCETRAIL_STORAGE_SOURCE_LOCATION_H #define SOURCETRAIL_STORAGE_SOURCE_LOCATION_H namespace sourcetrail { struct StorageSourceLocationData { StorageSourceLocationData() : fileNodeId(0) , startLineNumber(-1) , startColumnNumber(-1) , endLineNumber(-1) , endColumnNumber(-1) , locationKind(0) {} StorageSourceLocationData(int fileNodeId, int startLineNumber, int startColumnNumber, int endLineNumber, int endColumnNumber, int locationKind) : fileNodeId(fileNodeId) , startLineNumber(startLineNumber) , startColumnNumber(startColumnNumber) , endLineNumber(endLineNumber) , endColumnNumber(endColumnNumber) , locationKind(locationKind) {} int fileNodeId; int startLineNumber; int startColumnNumber; int endLineNumber; int endColumnNumber; int locationKind; }; struct StorageSourceLocation : public StorageSourceLocationData { StorageSourceLocation() : StorageSourceLocationData() , id(0) {} StorageSourceLocation(int id, const StorageSourceLocationData& data) : StorageSourceLocationData(data) , id(id) {} StorageSourceLocation(int id, int fileNodeId, int startLineNumber, int startColumnNumber, int endLineNumber, int endColumnNumber, int locationKind) : StorageSourceLocationData(fileNodeId, startLineNumber, startColumnNumber, endLineNumber, endColumnNumber, locationKind) , id(id) {} int id; }; } #endif // SOURCETRAIL_STORAGE_SOURCE_LOCATION_H