From 1ba046e4a26e624ab94f67198ccadb77fbd4877e Mon Sep 17 00:00:00 2001 From: alexk Date: Thu, 2 Oct 2014 14:05:35 +0000 Subject: [PATCH] Author:alexk Date:2014-10-02T14:05:35.000000Z git-svn-id: https://svn.eiffel.com/eiffel-org/trunk@1393 abb3cda0-5349-4a8f-a601-0c33ac3a8c38 --- documentation/current/draft/index.wiki | 5 +++++ .../void-safety-background-definition-and-tools.wiki | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) create mode 100644 documentation/current/draft/index.wiki diff --git a/documentation/current/draft/index.wiki b/documentation/current/draft/index.wiki new file mode 100644 index 00000000..795de338 --- /dev/null +++ b/documentation/current/draft/index.wiki @@ -0,0 +1,5 @@ +[[Property:title|Draft]] +[[Property:weight|0]] +[[Property:uuid|c277e707-67a0-14a2-099e-5b861f2480ad]] + + diff --git a/documentation/current/method/void-safe-programming-eiffel/void-safety-background-definition-and-tools.wiki b/documentation/current/method/void-safe-programming-eiffel/void-safety-background-definition-and-tools.wiki index a16855af..e24b12e9 100644 --- a/documentation/current/method/void-safe-programming-eiffel/void-safety-background-definition-and-tools.wiki +++ b/documentation/current/method/void-safe-programming-eiffel/void-safety-background-definition-and-tools.wiki @@ -176,7 +176,7 @@ Still, it's not too hard to understand the basics of initializing variables of a ===Self-initializing attributes=== -A self-initializing attribute is guaranteed to have a value when accessed at run time. Declarations of self-initializing attributes are characterized by the use of the attribute keyword. The code that follows the attribute keyword is executed to initialize the attribute in the case that the attribute is accessed prior to being initialized in any other way. +A self-initializing attribute is guaranteed to have a value when accessed at run time. Declarations of self-initializing attributes are characterized by the use of the code that follows the attribute keyword. The code is executed to initialize the attribute in the case that the attribute is accessed prior to being initialized in any other way. So, self-initializing attributes are ordinary attributes, with the restriction that they are of both ''attached'' types and ''reference'' types (i.e., not expanded types or constants). Self-initializing attributes still can be, and typically will be initialized in the traditional ways. The difference is that the code in the attribute part serves as a kind of safety net guaranteeing that a self-initializing attribute will never be void, even if it is accessed prior to being initialized by one of the traditional means.