private protected Value(LLVMValueRef handle, LLVMValueKind expectedValueKind) { if (handle.Kind != expectedValueKind) { throw new ArgumentException(nameof(handle)); } Handle = handle; }
private protected GlobalValue(LLVMValueRef handle, LLVMValueKind expectedValueKind) : base(handle.IsAGlobalValue, expectedValueKind) { }
private protected Constant(LLVMValueRef handle, LLVMValueKind expectedValueKind) : base(handle.IsAConstant, expectedValueKind) { }
private protected ConstantDataSequential(LLVMValueRef handle, LLVMValueKind expectedValueKind) : base(handle.IsAConstantDataSequential, expectedValueKind) { }
private protected User(LLVMValueRef handle, LLVMValueKind expectedValueKind) : base(handle.IsAUser, expectedValueKind) { }
private protected MemoryAccess(LLVMValueRef handle, LLVMValueKind expectedValueKind) : base(handle, expectedValueKind) { }
private protected MemoryUseOrDef(LLVMValueRef handle, LLVMValueKind expectedValueKind) : base(handle, expectedValueKind) { }
private protected ConstantAggregate(LLVMValueRef handle, LLVMValueKind expectedValueKind) : base(handle, expectedValueKind) { }
private protected GlobalIndirectSymbol(LLVMValueRef handle, LLVMValueKind expectedValueKind) : base(handle, expectedValueKind) { }