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