@@ -138,7 +138,7 @@ class InstanceMethodType : public ValuedCompilerType<RawInstanceMethod*> {
138138
139139 CompilerVariable* call (IREmitter& emitter, const OpInfo& info, ValuedCompilerVariable<RawInstanceMethod*>* var,
140140 ArgPassSpec argspec, const std::vector<CompilerVariable*>& args,
141- const std::vector<BoxedString*> * keyword_names) override {
141+ BoxedTuple * keyword_names) override {
142142 std::vector<CompilerVariable*> new_args;
143143 new_args.push_back (var->getValue ()->obj );
144144 new_args.insert (new_args.end (), args.begin (), args.end ());
@@ -225,11 +225,10 @@ class UnknownType : public ConcreteCompilerType {
225225 CompilerVariable* getattr (IREmitter& emitter, const OpInfo& info, ConcreteCompilerVariable* var, BoxedString* attr,
226226 bool cls_only) override ;
227227 CompilerVariable* call (IREmitter& emitter, const OpInfo& info, ConcreteCompilerVariable* var, ArgPassSpec argspec,
228- const std::vector<CompilerVariable*>& args,
229- const std::vector<BoxedString*>* keyword_names) override ;
228+ const std::vector<CompilerVariable*>& args, BoxedTuple* keyword_names) override ;
230229 CompilerVariable* callattr (IREmitter& emitter, const OpInfo& info, ConcreteCompilerVariable* var, BoxedString* attr,
231230 CallattrFlags flags, const std::vector<CompilerVariable*>& args,
232- const std::vector<BoxedString*> * keyword_names) override ;
231+ BoxedTuple * keyword_names) override ;
233232 ConcreteCompilerVariable* nonzero (IREmitter& emitter, const OpInfo& info, ConcreteCompilerVariable* var) override ;
234233 ConcreteCompilerVariable* unaryop (IREmitter& emitter, const OpInfo& info, ConcreteCompilerVariable* var,
235234 AST_TYPE::AST_TYPE op_type) override ;
@@ -593,10 +592,11 @@ CompilerVariable* UnknownType::getattr(IREmitter& emitter, const OpInfo& info, C
593592 return new ConcreteCompilerVariable (UNKNOWN, rtn_val);
594593}
595594
596- static ConcreteCompilerVariable*
597- _call (IREmitter& emitter, const OpInfo& info, llvm::Value* func, ExceptionStyle target_exception_style, void * func_addr,
598- const std::vector<llvm::Value*>& other_args, ArgPassSpec argspec, const std::vector<CompilerVariable*>& args,
599- const std::vector<BoxedString*>* keyword_names, ConcreteCompilerType* rtn_type, bool nullable_return = false ) {
595+ static ConcreteCompilerVariable* _call (IREmitter& emitter, const OpInfo& info, llvm::Value* func,
596+ ExceptionStyle target_exception_style, void * func_addr,
597+ const std::vector<llvm::Value*>& other_args, ArgPassSpec argspec,
598+ const std::vector<CompilerVariable*>& args, BoxedTuple* keyword_names,
599+ ConcreteCompilerType* rtn_type, bool nullable_return = false ) {
600600 bool pass_keyword_names = (keyword_names != nullptr );
601601 assert (pass_keyword_names == (argspec.num_keywords > 0 ));
602602
@@ -718,7 +718,7 @@ _call(IREmitter& emitter, const OpInfo& info, llvm::Value* func, ExceptionStyle
718718
719719CompilerVariable* UnknownType::call (IREmitter& emitter, const OpInfo& info, ConcreteCompilerVariable* var,
720720 ArgPassSpec argspec, const std::vector<CompilerVariable*>& args,
721- const std::vector<BoxedString*> * keyword_names) {
721+ BoxedTuple * keyword_names) {
722722 bool pass_keywords = (argspec.num_keywords != 0 );
723723 int npassed_args = argspec.totalPassed ();
724724
@@ -750,8 +750,7 @@ CompilerVariable* UnknownType::call(IREmitter& emitter, const OpInfo& info, Conc
750750
751751CompilerVariable* UnknownType::callattr (IREmitter& emitter, const OpInfo& info, ConcreteCompilerVariable* var,
752752 BoxedString* attr, CallattrFlags flags,
753- const std::vector<CompilerVariable*>& args,
754- const std::vector<BoxedString*>* keyword_names) {
753+ const std::vector<CompilerVariable*>& args, BoxedTuple* keyword_names) {
755754 bool pass_keywords = (flags.argspec .num_keywords != 0 );
756755 int npassed_args = flags.argspec .totalPassed ();
757756
@@ -1163,8 +1162,7 @@ class IntType : public UnboxedType<llvm::Value*, IntType> {
11631162 }
11641163
11651164 CompilerVariable* callattr (IREmitter& emitter, const OpInfo& info, VAR* var, BoxedString* attr, CallattrFlags flags,
1166- const std::vector<CompilerVariable*>& args,
1167- const std::vector<BoxedString*>* keyword_names) override {
1165+ const std::vector<CompilerVariable*>& args, BoxedTuple* keyword_names) override {
11681166 ConcreteCompilerVariable* converted = var->makeConverted (emitter, BOXED_INT);
11691167 CompilerVariable* rtn = converted->callattr (emitter, info, attr, flags, args, keyword_names);
11701168 return rtn;
@@ -1451,8 +1449,7 @@ class FloatType : public UnboxedType<llvm::Value*, FloatType> {
14511449 }
14521450
14531451 CompilerVariable* callattr (IREmitter& emitter, const OpInfo& info, VAR* var, BoxedString* attr, CallattrFlags flags,
1454- const std::vector<CompilerVariable*>& args,
1455- const std::vector<BoxedString*>* keyword_names) override {
1452+ const std::vector<CompilerVariable*>& args, BoxedTuple* keyword_names) override {
14561453 ConcreteCompilerVariable* converted = var->makeConverted (emitter, BOXED_FLOAT);
14571454 CompilerVariable* rtn = converted->callattr (emitter, info, attr, flags, args, keyword_names);
14581455 return rtn;
@@ -1839,18 +1836,16 @@ class NormalObjectType : public ConcreteCompilerType {
18391836 }
18401837
18411838 CompilerVariable* call (IREmitter& emitter, const OpInfo& info, ConcreteCompilerVariable* var, ArgPassSpec argspec,
1842- const std::vector<CompilerVariable*>& args,
1843- const std::vector<BoxedString*>* keyword_names) override {
1839+ const std::vector<CompilerVariable*>& args, BoxedTuple* keyword_names) override {
18441840 ConcreteCompilerVariable* converted = var->makeConverted (emitter, UNKNOWN);
18451841 CompilerVariable* rtn = converted->call (emitter, info, argspec, args, keyword_names);
18461842 return rtn;
18471843 }
18481844
18491845 CompilerVariable* tryCallattrConstant (IREmitter& emitter, const OpInfo& info, ConcreteCompilerVariable* var,
18501846 BoxedString* attr, bool clsonly, ArgPassSpec argspec,
1851- const std::vector<CompilerVariable*>& args,
1852- const std::vector<BoxedString*>* keyword_names, bool * no_attribute = NULL ,
1853- ExceptionStyle exception_style = CXX) {
1847+ const std::vector<CompilerVariable*>& args, BoxedTuple* keyword_names,
1848+ bool * no_attribute = NULL , ExceptionStyle exception_style = CXX) {
18541849 if (!canStaticallyResolveGetattrs ())
18551850 return NULL ;
18561851
@@ -2002,7 +1997,7 @@ class NormalObjectType : public ConcreteCompilerType {
20021997
20031998 CompilerVariable* callattr (IREmitter& emitter, const OpInfo& info, ConcreteCompilerVariable* var, BoxedString* attr,
20041999 CallattrFlags flags, const std::vector<CompilerVariable*>& args,
2005- const std::vector<BoxedString*> * keyword_names) override {
2000+ BoxedTuple * keyword_names) override {
20062001 ExceptionStyle exception_style = info.preferredExceptionStyle ();
20072002
20082003 bool no_attribute = false ;
@@ -2314,8 +2309,7 @@ class StrConstantType : public ValuedCompilerType<BoxedString*> {
23142309 }
23152310
23162311 CompilerVariable* callattr (IREmitter& emitter, const OpInfo& info, VAR* var, BoxedString* attr, CallattrFlags flags,
2317- const std::vector<CompilerVariable*>& args,
2318- const std::vector<BoxedString*>* keyword_names) override {
2312+ const std::vector<CompilerVariable*>& args, BoxedTuple* keyword_names) override {
23192313 ConcreteCompilerVariable* converted = var->makeConverted (emitter, STR);
23202314 CompilerVariable* rtn = converted->callattr (emitter, info, attr, flags, args, keyword_names);
23212315 return rtn;
@@ -2434,7 +2428,7 @@ class BoolType : public ConcreteCompilerType {
24342428
24352429 CompilerVariable* callattr (IREmitter& emitter, const OpInfo& info, ConcreteCompilerVariable* var, BoxedString* attr,
24362430 CallattrFlags flags, const std::vector<CompilerVariable*>& args,
2437- const std::vector<BoxedString*> * keyword_names) override {
2431+ BoxedTuple * keyword_names) override {
24382432 ConcreteCompilerVariable* converted = var->makeConverted (emitter, BOXED_BOOL);
24392433 CompilerVariable* rtn = converted->callattr (emitter, info, attr, flags, args, keyword_names);
24402434 return rtn;
@@ -2670,8 +2664,7 @@ class TupleType : public UnboxedType<const std::vector<CompilerVariable*>, Tuple
26702664 }
26712665
26722666 CompilerVariable* callattr (IREmitter& emitter, const OpInfo& info, VAR* var, BoxedString* attr, CallattrFlags flags,
2673- const std::vector<CompilerVariable*>& args,
2674- const std::vector<BoxedString*>* keyword_names) override {
2667+ const std::vector<CompilerVariable*>& args, BoxedTuple* keyword_names) override {
26752668 return makeConverted (emitter, var, getConcreteType ())
26762669 ->callattr (emitter, info, attr, flags, args, keyword_names);
26772670 }
@@ -2812,8 +2805,7 @@ class UndefType : public ConcreteCompilerType {
28122805 }
28132806
28142807 CompilerVariable* call (IREmitter& emitter, const OpInfo& info, VAR* var, ArgPassSpec argspec,
2815- const std::vector<CompilerVariable*>& args,
2816- const std::vector<BoxedString*>* keyword_names) override {
2808+ const std::vector<CompilerVariable*>& args, BoxedTuple* keyword_names) override {
28172809 return undefVariable ();
28182810 }
28192811 CompilerVariable* dup (VAR* v, DupCache& cache) override {
@@ -2834,8 +2826,7 @@ class UndefType : public ConcreteCompilerType {
28342826 }
28352827
28362828 CompilerVariable* callattr (IREmitter& emitter, const OpInfo& info, VAR* var, BoxedString* attr, CallattrFlags flags,
2837- const std::vector<CompilerVariable*>& args,
2838- const std::vector<BoxedString*>* keyword_names) override {
2829+ const std::vector<CompilerVariable*>& args, BoxedTuple* keyword_names) override {
28392830 return undefVariable ();
28402831 }
28412832
0 commit comments