File tree Expand file tree Collapse file tree 1 file changed +9
-0
lines changed Expand file tree Collapse file tree 1 file changed +9
-0
lines changed Original file line number Diff line number Diff line change @@ -50,6 +50,15 @@ lazy_static! {
50
50
generic_name_resolver: no_generic_name_resolver,
51
51
code: |generator, params, location| {
52
52
if let [ reference] = params {
53
+ // TODO(vosa): See if there is a better way
54
+ // Check if this is a qualified method reference like fb.fbSpecificMethod
55
+ if let Some ( resolver:: StatementAnnotation :: Function { qualified_name, .. } ) = generator. annotations. get( reference) {
56
+ // This is a qualified method reference - return the function pointer directly
57
+ if let Some ( fn_value) = generator. llvm_index. find_associated_implementation( qualified_name) {
58
+ return Ok ( ExpressionValue :: RValue ( fn_value. as_global_value( ) . as_pointer_value( ) . as_basic_value_enum( ) ) ) ;
59
+ }
60
+ }
61
+
53
62
generator
54
63
. generate_lvalue( reference)
55
64
. map( |it| ExpressionValue :: RValue ( it. as_basic_value_enum( ) ) )
You can’t perform that action at this time.
0 commit comments