Files
swift-mirror/include/swift/Index/IndexDataConsumer.h
Ben Langmuir 1b1320b9f1 [index] Thread through SymbolRoleSet as a generalization of "bool isRef"
As a first step toward having more detailed "role" information, thread
through a SymbolRole bitset.  For now it just contains the existing ref
vs. definition status.
2016-04-29 19:04:24 -07:00

45 lines
1.5 KiB
C++

//===--- IndexDataConsumer.h - Consumer of indexing information -*- C++ -*-===//
//
// This source file is part of the Swift.org open source project
//
// Copyright (c) 2014 - 2016 Apple Inc. and the Swift project authors
// Licensed under Apache License v2.0 with Runtime Library Exception
//
// See http://swift.org/LICENSE.txt for license information
// See http://swift.org/CONTRIBUTORS.txt for the list of Swift project authors
//
//===----------------------------------------------------------------------===//
#ifndef SWIFT_INDEX_INDEXDATACONSUMER_H
#define SWIFT_INDEX_INDEXDATACONSUMER_H
#include "swift/Index/IndexSymbol.h"
namespace swift {
namespace index {
class IndexDataConsumer {
virtual void anchor();
public:
virtual ~IndexDataConsumer() {}
virtual void failed(StringRef error) = 0;
virtual void warning(StringRef warning) {}
virtual bool enableWarnings() { return false; }
virtual bool recordHash(StringRef hash, bool isKnown) = 0;
virtual bool startDependency(SymbolKind kind, StringRef name, StringRef path,
bool isSystem, StringRef hash) = 0;
virtual bool finishDependency(SymbolKind kind) = 0;
virtual bool startSourceEntity(const IndexSymbol &symbol) = 0;
virtual bool recordRelatedEntity(const IndexSymbol &symbol) = 0;
virtual bool finishSourceEntity(SymbolKind kind, SymbolSubKind subKind,
SymbolRoleSet roles) = 0;
};
} // end namespace index
} // end namespace swift
#endif // SWIFT_INDEX_INDEXDATACONSUMER_H