     o.indent  = @idt 1
     errorPart = if @error then " (#{ @error.compile o }) " else ' '
     catchPart = if @recovery
-      " catch#{errorPart}{\n#{ @recovery.compile o, LVL_TOP }\n#{@tab}}"
+      " catch#{errorPart}{\n#{ @recovery.compile o, LEVEL.TOP }\n#{@tab}}"
     else unless @ensure or @recovery
       ' catch (_e) {}'
     """
     #{@tab}try {
-    #{ @attempt.compile o, LVL_TOP }
+    #{ @attempt.compile o, LEVEL.TOP }
     #{@tab}}#{ catchPart or '' }
-    """ + if @ensure then " finally {\n#{ @ensure.compile o, LVL_TOP }\n#{@tab}}" else ''
+    """ + if @ensure then " finally {\n#{ @ensure.compile o, LEVEL.TOP }\n#{@tab}}" else ''
 
 #### Throw
 

    while node isnt node = node.unwrap() then
    node = node.unfoldSoak(o) or node
    node.tags.front = on
    o.level = LVL_TOP
    code    = node.compile o
    if node.isStatement o then code else @tab + code + ';'


      base = Value.wrap @variable
      if (name = base.properties.pop()) and base.isComplex()
        ref = o.scope.freeVariable 'this'
        fun = "(#{ref} = #{ base.compile o, LEVEL.LIST })#{ name.compile o }"
      else
        fun = ref = base.compile o, LEVEL.ACCESS
        fun += name.compile o if name
      return "#{fun}.apply(#{ref}, #{splatargs})"
    idt = @idt 1
