GitNexus/gitnexus/test/fixtures/lang-resolution/csharp-call-result-binding/App.cs
Gergo Magyar 5769872b70 feat: Phase 9 call-result variable binding across 11 languages
Activate the dormant Tier 2b pendingCallResults infrastructure in
type-env.ts by extending each language's extractPendingAssignment to
emit { kind: 'callResult', lhs, callee } when the RHS of an untyped
variable declaration is a simple function call.

This enables `var user = getUser(); user.save()` to resolve at TypeEnv
build time. Tier 2b now runs before Tier 2a copy-propagation, enabling
mixed chains like `const user = getUser(); const alias = user;
alias.save()`.

Languages: TS, JS, Java, Kotlin, C#, Go, Rust, Python, PHP, Ruby, C++.
Swift excluded. Each language gets a call-result-binding test fixture
and integration tests.

Conservative: only simple calls (no method calls with receivers), only
when exactly one callable matches, first-writer-wins.
2026-03-19 08:59:16 +00:00

22 lines
345 B
C#

class User {
public string Name { get; set; }
public User(string name) {
Name = name;
}
public bool Save() {
return true;
}
}
class App {
static User GetUser(string name) {
return new User(name);
}
void ProcessUser() {
var user = GetUser("alice");
user.Save();
}
}