diff options
Diffstat (limited to 'pyGHDL/libghdl/vhdl/nodes_meta.py')
-rw-r--r-- | pyGHDL/libghdl/vhdl/nodes_meta.py | 549 |
1 files changed, 278 insertions, 271 deletions
diff --git a/pyGHDL/libghdl/vhdl/nodes_meta.py b/pyGHDL/libghdl/vhdl/nodes_meta.py index 505c84fb7..a923ac764 100644 --- a/pyGHDL/libghdl/vhdl/nodes_meta.py +++ b/pyGHDL/libghdl/vhdl/nodes_meta.py @@ -228,277 +228,278 @@ class fields(IntEnum): Base_Name = 108 Interface_Declaration_Chain = 109 Default_Subprogram = 110 - Subprogram_Specification = 111 - Sequential_Statement_Chain = 112 - Simultaneous_Statement_Chain = 113 - Subprogram_Body = 114 - Overload_Number = 115 - Subprogram_Depth = 116 - Subprogram_Hash = 117 - Impure_Depth = 118 - Return_Type = 119 - Implicit_Definition = 120 - Uninstantiated_Subprogram_Name = 121 - Default_Value = 122 - Deferred_Declaration = 123 - Deferred_Declaration_Flag = 124 - Shared_Flag = 125 - Design_Unit = 126 - Block_Statement = 127 - Signal_Driver = 128 - Declaration_Chain = 129 - File_Logical_Name = 130 - File_Open_Kind = 131 - Element_Position = 132 - Use_Clause_Chain = 133 - Context_Reference_Chain = 134 - Inherit_Spec_Chain = 135 - Selected_Name = 136 - Type_Declarator = 137 - Complete_Type_Definition = 138 - Incomplete_Type_Ref_Chain = 139 - Associated_Type = 140 - Enumeration_Literal_List = 141 - Entity_Class_Entry_Chain = 142 - Group_Constituent_List = 143 - Unit_Chain = 144 - Primary_Unit = 145 - Identifier = 146 - Label = 147 - Return_Identifier = 148 - Visible_Flag = 149 - Range_Constraint = 150 - Direction = 151 - Left_Limit = 152 - Right_Limit = 153 - Left_Limit_Expr = 154 - Right_Limit_Expr = 155 - Parent_Type = 156 - Simple_Nature = 157 - Base_Nature = 158 - Resolution_Indication = 159 - Record_Element_Resolution_Chain = 160 - Tolerance = 161 - Plus_Terminal_Name = 162 - Minus_Terminal_Name = 163 - Plus_Terminal = 164 - Minus_Terminal = 165 - Magnitude_Expression = 166 - Phase_Expression = 167 - Power_Expression = 168 - Simultaneous_Left = 169 - Simultaneous_Right = 170 - Text_File_Flag = 171 - Only_Characters_Flag = 172 - Is_Character_Type = 173 - Nature_Staticness = 174 - Type_Staticness = 175 - Constraint_State = 176 - Index_Subtype_List = 177 - Index_Subtype_Definition_List = 178 - Element_Subtype_Indication = 179 - Element_Subtype = 180 - Element_Subnature_Indication = 181 - Element_Subnature = 182 - Index_Constraint_List = 183 - Array_Element_Constraint = 184 - Has_Array_Constraint_Flag = 185 - Has_Element_Constraint_Flag = 186 - Elements_Declaration_List = 187 - Owned_Elements_Chain = 188 - Designated_Type = 189 - Designated_Subtype_Indication = 190 - Index_List = 191 - Reference = 192 - Nature_Declarator = 193 - Across_Type_Mark = 194 - Through_Type_Mark = 195 - Across_Type_Definition = 196 - Through_Type_Definition = 197 - Across_Type = 198 - Through_Type = 199 - Target = 200 - Waveform_Chain = 201 - Guard = 202 - Delay_Mechanism = 203 - Reject_Time_Expression = 204 - Force_Mode = 205 - Has_Force_Mode = 206 - Sensitivity_List = 207 - Process_Origin = 208 - Package_Origin = 209 - Condition_Clause = 210 - Break_Element = 211 - Selector_Quantity = 212 - Break_Quantity = 213 - Timeout_Clause = 214 - Postponed_Flag = 215 - Callees_List = 216 - Passive_Flag = 217 - Resolution_Function_Flag = 218 - Wait_State = 219 - All_Sensitized_State = 220 - Seen_Flag = 221 - Pure_Flag = 222 - Foreign_Flag = 223 - Resolved_Flag = 224 - Signal_Type_Flag = 225 - Has_Signal_Flag = 226 - Purity_State = 227 - Elab_Flag = 228 - Vendor_Library_Flag = 229 - Configuration_Mark_Flag = 230 - Configuration_Done_Flag = 231 - Index_Constraint_Flag = 232 - Hide_Implicit_Flag = 233 - Assertion_Condition = 234 - Report_Expression = 235 - Severity_Expression = 236 - Instantiated_Unit = 237 - Generic_Map_Aspect_Chain = 238 - Port_Map_Aspect_Chain = 239 - Configuration_Name = 240 - Component_Configuration = 241 - Configuration_Specification = 242 - Default_Binding_Indication = 243 - Default_Configuration_Declaration = 244 - Expression = 245 - Conditional_Expression_Chain = 246 - Allocator_Designated_Type = 247 - Selected_Waveform_Chain = 248 - Conditional_Waveform_Chain = 249 - Guard_Expression = 250 - Guard_Decl = 251 - Guard_Sensitivity_List = 252 - Attribute_Implicit_Chain = 253 - Block_Block_Configuration = 254 - Package_Header = 255 - Block_Header = 256 - Uninstantiated_Package_Name = 257 - Uninstantiated_Package_Decl = 258 - Instance_Source_File = 259 - Generate_Block_Configuration = 260 - Generate_Statement_Body = 261 - Alternative_Label = 262 - Generate_Else_Clause = 263 - Condition = 264 - Else_Clause = 265 - Parameter_Specification = 266 - Parent = 267 - Loop_Label = 268 - Exit_Flag = 269 - Next_Flag = 270 - Component_Name = 271 - Instantiation_List = 272 - Entity_Aspect = 273 - Default_Entity_Aspect = 274 - Binding_Indication = 275 - Named_Entity = 276 - Referenced_Name = 277 - Expr_Staticness = 278 - Scalar_Size = 279 - Error_Origin = 280 - Operand = 281 - Left = 282 - Right = 283 - Unit_Name = 284 - Name = 285 - Group_Template_Name = 286 - Name_Staticness = 287 - Prefix = 288 - Signature_Prefix = 289 - External_Pathname = 290 - Pathname_Suffix = 291 - Pathname_Expression = 292 - In_Formal_Flag = 293 - Inertial_Flag = 294 - Slice_Subtype = 295 - Suffix = 296 - Index_Subtype = 297 - Parameter = 298 - Parameter_2 = 299 - Parameter_3 = 300 - Parameter_4 = 301 - Attr_Chain = 302 - Attribute_Implicit_Declaration = 303 - Actual_Type = 304 - Actual_Type_Definition = 305 - Association_Chain = 306 - Individual_Association_Chain = 307 - Subprogram_Association_Chain = 308 - Aggregate_Info = 309 - Sub_Aggregate_Info = 310 - Aggr_Dynamic_Flag = 311 - Aggr_Min_Length = 312 - Aggr_Low_Limit = 313 - Aggr_High_Limit = 314 - Aggr_Others_Flag = 315 - Aggr_Named_Flag = 316 - Aggregate_Expand_Flag = 317 - Determined_Aggregate_Flag = 318 - Association_Choices_Chain = 319 - Case_Statement_Alternative_Chain = 320 - Matching_Flag = 321 - Choice_Staticness = 322 - Procedure_Call = 323 - Implementation = 324 - Parameter_Association_Chain = 325 - Method_Object = 326 - Subtype_Type_Mark = 327 - Subnature_Nature_Mark = 328 - Type_Conversion_Subtype = 329 - Type_Mark = 330 - File_Type_Mark = 331 - Return_Type_Mark = 332 - Has_Disconnect_Flag = 333 - Has_Active_Flag = 334 - Is_Within_Flag = 335 - Type_Marks_List = 336 - Implicit_Alias_Flag = 337 - Alias_Signature = 338 - Attribute_Signature = 339 - Overload_List = 340 - Simple_Name_Identifier = 341 - Simple_Name_Subtype = 342 - Protected_Type_Body = 343 - Protected_Type_Declaration = 344 - Use_Flag = 345 - End_Has_Reserved_Id = 346 - End_Has_Identifier = 347 - End_Has_Postponed = 348 - Has_Label = 349 - Has_Begin = 350 - Has_End = 351 - Has_Is = 352 - Has_Pure = 353 - Has_Body = 354 - Has_Parameter = 355 - Has_Component = 356 - Has_Identifier_List = 357 - Has_Mode = 358 - Has_Class = 359 - Has_Delay_Mechanism = 360 - Suspend_Flag = 361 - Stop_Flag = 362 - Is_Ref = 363 - Is_Forward_Ref = 364 - Psl_Property = 365 - Psl_Sequence = 366 - Psl_Declaration = 367 - Psl_Expression = 368 - Psl_Boolean = 369 - PSL_Clock = 370 - PSL_NFA = 371 - PSL_Nbr_States = 372 - PSL_Clock_Sensitivity = 373 - PSL_EOS_Flag = 374 - PSL_Abort_Flag = 375 - Count_Expression = 376 - Clock_Expression = 377 - Default_Clock = 378 - Foreign_Node = 379 - Suspend_State_Index = 380 - Suspend_State_Chain = 381 + Associated_Subprogram = 111 + Subprogram_Specification = 112 + Sequential_Statement_Chain = 113 + Simultaneous_Statement_Chain = 114 + Subprogram_Body = 115 + Overload_Number = 116 + Subprogram_Depth = 117 + Subprogram_Hash = 118 + Impure_Depth = 119 + Return_Type = 120 + Implicit_Definition = 121 + Uninstantiated_Subprogram_Name = 122 + Default_Value = 123 + Deferred_Declaration = 124 + Deferred_Declaration_Flag = 125 + Shared_Flag = 126 + Design_Unit = 127 + Block_Statement = 128 + Signal_Driver = 129 + Declaration_Chain = 130 + File_Logical_Name = 131 + File_Open_Kind = 132 + Element_Position = 133 + Use_Clause_Chain = 134 + Context_Reference_Chain = 135 + Inherit_Spec_Chain = 136 + Selected_Name = 137 + Type_Declarator = 138 + Complete_Type_Definition = 139 + Incomplete_Type_Ref_Chain = 140 + Associated_Type = 141 + Enumeration_Literal_List = 142 + Entity_Class_Entry_Chain = 143 + Group_Constituent_List = 144 + Unit_Chain = 145 + Primary_Unit = 146 + Identifier = 147 + Label = 148 + Return_Identifier = 149 + Visible_Flag = 150 + Range_Constraint = 151 + Direction = 152 + Left_Limit = 153 + Right_Limit = 154 + Left_Limit_Expr = 155 + Right_Limit_Expr = 156 + Parent_Type = 157 + Simple_Nature = 158 + Base_Nature = 159 + Resolution_Indication = 160 + Record_Element_Resolution_Chain = 161 + Tolerance = 162 + Plus_Terminal_Name = 163 + Minus_Terminal_Name = 164 + Plus_Terminal = 165 + Minus_Terminal = 166 + Magnitude_Expression = 167 + Phase_Expression = 168 + Power_Expression = 169 + Simultaneous_Left = 170 + Simultaneous_Right = 171 + Text_File_Flag = 172 + Only_Characters_Flag = 173 + Is_Character_Type = 174 + Nature_Staticness = 175 + Type_Staticness = 176 + Constraint_State = 177 + Index_Subtype_List = 178 + Index_Subtype_Definition_List = 179 + Element_Subtype_Indication = 180 + Element_Subtype = 181 + Element_Subnature_Indication = 182 + Element_Subnature = 183 + Index_Constraint_List = 184 + Array_Element_Constraint = 185 + Has_Array_Constraint_Flag = 186 + Has_Element_Constraint_Flag = 187 + Elements_Declaration_List = 188 + Owned_Elements_Chain = 189 + Designated_Type = 190 + Designated_Subtype_Indication = 191 + Index_List = 192 + Reference = 193 + Nature_Declarator = 194 + Across_Type_Mark = 195 + Through_Type_Mark = 196 + Across_Type_Definition = 197 + Through_Type_Definition = 198 + Across_Type = 199 + Through_Type = 200 + Target = 201 + Waveform_Chain = 202 + Guard = 203 + Delay_Mechanism = 204 + Reject_Time_Expression = 205 + Force_Mode = 206 + Has_Force_Mode = 207 + Sensitivity_List = 208 + Process_Origin = 209 + Package_Origin = 210 + Condition_Clause = 211 + Break_Element = 212 + Selector_Quantity = 213 + Break_Quantity = 214 + Timeout_Clause = 215 + Postponed_Flag = 216 + Callees_List = 217 + Passive_Flag = 218 + Resolution_Function_Flag = 219 + Wait_State = 220 + All_Sensitized_State = 221 + Seen_Flag = 222 + Pure_Flag = 223 + Foreign_Flag = 224 + Resolved_Flag = 225 + Signal_Type_Flag = 226 + Has_Signal_Flag = 227 + Purity_State = 228 + Elab_Flag = 229 + Vendor_Library_Flag = 230 + Configuration_Mark_Flag = 231 + Configuration_Done_Flag = 232 + Index_Constraint_Flag = 233 + Hide_Implicit_Flag = 234 + Assertion_Condition = 235 + Report_Expression = 236 + Severity_Expression = 237 + Instantiated_Unit = 238 + Generic_Map_Aspect_Chain = 239 + Port_Map_Aspect_Chain = 240 + Configuration_Name = 241 + Component_Configuration = 242 + Configuration_Specification = 243 + Default_Binding_Indication = 244 + Default_Configuration_Declaration = 245 + Expression = 246 + Conditional_Expression_Chain = 247 + Allocator_Designated_Type = 248 + Selected_Waveform_Chain = 249 + Conditional_Waveform_Chain = 250 + Guard_Expression = 251 + Guard_Decl = 252 + Guard_Sensitivity_List = 253 + Attribute_Implicit_Chain = 254 + Block_Block_Configuration = 255 + Package_Header = 256 + Block_Header = 257 + Uninstantiated_Package_Name = 258 + Uninstantiated_Package_Decl = 259 + Instance_Source_File = 260 + Generate_Block_Configuration = 261 + Generate_Statement_Body = 262 + Alternative_Label = 263 + Generate_Else_Clause = 264 + Condition = 265 + Else_Clause = 266 + Parameter_Specification = 267 + Parent = 268 + Loop_Label = 269 + Exit_Flag = 270 + Next_Flag = 271 + Component_Name = 272 + Instantiation_List = 273 + Entity_Aspect = 274 + Default_Entity_Aspect = 275 + Binding_Indication = 276 + Named_Entity = 277 + Referenced_Name = 278 + Expr_Staticness = 279 + Scalar_Size = 280 + Error_Origin = 281 + Operand = 282 + Left = 283 + Right = 284 + Unit_Name = 285 + Name = 286 + Group_Template_Name = 287 + Name_Staticness = 288 + Prefix = 289 + Signature_Prefix = 290 + External_Pathname = 291 + Pathname_Suffix = 292 + Pathname_Expression = 293 + In_Formal_Flag = 294 + Inertial_Flag = 295 + Slice_Subtype = 296 + Suffix = 297 + Index_Subtype = 298 + Parameter = 299 + Parameter_2 = 300 + Parameter_3 = 301 + Parameter_4 = 302 + Attr_Chain = 303 + Attribute_Implicit_Declaration = 304 + Actual_Type = 305 + Actual_Type_Definition = 306 + Association_Chain = 307 + Individual_Association_Chain = 308 + Subprogram_Association_Chain = 309 + Aggregate_Info = 310 + Sub_Aggregate_Info = 311 + Aggr_Dynamic_Flag = 312 + Aggr_Min_Length = 313 + Aggr_Low_Limit = 314 + Aggr_High_Limit = 315 + Aggr_Others_Flag = 316 + Aggr_Named_Flag = 317 + Aggregate_Expand_Flag = 318 + Determined_Aggregate_Flag = 319 + Association_Choices_Chain = 320 + Case_Statement_Alternative_Chain = 321 + Matching_Flag = 322 + Choice_Staticness = 323 + Procedure_Call = 324 + Implementation = 325 + Parameter_Association_Chain = 326 + Method_Object = 327 + Subtype_Type_Mark = 328 + Subnature_Nature_Mark = 329 + Type_Conversion_Subtype = 330 + Type_Mark = 331 + File_Type_Mark = 332 + Return_Type_Mark = 333 + Has_Disconnect_Flag = 334 + Has_Active_Flag = 335 + Is_Within_Flag = 336 + Type_Marks_List = 337 + Implicit_Alias_Flag = 338 + Alias_Signature = 339 + Attribute_Signature = 340 + Overload_List = 341 + Simple_Name_Identifier = 342 + Simple_Name_Subtype = 343 + Protected_Type_Body = 344 + Protected_Type_Declaration = 345 + Use_Flag = 346 + End_Has_Reserved_Id = 347 + End_Has_Identifier = 348 + End_Has_Postponed = 349 + Has_Label = 350 + Has_Begin = 351 + Has_End = 352 + Has_Is = 353 + Has_Pure = 354 + Has_Body = 355 + Has_Parameter = 356 + Has_Component = 357 + Has_Identifier_List = 358 + Has_Mode = 359 + Has_Class = 360 + Has_Delay_Mechanism = 361 + Suspend_Flag = 362 + Stop_Flag = 363 + Is_Ref = 364 + Is_Forward_Ref = 365 + Psl_Property = 366 + Psl_Sequence = 367 + Psl_Declaration = 368 + Psl_Expression = 369 + Psl_Boolean = 370 + PSL_Clock = 371 + PSL_NFA = 372 + PSL_Nbr_States = 373 + PSL_Clock_Sensitivity = 374 + PSL_EOS_Flag = 375 + PSL_Abort_Flag = 376 + Count_Expression = 377 + Clock_Expression = 378 + Default_Clock = 379 + Foreign_Node = 380 + Suspend_State_Index = 381 + Suspend_State_Chain = 382 def Get_Boolean(node, field): @@ -1300,6 +1301,12 @@ def Has_Default_Subprogram(kind: IirKind) -> bool: @export +@BindToLibGHDL("vhdl__nodes_meta__has_associated_subprogram") +def Has_Associated_Subprogram(kind: IirKind) -> bool: + """""" + + +@export @BindToLibGHDL("vhdl__nodes_meta__has_subprogram_specification") def Has_Subprogram_Specification(kind: IirKind) -> bool: """""" |