[삽질] SmartCast는 동일모듈에서 판단이 가능하다.

0

다른 모듈에 클래스가 있을경우 스마트 캐스트가 불가능합니다.
예를 들어 core-model에 Enitity를 모아놓았고, Sealed class 일 경우, 다른모듈에서 해당 클래스에 대해 스마트 캐스트가 불가능합니다.

A smart cast is only valid when multiple accesses of the same property are guaranteed to return the same value. If the property being accessed is defined in a different module from the access location, the module containing the property can be recompiled separately from the module where it’s accessed, breaking the key requirement of the smart cast. Therefore, cross-module smart casts are not allowed.
스마트 캐스트는 동일한 속성의 여러 액세스가 동일한 값을 반환하도록 보장되는 경우에만 유효합니다. 액세스 중인 속성이 액세스 위치와 다른 모듈에 정의된 경우 속성을 포함하는 모듈을 액세스하는 모듈과 별도로 다시 컴파일할 수 있으므로 스마트 캐스트의 핵심 요구 사항이 충족되지 않습니다. 따라서 교차 모듈 스마트 캐스트는 허용되지 않습니다.

이유를 들어보니 다른 모듈에 정의된 경우, 별도로 컴파일을 하기 때문에 같은 모듈이 아니면 스마트 캐스트가 불가능하다고 나옵니다.

profile
쉽게 가르칠수 있도록 노력하자

0개의 댓글