EGL에서 참조 호환성

다음 상황에서 참조 호환성 규칙이 적용됩니다.
  • 매개변수에 inOut 수정자가 있습니다.
  • 매개변수가 JSF 핸들러의 onConstructionFunction 특성으로 지정된 함수에 있습니다.
  • 참조 변수를 지정하거나, 전달하거나, 리턴하는 중입니다("참조 변수" 참조).
EGL의 참조 호환성에 적용되는 규칙은 다음과 같습니다.
  1. 두 값이 동일한 기본 유형을 참조하는 경우에만 참조 호환 가능합니다. CHAR(7)은 CHAR(8)과 참조 호환 가능하지 않습니다.
  2. 비구조화 레코드는 소스의 각 필드가 대상의 각 필드와 동일한 유형인 경우에만 다른 비구조화 레코드와 참조 호환 가능합니다.
  3. 구조화 레코드는 소스 레코드의 길이가 대상보다 길거나 같은 경우에만 다른 구조화 레코드(또는 CHAR 변수)와 참조 호환 가능합니다. 개별 필드의 호환성은 문제가 되지 않습니다.

값 유형 변수를 참조 변수로 지정할 수 있습니다. 이 경우 EGL은 비참조 변수의 값을 메모리의 새 영역에 복사하고 참조 변수가 이 새 영역을 가리키도록 합니다. 두 유형은 지정 호환 가능해야 합니다. 두 유형이 다를 경우 소스 유형이 대상 유형으로 변환됩니다.

참조 변수를 값 유형 변수로 지정할 수 있습니다. 이 경우에는 비참조 변수가 참조 변수가 가리키는 값을 사용합니다. 두 유형은 지정 호환 가능해야 합니다. 두 유형이 다를 경우 소스 유형이 대상 유형으로 변환됩니다.

다음 인수 중 하나를 사용하여 함수를 호출하는 경우에도 값 - 참조 지정이 수행됩니다.
  • in 매개변수와 일치하는 참조 유형 인수.
  • 참조 매개변수와 일치하는 값 유형 인수.