@@ -190,9 +190,6 @@ def top(sexp, options = {})
190
190
@scope . add_temp "self = $opal.top" ,
191
191
"$scope = $opal" ,
192
192
"nil = $opal.nil"
193
- if @scope . defines_defn
194
- @scope . add_temp "def = $opal.Object._proto"
195
- end
196
193
197
194
@helpers . keys . each { |h | @scope . add_temp "$#{ h } = $opal.#{ h } " }
198
195
@@ -763,10 +760,6 @@ def process_iter(sexp, level)
763
760
code << f ( "\n #@indent " , sexp )
764
761
code << process ( body , :stmt )
765
762
766
- if @scope . defines_defn
767
- @scope . add_temp "def = ((self._isClass) ? self._proto : self)"
768
- end
769
-
770
763
to_vars = [ f ( "\n #@indent " , sexp ) , @scope . to_vars , f ( "\n #@indent " , sexp ) ]
771
764
end
772
765
end
@@ -1080,11 +1073,9 @@ def js_def(recvr, mid, args, stmts, line, end_line, sexp, level)
1080
1073
jsid = mid_to_jsid mid . to_s
1081
1074
1082
1075
if recvr
1083
- @scope . defines_defs = true
1084
1076
smethod = true if @scope . class_scope? && recvr . first == :self
1085
1077
recv = process ( recvr )
1086
1078
else
1087
- @scope . defines_defn = true
1088
1079
recv = 'self'
1089
1080
end
1090
1081
@@ -1199,7 +1190,11 @@ def js_def(recvr, mid, args, stmts, line, end_line, sexp, level)
1199
1190
[ f ( "#{ uses_super } #{ @scope . proto } #{ jsid } = " , sexp ) , result ]
1200
1191
elsif @scope . iter?
1201
1192
[ 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
1203
1198
[ f ( "def#{ jsid } = " , sexp ) , result ]
1204
1199
end
1205
1200
0 commit comments