Skip to content

Commit dc29397

Browse files
committed
fix instance var assignment
1 parent b92dd76 commit dc29397

File tree

3 files changed

+6
-3
lines changed

3 files changed

+6
-3
lines changed

lib/rubex/ast/expression/instance_var.rb

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,12 @@ def initialize(name)
88

99
def analyse_types(local_scope)
1010
@type = DataType::RubyObject.new
11+
@has_temp = true
1112
end
1213

1314
def generate_evaluation_code(code, local_scope)
14-
@c_code = "rb_iv_get(#{local_scope.self_name}, \"#{@name}\")"
15+
code << "#{@c_code} = rb_iv_get(#{local_scope.self_name}, \"#{@name}\");"
16+
code.nl
1517
end
1618

1719
def generate_assignment_code(rhs, code, local_scope)

spec/fixtures/instance_variables/instance_variables.rubex

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,8 @@ class ToChar
1515
end
1616

1717
def bar
18-
char * b = @foo
18+
char * b
19+
b = @foo
1920
return b
2021
end
2122
end

spec/instance_variables_spec.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
require 'spec_helper'
22

3-
describe Rubex, hell: true do
3+
describe Rubex do
44
test_case = "instance_variables"
55

66
context "Case: #{test_case}" do

0 commit comments

Comments
 (0)