Skip to content

Commit 34f06e3

Browse files
committedOct 14, 2013
Remove defines_[defn|defs] flags from compiler
These flags are no longer used, and exact targets of these methods are determined at runtime instead of being hardcoded to the compiler.
1 parent 290f9cb commit 34f06e3

File tree

2 files changed

+5
-16
lines changed

2 files changed

+5
-16
lines changed
 

Diff for: ‎lib/opal/parser.rb

+5-10
Original file line numberDiff line numberDiff line change
@@ -190,9 +190,6 @@ def top(sexp, options = {})
190190
@scope.add_temp "self = $opal.top",
191191
"$scope = $opal",
192192
"nil = $opal.nil"
193-
if @scope.defines_defn
194-
@scope.add_temp "def = $opal.Object._proto"
195-
end
196193

197194
@helpers.keys.each { |h| @scope.add_temp "$#{h} = $opal.#{h}" }
198195

@@ -763,10 +760,6 @@ def process_iter(sexp, level)
763760
code << f("\n#@indent", sexp)
764761
code << process(body, :stmt)
765762

766-
if @scope.defines_defn
767-
@scope.add_temp "def = ((self._isClass) ? self._proto : self)"
768-
end
769-
770763
to_vars = [f("\n#@indent", sexp), @scope.to_vars, f("\n#@indent", sexp)]
771764
end
772765
end
@@ -1080,11 +1073,9 @@ def js_def(recvr, mid, args, stmts, line, end_line, sexp, level)
10801073
jsid = mid_to_jsid mid.to_s
10811074

10821075
if recvr
1083-
@scope.defines_defs = true
10841076
smethod = true if @scope.class_scope? && recvr.first == :self
10851077
recv = process(recvr)
10861078
else
1087-
@scope.defines_defn = true
10881079
recv = 'self'
10891080
end
10901081

@@ -1199,7 +1190,11 @@ def js_def(recvr, mid, args, stmts, line, end_line, sexp, level)
11991190
[f("#{uses_super}#{@scope.proto}#{jsid} = ", sexp), result]
12001191
elsif @scope.iter?
12011192
[f("$opal.defn(self, '$#{mid}', "), result, f(")")]
1202-
else # :top
1193+
elsif @scope.type == :sclass
1194+
[f("self._proto#{jsid} = ", sexp), result]
1195+
elsif @scope.type == :top
1196+
[f("$opal.Object._proto#{jsid} = ", sexp), result]
1197+
else
12031198
[f("def#{jsid} = ", sexp), result]
12041199
end
12051200

Diff for: ‎lib/opal/target_scope.rb

-6
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,6 @@ class TargetScope
1919

2020
attr_reader :type
2121

22-
attr_accessor :defines_defn
23-
attr_accessor :defines_defs
24-
2522
# One of - :class, :module, :top, :iter, :def
2623
attr_accessor :mid
2724

@@ -51,9 +48,6 @@ def initialize(type, parser)
5148
@unique = "a"
5249
@while_stack = []
5350

54-
@defines_defs = false
55-
@defines_defn = false
56-
5751
@methods = []
5852

5953
@uses_block = false

0 commit comments

Comments
 (0)
Please sign in to comment.