@@ -89,23 +89,26 @@ def _to_db_type(x: str) -> str:
89
89
_final_db_class_lookup = {}
90
90
91
91
92
+ def get_ql_ipa_class_db (name : str ) -> ql .Synth .FinalClassDb :
93
+ return _final_db_class_lookup .setdefault (name , ql .Synth .FinalClassDb (name = name ,
94
+ params = [
95
+ ql .Synth .Param ("id" , _to_db_type (name ))]))
96
+
97
+
92
98
def get_ql_ipa_class (cls : schema .Class ):
93
99
if cls .derived :
94
100
return ql .Synth .NonFinalClass (name = cls .name , derived = sorted (cls .derived ),
95
101
root = (cls .name == schema .root_class_name ))
96
102
if cls .ipa and cls .ipa .from_class is not None :
97
103
source = cls .ipa .from_class
98
- _final_db_class_lookup . setdefault (source , ql . Synth . FinalClassDb ( source ) ).subtract_type (cls .name )
104
+ get_ql_ipa_class_db (source ).subtract_type (cls .name )
99
105
return ql .Synth .FinalClassDerivedIpa (name = cls .name ,
100
106
params = [ql .Synth .Param ("id" , _to_db_type (source ))])
101
107
if cls .ipa and cls .ipa .on_arguments is not None :
102
108
return ql .Synth .FinalClassFreshIpa (name = cls .name ,
103
109
params = [ql .Synth .Param (k , _to_db_type (v ))
104
110
for k , v in cls .ipa .on_arguments .items ()])
105
- ret = ql .Synth .FinalClassDb (name = cls .name ,
106
- params = [ql .Synth .Param ("id" , _to_db_type (cls .name ))])
107
- _final_db_class_lookup [cls .name ] = ret
108
- return ret
111
+ return get_ql_ipa_class_db (cls .name )
109
112
110
113
111
114
def get_import (file : pathlib .Path , swift_dir : pathlib .Path ):
0 commit comments