mirror of
https://github.com/abhigyanpatwari/GitNexus.git
synced 2026-09-10 22:43:40 +00:00
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.
14 lines
232 B
C++
14 lines
232 B
C++
#pragma once
|
|
#include <string>
|
|
|
|
class User {
|
|
public:
|
|
User(const std::string& n) : name_(n) {}
|
|
bool save() { return true; }
|
|
private:
|
|
std::string name_;
|
|
};
|
|
|
|
User getUser(const std::string& name) {
|
|
return User(name);
|
|
}
|