plcopen/pou_variables.ysl2
changeset 1949 c266fbaae0f6
parent 1946 95fa4e05e30f
child 3802 8616ffd7c29d
equal deleted inserted replaced
1948:b9a3f771aaab 1949:c266fbaae0f6
    15     
    15     
    16     variable "stdlib", "ns:GetStdLibs()";
    16     variable "stdlib", "ns:GetStdLibs()";
    17 
    17 
    18     variable "extensions", "ns:GetExtensions()";
    18     variable "extensions", "ns:GetExtensions()";
    19 
    19 
    20     variable "all", "$project | $stdlib | $extensions";
    20     variable "all_types", "($project | $stdlib | $extensions)/ppx:types";
    21     
    21     
    22     function "add_root" {
    22     function "add_root" {
    23         param "class";
    23         param "class";
    24         param "type";
    24         param "type";
    25         param "edit" > true
    25         param "edit" > true
   171     }
   171     }
   172     
   172     
   173     template "*[self::ppx:type or self::ppx:baseType]/ppx:derived", mode="var_class" {
   173     template "*[self::ppx:type or self::ppx:baseType]/ppx:derived", mode="var_class" {
   174         param "default_class";
   174         param "default_class";
   175         variable "type_name", "@name";
   175         variable "type_name", "@name";
   176         variable "pou_infos", "$all/ppx:types/ppx:pous/ppx:pou[@name=$type_name]";
   176         variable "pou_infos", "$all_types/ppx:pous/ppx:pou[@name=$type_name]";
   177         choose {
   177         choose {
   178             when "$pou_infos" {
   178             when "$pou_infos" {
   179                 apply "$pou_infos", mode="var_class";
   179                 apply "$pou_infos", mode="var_class";
   180             }
   180             }
   181             otherwise {
   181             otherwise {
   237     
   237     
   238     template "*[self::ppx:type or self::ppx:baseType]/ppx:derived", mode="var_debug" {
   238     template "*[self::ppx:type or self::ppx:baseType]/ppx:derived", mode="var_debug" {
   239         variable "type_name", "@name";
   239         variable "type_name", "@name";
   240         variable "datatype_infos", """ \
   240         variable "datatype_infos", """ \
   241             $project/ppx:types/ppx:pous/ppx:pou[@name=$type_name] | \
   241             $project/ppx:types/ppx:pous/ppx:pou[@name=$type_name] | \
   242             $all/ppx:types/ppx:dataTypes/ppx:dataType[@name=$type_name] \
   242             $all_types/ppx:dataTypes/ppx:dataType[@name=$type_name] \
   243         """;
   243         """;
   244         choose {
   244         choose {
   245             when "$datatype_infos" {
   245             when "$datatype_infos" {
   246                 apply "$datatype_infos", mode="var_debug";
   246                 apply "$datatype_infos", mode="var_debug";
   247             }
   247             }