module HJS.Interpreter.Error where import Control.Monad.Identity import Control.Monad.Error import Control.Monad.State import HJS.Interpreter.InterpMDecl import HJS.Interpreter.InterpM import HJS.Interpreter.ObjectBasic errorConstructor :: InterpM Value errorConstructor = do args <- getArgs o <- newObject "Error" t <- getThis p <- getProperty (toObjId t) "prototype" putPropertyInternal o "__proto__" p case args of (x:_) -> putProperty o "message" x _ -> return () return $ inj o addErrorBuiltIn newConstructorWith putBuiltIn = do newConstructorWith "Error" errorConstructor -- p <- getProperty fo "prototype" -- let p' = toObjId p