summaryrefslogtreecommitdiff
path: root/source/slang/compiler.h
diff options
context:
space:
mode:
Diffstat (limited to 'source/slang/compiler.h')
-rw-r--r--source/slang/compiler.h17
1 files changed, 16 insertions, 1 deletions
diff --git a/source/slang/compiler.h b/source/slang/compiler.h
index 303be6624..a48ad2287 100644
--- a/source/slang/compiler.h
+++ b/source/slang/compiler.h
@@ -442,9 +442,24 @@ namespace Slang
// Should not be used in front-end code
Type* getIRBasicBlockType();
- // Construct pointer types on-demand
+ // Construct the type `Ptr<valueType>`, where `Ptr`
+ // is looked up as a builtin type.
RefPtr<PtrType> getPtrType(RefPtr<Type> valueType);
+ // Construct the type `Out<valueType>`
+ RefPtr<OutType> getOutType(RefPtr<Type> valueType);
+
+ // Construct the type `InOut<valueType>`
+ RefPtr<InOutType> getInOutType(RefPtr<Type> valueType);
+
+ // Construct a pointer type like `Ptr<valueType>`, but where
+ // the actual type name for the pointer type is given by `ptrTypeName`
+ RefPtr<PtrTypeBase> getPtrType(RefPtr<Type> valueType, char const* ptrTypeName);
+
+ // Construct a pointer type like `Ptr<valueType>`, but where
+ // the generic declaration for the pointer type is `genericDecl`
+ RefPtr<PtrTypeBase> getPtrType(RefPtr<Type> valueType, GenericDecl* genericDecl);
+
RefPtr<ArrayExpressionType> getArrayType(
Type* elementType,
IntVal* elementCount);