피드로 돌아가기
Dev.toBackend
원문 읽기
v2.15.0 릴리스를 통한 Generics.Collections 구현 및 var 세맨틱 완성
Sprint 7 Review: Generics.Collections | Review Sprint 7: Generics.Collections
AI 요약
Context
기존 CrabPascal 환경의 불완전한 var 세맨틱으로 인해 TryGetValue와 같은 참조 기반 API 구현에 한계 존재. Generic Container의 부재로 인해 Cache, Registry, JSON Map 등 서비스 레이어의 핵심 데이터 구조 설계 불가능.
Technical Solution
- Value::Reference 도입 및 procedure dispatch 내 write-back 메커니즘 구현을 통한 var 파라미터 지원
- TDictionary<K,V> 및 TList 구현을 통한 System.Generics.Collections 라이브러리 제공
- execute_assignment 단계의 normalize_call_name 적용을 통한 Generic 객체 생성 로직 정상화
- 빈 VMT Lookup 전 intrinsic 단계의 우선 진입 설계를 통한 Generic Instance Method의 Add 함수 호출 실패 방지
- Parser 수준에서 Integer, String 타입의 Generic Expression 인식을 위한 시맨틱 레이어 확장
실천 포인트
- Generic Method 구현 시 VMT Lookup 전 Intrinsic 처리 우선순위 검토 - 참조 기반 반환 값이 필요한 API 설계 시 호출자 변수 mutate를 위한 write-back 메커니즘 검증 - Generic 객체 할당 시 직접 호출 외에 Assignment 단계의 이름 정규화 처리 여부 확인