@class NSString, NSData, MTLFunctionConstantValuesInternal, NSObject; @protocol OS_dispatch_queue, OS_dispatch_data; @interface _MTLFunctionInternal : _MTLFunction { struct MTLFunctionData { unsigned long long bitCodeOffset; unsigned long long bitCodeFileSize; unsigned long long publicArgumentsOffset; unsigned long long privateArgumentsOffset; unsigned long long sourceArchiveOffset; unsigned short airMajorVersion; unsigned short airMinorVersion; unsigned short languageMajorVersion; unsigned short languageMinorVersion; struct { unsigned char key[32]; } bitcodeHash; unsigned char bitcodeType; NSData *pluginData; unsigned char renderTargetArrayIndexType; unsigned char patchType : 2; unsigned char controlPointCount : 6; NSObject<OS_dispatch_data> *functionInputs; struct { unsigned char key[32]; } baseFunctionHash; NSObject<OS_dispatch_data> *specializationAirScript; } _functionData; unsigned char _publicMetadataInitialized; unsigned char _privateMetadataInitialized; unsigned char _sourceArchiveMetadataInitialized; unsigned char _stitchableFunctionMetadataInitialized; void *_programObject; NSString *_filePath; long long _lineNumber; NSObject<OS_dispatch_queue> *_functionQueue; NSString *_baseLibraryFilePath; struct { unsigned char key[32]; } _baseLibraryUUID; MTLFunctionConstantValuesInternal *_baseFunctionConstantValues; } - (void)setPluginData:(id)a0; - (id)pluginData; - (id)specializationAirScript; - (id)unpackedFilePath; - (void)setReturnType:(id)a0; - (void)initializeStitchableFunctionMetadata; - (id)arguments; - (void)dealloc; - (void)setOptions:(unsigned long long)a0; - (void)setArguments:(id)a0; - (id)filePath; - (BOOL)specializedFunctionHash:(struct { unsigned char x0[32]; } *)a0 requestData:(id *)a1 airScript:(id *)a2 constants:(id)a3 specializedName:(id)a4 privateFunctions:(id)a5 completionHandler:(id /* block */)a6; - (unsigned long long)bitCodeFileSize; - (struct { unsigned char x0[32]; })baseLibraryUUID; - (id)functionConstantsDictionary; - (void)setStageInputAttributes:(id)a0; - (void)storeTrackingDataWithDescriptor:(id)a0 function:(id)a1 variantHash:(const struct { unsigned char x0[32]; } *)a2; - (id)returnType; - (id)newFunctionWithPluginData:(id)a0 bitcodeType:(unsigned char)a1; - (id)baseFunctionConstantValues; - (id)stageInputAttributes; - (const struct MTLFunctionData { unsigned long long x0; unsigned long long x1; unsigned long long x2; unsigned long long x3; unsigned long long x4; unsigned short x5; unsigned short x6; unsigned short x7; unsigned short x8; struct { unsigned char x0[32]; } x9; unsigned char x10; id x11; unsigned char x12; unsigned char x13 : 2; unsigned char x14 : 6; id x15; struct { unsigned char x0[32]; } x16; id x17; } *)functionData; - (id).cxx_construct; - (id)vertexAttributes; - (void)initializePublicMetadata; - (unsigned long long)bitCodeOffset; - (id)initWithName:(id)a0 type:(unsigned long long)a1 libraryData:(struct MTLLibraryData { void /* function */ **x0; struct { unsigned char x0[32]; } x1; _Atomic int x2; id x3; id x4; } *)a2 functionData:(struct MTLFunctionData { unsigned long long x0; unsigned long long x1; unsigned long long x2; unsigned long long x3; unsigned long long x4; unsigned short x5; unsigned short x6; unsigned short x7; unsigned short x8; struct { unsigned char x0[32]; } x9; unsigned char x10; id x11; unsigned char x12; unsigned char x13 : 2; unsigned char x14 : 6; id x15; struct { unsigned char x0[32]; } x16; id x17; } *)a3 device:(id)a4; - (id)relocations; - (void)setFilePath:(id)a0; - (unsigned long long)sourceArchiveOffset; - (id)baseLibraryFilePath; - (id)importedSymbols; - (id)functionInputs; - (void)setPrecompiledOutput:(id)a0; - (id)precompiledOutput; - (void)newSpecializedFunctionWithDescriptor:(id)a0 destinationArchive:(id)a1 functionCache:(id)a2 sync:(BOOL)a3 completionHandler:(id /* block */)a4; - (void)setFunctionConstants:(id)a0; - (unsigned long long)renderTargetArrayIndexType; - (void)setBitcodeType:(unsigned char)a0; - (void)setRelocations:(id)a0; - (void)setVertexAttributes:(id)a0; - (id)importedLibraries; - (id)functionConstants; - (void)initializePrivateMetadata; - (unsigned char)bitcodeType; - (long long)patchControlPointCount; - (void)setLineNumber:(long long)a0; - (void)setUnpackedFilePath:(id)a0; - (id)newSpecializedFunctionWithDescriptor:(id)a0 destinationArchive:(id)a1 functionCache:(id)a2 error:(id *)a3; - (const struct { unsigned char x0[32]; } *)bitCodeHash; - (long long)lineNumber; - (void *)programObject; - (BOOL)needsFunctionConstantValues; - (void)setFunctionConstantSpecializationHash:(const struct { unsigned char x0[32]; } *)a0; - (void)setSourceArchiveOffset:(unsigned long long)a0; - (unsigned long long)patchType; - (void)initializeSourceArchive; @end