diff --git a/product_docs/docs/epas/11/epas_compat_spl/15_object_types_and_objects/02_object_type_components/01_object_type_specification_syntax.mdx b/product_docs/docs/epas/11/epas_compat_spl/15_object_types_and_objects/02_object_type_components/01_object_type_specification_syntax.mdx index 2c685251cf8..0b937920376 100644 --- a/product_docs/docs/epas/11/epas_compat_spl/15_object_types_and_objects/02_object_type_components/01_object_type_specification_syntax.mdx +++ b/product_docs/docs/epas/11/epas_compat_spl/15_object_types_and_objects/02_object_type_components/01_object_type_specification_syntax.mdx @@ -54,15 +54,14 @@ where `subprogram_spec` is the following: where `constructor` is the following: ```text -CONSTRUCTOR - [ ( [ SELF [ IN | IN OUT ] ] - [, [ IN | IN OUT | OUT ] +CONSTRUCTOR FUNCTION + [ ( [ [ IN | IN OUT | OUT ] [ DEFAULT ] ] [, [ IN | IN OUT | OUT ] [ DEFAULT ] ] ...) ] -RETURN self AS RESULT +RETURN ; ``` !!! Note @@ -104,9 +103,9 @@ Prior to the definition of a method, `[ NOT ] INSTANTIABLE` specifies whether or `proc_name` is an identifier of a procedure. If the `SELF` parameter is specified, `name` is the object type name given in the `CREATE TYPE` command. If specified, `parm1, parm2, …` are the formal parameters of the procedure. `datatype1, datatype2, …` are the data types of `parm1, parm2, …` respectively. `IN, IN OUT`, and `OUT` are the possible parameter modes for each formal parameter. If none are specified, the default is `IN`. `value1, value2, …` are default values that may be specified for `IN` parameters. -Include the `CONSTRUCTOR` keyword and function definition to define a constructor function. +Include the `CONSTRUCTOR FUNCTION` keyword and function definition to define a constructor function. -`func_name` is an identifier of a function. If the `SELF` parameter is specified, `name` is the object type name given in the `CREATE TYPE` command. If specified, `parm1, parm2, …` are the formal parameters of the function. `datatype1, datatype2, …` are the data types of `parm1, parm2, …` respectively. `IN, IN OUT`, and `OUT` are the possible parameter modes for each formal parameter. If none are specified, the default is `IN`. `value1, value2, …` are default values that may be specified for `IN` parameters. `return_type` is the data type of the value the function returns. +`func_name` is an identifier of a function. If specified, `parm1, parm2, …` are the formal parameters of the function. `datatype1, datatype2, …` are the data types of `parm1, parm2, …` respectively. `IN, IN OUT`, and `OUT` are the possible parameter modes for each formal parameter. If none are specified, the default is `IN`. `value1, value2, …` are default values that may be specified for `IN` parameters. `return_type` is the data type of the value the function returns. The following points should be noted about an object type specification: @@ -114,12 +113,6 @@ The following points should be noted about an object type specification: - There may be none, one, or more methods defined in the object type. -- For each member method there is an implicit, built-in parameter named `SELF`, whose data type is that of the object type being defined. - - `SELF` refers to the object instance that is currently invoking the method. `SELF` can be explicitly declared as an `IN` or `IN OUT` parameter in the parameter list (for example as `MEMBER FUNCTION (SELF IN OUT object_type ...)).` - - If `SELF` is explicitly declared, `SELF` must be the first parameter in the parameter list. If `SELF` is not explicitly declared, its parameter mode defaults to `IN OUT` for member procedures and `IN` for member functions. - - A static method cannot be overridden (`OVERRIDING` and `STATIC` cannot be specified together in `method_spec`). - A static method must be instantiable (`NOT INSTANTIABLE` and `STATIC` cannot be specified together in `method_spec`). diff --git a/product_docs/docs/epas/11/epas_compat_spl/15_object_types_and_objects/02_object_type_components/02_object_type_body_syntax.mdx b/product_docs/docs/epas/11/epas_compat_spl/15_object_types_and_objects/02_object_type_components/02_object_type_body_syntax.mdx index fa41c82315a..b01b6e080e0 100644 --- a/product_docs/docs/epas/11/epas_compat_spl/15_object_types_and_objects/02_object_type_components/02_object_type_body_syntax.mdx +++ b/product_docs/docs/epas/11/epas_compat_spl/15_object_types_and_objects/02_object_type_components/02_object_type_body_syntax.mdx @@ -64,15 +64,14 @@ and `subprogram_spec` is the following: where `constructor` is: ```text -CONSTRUCTOR - [ ( [ SELF [ IN | IN OUT ] ] - [, [ IN | IN OUT | OUT ] +CONSTRUCTOR FUNCTION + [ ( [ [ IN | IN OUT | OUT ] [ DEFAULT ] ] [, [ IN | IN OUT | OUT ] [ DEFAULT ] ] ...) ] -RETURN self AS RESULT +RETURN ; { IS | AS } [ ] BEGIN @@ -95,7 +94,7 @@ If `NOT INSTANTIABLE` was specified in `method_spec` of the `CREATE TYPE` comman `proc_name` is an identifier of a procedure specified in the `CREATE TYPE` command. The parameter declarations have the same meaning as described for the `CREATE TYPE` command, and must be specified in the `CREATE TYPE BODY` command in the same manner as specified in the `CREATE TYPE` command. -Include the `CONSTRUCTOR` keyword and function definition to define a constructor function. +Include the `CONSTRUCTOR FUNCTION` keyword and function definition to define a constructor function. `func_name` is an identifier of a function specified in the `CREATE TYPE` command. The parameter declarations have the same meaning as described for the `CREATE TYPE` command, and must be specified in the `CREATE TYPE BODY` command in the same manner as specified in the `CREATE TYPE` command. `return_type` is the data type of the value the function returns and must match `return_type` given in the `CREATE TYPE` command. diff --git a/product_docs/docs/epas/12/epas_compat_spl/15_object_types_and_objects/02_object_type_components/01_object_type_specification_syntax.mdx b/product_docs/docs/epas/12/epas_compat_spl/15_object_types_and_objects/02_object_type_components/01_object_type_specification_syntax.mdx index 2c685251cf8..0b937920376 100644 --- a/product_docs/docs/epas/12/epas_compat_spl/15_object_types_and_objects/02_object_type_components/01_object_type_specification_syntax.mdx +++ b/product_docs/docs/epas/12/epas_compat_spl/15_object_types_and_objects/02_object_type_components/01_object_type_specification_syntax.mdx @@ -54,15 +54,14 @@ where `subprogram_spec` is the following: where `constructor` is the following: ```text -CONSTRUCTOR - [ ( [ SELF [ IN | IN OUT ] ] - [, [ IN | IN OUT | OUT ] +CONSTRUCTOR FUNCTION + [ ( [ [ IN | IN OUT | OUT ] [ DEFAULT ] ] [, [ IN | IN OUT | OUT ] [ DEFAULT ] ] ...) ] -RETURN self AS RESULT +RETURN ; ``` !!! Note @@ -104,9 +103,9 @@ Prior to the definition of a method, `[ NOT ] INSTANTIABLE` specifies whether or `proc_name` is an identifier of a procedure. If the `SELF` parameter is specified, `name` is the object type name given in the `CREATE TYPE` command. If specified, `parm1, parm2, …` are the formal parameters of the procedure. `datatype1, datatype2, …` are the data types of `parm1, parm2, …` respectively. `IN, IN OUT`, and `OUT` are the possible parameter modes for each formal parameter. If none are specified, the default is `IN`. `value1, value2, …` are default values that may be specified for `IN` parameters. -Include the `CONSTRUCTOR` keyword and function definition to define a constructor function. +Include the `CONSTRUCTOR FUNCTION` keyword and function definition to define a constructor function. -`func_name` is an identifier of a function. If the `SELF` parameter is specified, `name` is the object type name given in the `CREATE TYPE` command. If specified, `parm1, parm2, …` are the formal parameters of the function. `datatype1, datatype2, …` are the data types of `parm1, parm2, …` respectively. `IN, IN OUT`, and `OUT` are the possible parameter modes for each formal parameter. If none are specified, the default is `IN`. `value1, value2, …` are default values that may be specified for `IN` parameters. `return_type` is the data type of the value the function returns. +`func_name` is an identifier of a function. If specified, `parm1, parm2, …` are the formal parameters of the function. `datatype1, datatype2, …` are the data types of `parm1, parm2, …` respectively. `IN, IN OUT`, and `OUT` are the possible parameter modes for each formal parameter. If none are specified, the default is `IN`. `value1, value2, …` are default values that may be specified for `IN` parameters. `return_type` is the data type of the value the function returns. The following points should be noted about an object type specification: @@ -114,12 +113,6 @@ The following points should be noted about an object type specification: - There may be none, one, or more methods defined in the object type. -- For each member method there is an implicit, built-in parameter named `SELF`, whose data type is that of the object type being defined. - - `SELF` refers to the object instance that is currently invoking the method. `SELF` can be explicitly declared as an `IN` or `IN OUT` parameter in the parameter list (for example as `MEMBER FUNCTION (SELF IN OUT object_type ...)).` - - If `SELF` is explicitly declared, `SELF` must be the first parameter in the parameter list. If `SELF` is not explicitly declared, its parameter mode defaults to `IN OUT` for member procedures and `IN` for member functions. - - A static method cannot be overridden (`OVERRIDING` and `STATIC` cannot be specified together in `method_spec`). - A static method must be instantiable (`NOT INSTANTIABLE` and `STATIC` cannot be specified together in `method_spec`). diff --git a/product_docs/docs/epas/12/epas_compat_spl/15_object_types_and_objects/02_object_type_components/02_object_type_body_syntax.mdx b/product_docs/docs/epas/12/epas_compat_spl/15_object_types_and_objects/02_object_type_components/02_object_type_body_syntax.mdx index fa41c82315a..b01b6e080e0 100644 --- a/product_docs/docs/epas/12/epas_compat_spl/15_object_types_and_objects/02_object_type_components/02_object_type_body_syntax.mdx +++ b/product_docs/docs/epas/12/epas_compat_spl/15_object_types_and_objects/02_object_type_components/02_object_type_body_syntax.mdx @@ -64,15 +64,14 @@ and `subprogram_spec` is the following: where `constructor` is: ```text -CONSTRUCTOR - [ ( [ SELF [ IN | IN OUT ] ] - [, [ IN | IN OUT | OUT ] +CONSTRUCTOR FUNCTION + [ ( [ [ IN | IN OUT | OUT ] [ DEFAULT ] ] [, [ IN | IN OUT | OUT ] [ DEFAULT ] ] ...) ] -RETURN self AS RESULT +RETURN ; { IS | AS } [ ] BEGIN @@ -95,7 +94,7 @@ If `NOT INSTANTIABLE` was specified in `method_spec` of the `CREATE TYPE` comman `proc_name` is an identifier of a procedure specified in the `CREATE TYPE` command. The parameter declarations have the same meaning as described for the `CREATE TYPE` command, and must be specified in the `CREATE TYPE BODY` command in the same manner as specified in the `CREATE TYPE` command. -Include the `CONSTRUCTOR` keyword and function definition to define a constructor function. +Include the `CONSTRUCTOR FUNCTION` keyword and function definition to define a constructor function. `func_name` is an identifier of a function specified in the `CREATE TYPE` command. The parameter declarations have the same meaning as described for the `CREATE TYPE` command, and must be specified in the `CREATE TYPE BODY` command in the same manner as specified in the `CREATE TYPE` command. `return_type` is the data type of the value the function returns and must match `return_type` given in the `CREATE TYPE` command. diff --git a/product_docs/docs/epas/13/epas_compat_spl/15_object_types_and_objects/02_object_type_components/01_object_type_specification_syntax.mdx b/product_docs/docs/epas/13/epas_compat_spl/15_object_types_and_objects/02_object_type_components/01_object_type_specification_syntax.mdx index 901781b4bfb..34628c1404f 100644 --- a/product_docs/docs/epas/13/epas_compat_spl/15_object_types_and_objects/02_object_type_components/01_object_type_specification_syntax.mdx +++ b/product_docs/docs/epas/13/epas_compat_spl/15_object_types_and_objects/02_object_type_components/01_object_type_specification_syntax.mdx @@ -57,15 +57,14 @@ where `subprogram_spec` is the following: where `constructor` is the following: ```text -CONSTRUCTOR - [ ( [ SELF [ IN | IN OUT ] ] - [, [ IN | IN OUT | OUT ] +CONSTRUCTOR FUNCTION + [ ( [ [ IN | IN OUT | OUT ] [ DEFAULT ] ] [, [ IN | IN OUT | OUT ] [ DEFAULT ] ] ...) ] -RETURN self AS RESULT +RETURN ; ``` !!! Note @@ -107,9 +106,9 @@ Prior to the definition of a method, `[ NOT ] INSTANTIABLE` specifies whether or `proc_name` is an identifier of a procedure. If the `SELF` parameter is specified, `name` is the object type name given in the `CREATE TYPE` command. If specified, `parm1, parm2, …` are the formal parameters of the procedure. `datatype1, datatype2, …` are the data types of `parm1, parm2, …` respectively. `IN, IN OUT`, and `OUT` are the possible parameter modes for each formal parameter. If none are specified, the default is `IN`. `value1, value2, …` are default values that may be specified for `IN` parameters. -Include the `CONSTRUCTOR` keyword and function definition to define a constructor function. +Include the `CONSTRUCTOR FUNCTION` keyword and function definition to define a constructor function. -`func_name` is an identifier of a function. If the `SELF` parameter is specified, `name` is the object type name given in the `CREATE TYPE` command. If specified, `parm1, parm2, …` are the formal parameters of the function. `datatype1, datatype2, …` are the data types of `parm1, parm2, …` respectively. `IN, IN OUT`, and `OUT` are the possible parameter modes for each formal parameter. If none are specified, the default is `IN`. `value1, value2, …` are default values that may be specified for `IN` parameters. `return_type` is the data type of the value the function returns. +`func_name` is an identifier of a function. If specified, `parm1, parm2, …` are the formal parameters of the function. `datatype1, datatype2, …` are the data types of `parm1, parm2, …` respectively. `IN, IN OUT`, and `OUT` are the possible parameter modes for each formal parameter. If none are specified, the default is `IN`. `value1, value2, …` are default values that may be specified for `IN` parameters. `return_type` is the data type of the value the function returns. The following points should be noted about an object type specification: @@ -117,12 +116,6 @@ The following points should be noted about an object type specification: - There may be none, one, or more methods defined in the object type. -- For each member method there is an implicit, built-in parameter named `SELF`, whose data type is that of the object type being defined. - - `SELF` refers to the object instance that is currently invoking the method. `SELF` can be explicitly declared as an `IN` or `IN OUT` parameter in the parameter list (for example as `MEMBER FUNCTION (SELF IN OUT object_type ...)).` - - If `SELF` is explicitly declared, `SELF` must be the first parameter in the parameter list. If `SELF` is not explicitly declared, its parameter mode defaults to `IN OUT` for member procedures and `IN` for member functions. - - A static method cannot be overridden (`OVERRIDING` and `STATIC` cannot be specified together in `method_spec`). - A static method must be instantiable (`NOT INSTANTIABLE` and `STATIC` cannot be specified together in `method_spec`). diff --git a/product_docs/docs/epas/13/epas_compat_spl/15_object_types_and_objects/02_object_type_components/02_object_type_body_syntax.mdx b/product_docs/docs/epas/13/epas_compat_spl/15_object_types_and_objects/02_object_type_components/02_object_type_body_syntax.mdx index 9bfa45919a5..adb881f7c3c 100644 --- a/product_docs/docs/epas/13/epas_compat_spl/15_object_types_and_objects/02_object_type_components/02_object_type_body_syntax.mdx +++ b/product_docs/docs/epas/13/epas_compat_spl/15_object_types_and_objects/02_object_type_components/02_object_type_body_syntax.mdx @@ -67,15 +67,14 @@ and `subprogram_spec` is the following: where `constructor` is: ```text -CONSTRUCTOR - [ ( [ SELF [ IN | IN OUT ] ] - [, [ IN | IN OUT | OUT ] +CONSTRUCTOR FUNCTION + [ ( [ [ IN | IN OUT | OUT ] [ DEFAULT ] ] [, [ IN | IN OUT | OUT ] [ DEFAULT ] ] ...) ] -RETURN self AS RESULT +RETURN ; { IS | AS } [ ] BEGIN @@ -98,7 +97,7 @@ If `NOT INSTANTIABLE` was specified in `method_spec` of the `CREATE TYPE` comman `proc_name` is an identifier of a procedure specified in the `CREATE TYPE` command. The parameter declarations have the same meaning as described for the `CREATE TYPE` command, and must be specified in the `CREATE TYPE BODY` command in the same manner as specified in the `CREATE TYPE` command. -Include the `CONSTRUCTOR` keyword and function definition to define a constructor function. +Include the `CONSTRUCTOR FUNCTION` keyword and function definition to define a constructor function. `func_name` is an identifier of a function specified in the `CREATE TYPE` command. The parameter declarations have the same meaning as described for the `CREATE TYPE` command, and must be specified in the `CREATE TYPE BODY` command in the same manner as specified in the `CREATE TYPE` command. `return_type` is the data type of the value the function returns and must match `return_type` given in the `CREATE TYPE` command. diff --git a/product_docs/docs/epas/14/epas_compat_spl/15_object_types_and_objects/02_object_type_components/01_object_type_specification_syntax.mdx b/product_docs/docs/epas/14/epas_compat_spl/15_object_types_and_objects/02_object_type_components/01_object_type_specification_syntax.mdx index daa8f37bf9e..36b0ac4d969 100644 --- a/product_docs/docs/epas/14/epas_compat_spl/15_object_types_and_objects/02_object_type_components/01_object_type_specification_syntax.mdx +++ b/product_docs/docs/epas/14/epas_compat_spl/15_object_types_and_objects/02_object_type_components/01_object_type_specification_syntax.mdx @@ -53,15 +53,14 @@ Where `subprogram_spec` is the following: Where `constructor` is the following: ```text -CONSTRUCTOR - [ ( [ SELF [ IN | IN OUT ] ] - [, [ IN | IN OUT | OUT ] +CONSTRUCTOR FUNCTION + [ ( [ [ IN | IN OUT | OUT ] [ DEFAULT ] ] [, [ IN | IN OUT | OUT ] [ DEFAULT ] ] ...) ] -RETURN self AS RESULT +RETURN ; ``` !!! Note @@ -103,9 +102,9 @@ Before defining a method, use `[ NOT ] INSTANTIABLE` to specify whether the obje `proc_name` is an identifier of a procedure. If you specify the `SELF` parameter, `name` is the object type name given in the `CREATE TYPE` command. If specified, `parm1, parm2, …` are the formal parameters of the procedure. `datatype1, datatype2, …` are the data types of `parm1, parm2, …` respectively. `IN`, `IN OUT`, and `OUT` are the possible parameter modes for each formal parameter. The default is `IN`. `value1, value2, …` are default values that you can specify for `IN` parameters. -Include the `CONSTRUCTOR` keyword and function definition to define a constructor function. +Include the `CONSTRUCTOR FUNCTION` keyword and function definition to define a constructor function. -`func_name` is an identifier of a function. If you specify the `SELF` parameter, `name` is the object type name given in the `CREATE TYPE` command. If specified, `parm1, parm2, …` are the formal parameters of the function. `datatype1, datatype2, …` are the data types of `parm1, parm2, …` respectively. `IN`, `IN OUT`, and `OUT` are the possible parameter modes for each formal parameter. The default is `IN`. `value1, value2, …` are default values that you can specify for `IN` parameters. `return_type` is the data type of the value the function returns. +`func_name` is an identifier of a function. If specified, `parm1, parm2, …` are the formal parameters of the function. `datatype1, datatype2, …` are the data types of `parm1, parm2, …` respectively. `IN`, `IN OUT`, and `OUT` are the possible parameter modes for each formal parameter. The default is `IN`. `value1, value2, …` are default values that you can specify for `IN` parameters. `return_type` is the data type of the value the function returns. Note the following about an object type specification: @@ -113,12 +112,6 @@ Note the following about an object type specification: - There can be zero, one, or more methods defined in the object type. -- For each member method, there is an implicit, built-in parameter named `SELF` whose data type is that of the object type being defined. - - `SELF` refers to the object instance that's currently invoking the method. `SELF` can be explicitly declared as an `IN` or `IN OUT` parameter in the parameter list (for example, as `MEMBER FUNCTION (SELF IN OUT object_type ...)`). - - If `SELF` is explicitly declared, `SELF` must be the first parameter in the parameter list. If `SELF` isn't explicitly declared, its parameter mode defaults to `IN OUT` for member procedures and `IN` for member functions. - - A static method can't be overridden. You can't specify `OVERRIDING` and `STATIC` together in `method_spec`. - A static method must be instantiable. You can't specify `NOT INSTANTIABLE` and `STATIC` together in `method_spec`. diff --git a/product_docs/docs/epas/14/epas_compat_spl/15_object_types_and_objects/02_object_type_components/02_object_type_body_syntax.mdx b/product_docs/docs/epas/14/epas_compat_spl/15_object_types_and_objects/02_object_type_components/02_object_type_body_syntax.mdx index 68d391fa46f..99c695c2c35 100644 --- a/product_docs/docs/epas/14/epas_compat_spl/15_object_types_and_objects/02_object_type_components/02_object_type_body_syntax.mdx +++ b/product_docs/docs/epas/14/epas_compat_spl/15_object_types_and_objects/02_object_type_components/02_object_type_body_syntax.mdx @@ -59,15 +59,14 @@ Where `method_spec` is `subprogram_spec`, and `subprogram_spec` is the following Where `constructor` is: ```text -CONSTRUCTOR - [ ( [ SELF [ IN | IN OUT ] ] - [, [ IN | IN OUT | OUT ] +CONSTRUCTOR FUNCTION + [ ( [ [ IN | IN OUT | OUT ] [ DEFAULT ] ] [, [ IN | IN OUT | OUT ] [ DEFAULT ] ] ...) ] -RETURN self AS RESULT +RETURN ; { IS | AS } [ ] BEGIN @@ -92,7 +91,7 @@ If `NOT INSTANTIABLE` was specified in `method_spec` of the `CREATE TYPE` comman `proc_name` is an identifier of a procedure specified in the `CREATE TYPE` command. The parameter declarations have the same meaning as described for the `CREATE TYPE` command. They must be specified in the `CREATE TYPE BODY` command in the same manner as in the `CREATE TYPE` command. -Include the `CONSTRUCTOR` keyword and function definition to define a constructor function. +Include the `CONSTRUCTOR FUNCTION` keyword and function definition to define a constructor function. `func_name` is an identifier of a function specified in the `CREATE TYPE` command. The parameter declarations have the same meaning as described for the `CREATE TYPE` command and must be specified in the `CREATE TYPE BODY` command in the same manner as in the `CREATE TYPE` command. `return_type` is the data type of the value the function returns and must match the `return_type` given in the `CREATE TYPE` command.