summaryrefslogtreecommitdiffstats
path: root/source/slang/slang-ir-com-interface.h
blob: 09d844df9611ce9705bc87700219ce5fd283feb9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
// slang-ir-com-interface.cpp
#pragma once

#include "../compiler-core/slang-artifact.h"

namespace Slang
{

struct IRModule;
class DiagnosticSink;

/// Lower com interface types.
/// A use of `IRInterfaceType` with `IRComInterfaceDecoration` will be translated into a `IRComPtr`
/// type. A use of `IRThisType` with a COM interface will also be translated into a `IRComPtr` type.
void lowerComInterfaces(IRModule* module, ArtifactStyle artifactStyle, DiagnosticSink* sink);

} // namespace Slang