Skip to content

Commit 5ec55ed

Browse files
committed
ownership-lab H-26B: the provenance fixture (nine receiver provenance classes) and its classification output
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Am9eQwzNfbugH72eVKetC2
1 parent 9358672 commit 5ec55ed

2 files changed

Lines changed: 34 additions & 0 deletions

File tree

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
using System.Collections.Generic;
2+
using System.Data.Common;
3+
using System.Threading.Tasks;
4+
using Npgsql;
5+
public class Prov
6+
{
7+
DbConnection _fieldConcrete = new NpgsqlConnection("Host=x");
8+
DbConnection _fieldUnknown;
9+
public DbCommand Prop { get; set; }
10+
DbCommand GetCommand() => null;
11+
public Prov(DbConnection injected) { _fieldUnknown = injected; }
12+
public async Task L1_concrete_local_new() { DbCommand c = new NpgsqlCommand(); var r = await c.ExecuteReaderAsync(); await r.DisposeAsync(); }
13+
public async Task L2_concrete_local_factory(NpgsqlConnection conn) { DbCommand c = conn.CreateCommand(); using var r = await c.ExecuteReaderAsync(); }
14+
public async Task L3_base_typed_local(DbConnection conn) { DbCommand c = conn.CreateCommand(); var r = await c.ExecuteReaderAsync(); return; }
15+
public async Task<DbDataReader> P1_parameter(DbCommand cmd) { var r = await cmd.ExecuteReaderAsync(); return r; }
16+
public async Task F1_field_concrete() { var t = await _fieldConcrete.BeginTransactionAsync(); _t = t; }
17+
DbTransaction _t;
18+
public async Task F2_field_unknown() { var t = await _fieldUnknown.BeginTransactionAsync(); await t.DisposeAsync(); }
19+
public async Task R1_property() { var r = await Prop.ExecuteReaderAsync(); Consume(r); }
20+
public async Task C1_call_result() { var r = await GetCommand().ExecuteReaderAsync(); }
21+
public async Task Q2_concrete_static(NpgsqlCommand cmd) { var r = await cmd.ExecuteReaderAsync(); }
22+
void Consume(DbDataReader r) { }
23+
}
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
{"file":"/tmp/claude-0/-home-user/8a9da608-aa27-5449-8306-1fae9426f9b9/scratchpad/lab/h26b/fx/Prov.cs","line":12,"member":"L1_concrete_local_new","callable":"System.Data.Common.DbCommand.ExecuteReaderAsync/0","declaring_assembly":"System.Data.Common","is_virtual_member":false,"return_type":"System.Data.Common.DbDataReader","awaited":true,"receiver_kind":"local","receiver_static_type":"System.Data.Common.DbCommand","provenance":"CONCRETE_LOCAL_CONSTRUCTION","concrete_type":"Npgsql.NpgsqlCommand","row_on_static_callable":false,"row_on_concrete_override":false,"sink":"local_declaration","using_declaration":false,"transferred":[]}
2+
{"file":"/tmp/claude-0/-home-user/8a9da608-aa27-5449-8306-1fae9426f9b9/scratchpad/lab/h26b/fx/Prov.cs","line":13,"member":"L2_concrete_local_factory","callable":"Npgsql.NpgsqlConnection.CreateCommand/0","declaring_assembly":"Npgsql","is_virtual_member":false,"return_type":"Npgsql.NpgsqlCommand","awaited":false,"receiver_kind":"parameter","receiver_static_type":"Npgsql.NpgsqlConnection","provenance":"CONCRETE_PARAMETER_TYPE","concrete_type":"Npgsql.NpgsqlConnection","row_on_static_callable":false,"row_on_concrete_override":null,"sink":"local_declaration","using_declaration":false,"transferred":[]}
3+
{"file":"/tmp/claude-0/-home-user/8a9da608-aa27-5449-8306-1fae9426f9b9/scratchpad/lab/h26b/fx/Prov.cs","line":13,"member":"L2_concrete_local_factory","callable":"System.Data.Common.DbCommand.ExecuteReaderAsync/0","declaring_assembly":"System.Data.Common","is_virtual_member":false,"return_type":"System.Data.Common.DbDataReader","awaited":true,"receiver_kind":"local","receiver_static_type":"System.Data.Common.DbCommand","provenance":"CONCRETE_LOCAL_CONSTRUCTION","concrete_type":"Npgsql.NpgsqlCommand","row_on_static_callable":false,"row_on_concrete_override":false,"sink":"local_declaration","using_declaration":true,"transferred":[]}
4+
{"file":"/tmp/claude-0/-home-user/8a9da608-aa27-5449-8306-1fae9426f9b9/scratchpad/lab/h26b/fx/Prov.cs","line":14,"member":"L3_base_typed_local","callable":"System.Data.Common.DbConnection.CreateCommand/0","declaring_assembly":"System.Data.Common","is_virtual_member":false,"return_type":"System.Data.Common.DbCommand","awaited":false,"receiver_kind":"parameter","receiver_static_type":"System.Data.Common.DbConnection","provenance":"POLYMORPHIC_PARAMETER","concrete_type":null,"row_on_static_callable":false,"row_on_concrete_override":null,"sink":"local_declaration","using_declaration":false,"transferred":[]}
5+
{"file":"/tmp/claude-0/-home-user/8a9da608-aa27-5449-8306-1fae9426f9b9/scratchpad/lab/h26b/fx/Prov.cs","line":14,"member":"L3_base_typed_local","callable":"System.Data.Common.DbCommand.ExecuteReaderAsync/0","declaring_assembly":"System.Data.Common","is_virtual_member":false,"return_type":"System.Data.Common.DbDataReader","awaited":true,"receiver_kind":"local","receiver_static_type":"System.Data.Common.DbCommand","provenance":"LOCAL_BASE_TYPED_WRITES","concrete_type":null,"row_on_static_callable":false,"row_on_concrete_override":null,"sink":"local_declaration","using_declaration":false,"transferred":[]}
6+
{"file":"/tmp/claude-0/-home-user/8a9da608-aa27-5449-8306-1fae9426f9b9/scratchpad/lab/h26b/fx/Prov.cs","line":15,"member":"P1_parameter","callable":"System.Data.Common.DbCommand.ExecuteReaderAsync/0","declaring_assembly":"System.Data.Common","is_virtual_member":false,"return_type":"System.Data.Common.DbDataReader","awaited":true,"receiver_kind":"parameter","receiver_static_type":"System.Data.Common.DbCommand","provenance":"POLYMORPHIC_PARAMETER","concrete_type":null,"row_on_static_callable":false,"row_on_concrete_override":null,"sink":"local_declaration","using_declaration":false,"transferred":["returned"]}
7+
{"file":"/tmp/claude-0/-home-user/8a9da608-aa27-5449-8306-1fae9426f9b9/scratchpad/lab/h26b/fx/Prov.cs","line":16,"member":"F1_field_concrete","callable":"System.Data.Common.DbConnection.BeginTransactionAsync/1","declaring_assembly":"System.Data.Common","is_virtual_member":false,"return_type":"System.Data.Common.DbTransaction","awaited":true,"receiver_kind":"field","receiver_static_type":"System.Data.Common.DbConnection","provenance":"CONCRETE_FIELD","concrete_type":"Npgsql.NpgsqlConnection","row_on_static_callable":false,"row_on_concrete_override":false,"sink":"local_declaration","using_declaration":false,"transferred":["stored"]}
8+
{"file":"/tmp/claude-0/-home-user/8a9da608-aa27-5449-8306-1fae9426f9b9/scratchpad/lab/h26b/fx/Prov.cs","line":18,"member":"F2_field_unknown","callable":"System.Data.Common.DbConnection.BeginTransactionAsync/1","declaring_assembly":"System.Data.Common","is_virtual_member":false,"return_type":"System.Data.Common.DbTransaction","awaited":true,"receiver_kind":"field","receiver_static_type":"System.Data.Common.DbConnection","provenance":"UNKNOWN_FIELD","concrete_type":null,"row_on_static_callable":false,"row_on_concrete_override":null,"sink":"local_declaration","using_declaration":false,"transferred":[]}
9+
{"file":"/tmp/claude-0/-home-user/8a9da608-aa27-5449-8306-1fae9426f9b9/scratchpad/lab/h26b/fx/Prov.cs","line":19,"member":"R1_property","callable":"System.Data.Common.DbCommand.ExecuteReaderAsync/0","declaring_assembly":"System.Data.Common","is_virtual_member":false,"return_type":"System.Data.Common.DbDataReader","awaited":true,"receiver_kind":"property","receiver_static_type":"System.Data.Common.DbCommand","provenance":"UNKNOWN_PROPERTY","concrete_type":null,"row_on_static_callable":false,"row_on_concrete_override":null,"sink":"local_declaration","using_declaration":false,"transferred":["passed_as_argument"]}
10+
{"file":"/tmp/claude-0/-home-user/8a9da608-aa27-5449-8306-1fae9426f9b9/scratchpad/lab/h26b/fx/Prov.cs","line":20,"member":"C1_call_result","callable":"System.Data.Common.DbCommand.ExecuteReaderAsync/0","declaring_assembly":"System.Data.Common","is_virtual_member":false,"return_type":"System.Data.Common.DbDataReader","awaited":true,"receiver_kind":"call_result","receiver_static_type":"System.Data.Common.DbCommand","provenance":"CALL_RESULT_BASE_TYPED","concrete_type":null,"row_on_static_callable":false,"row_on_concrete_override":null,"sink":"local_declaration","using_declaration":false,"transferred":[]}
11+
{"file":"/tmp/claude-0/-home-user/8a9da608-aa27-5449-8306-1fae9426f9b9/scratchpad/lab/h26b/fx/Prov.cs","line":21,"member":"Q2_concrete_static","callable":"Npgsql.NpgsqlCommand.ExecuteReaderAsync/1","declaring_assembly":"Npgsql","is_virtual_member":false,"return_type":"Npgsql.NpgsqlDataReader","awaited":true,"receiver_kind":"parameter","receiver_static_type":"Npgsql.NpgsqlCommand","provenance":"CONCRETE_PARAMETER_TYPE","concrete_type":"Npgsql.NpgsqlCommand","row_on_static_callable":false,"row_on_concrete_override":null,"sink":"local_declaration","using_declaration":false,"transferred":[]}

0 commit comments

Comments
 (0)