diff options
author | Jeffrey Wilcke <jeffrey@ethereum.org> | 2015-03-23 04:45:56 +0800 |
---|---|---|
committer | Jeffrey Wilcke <jeffrey@ethereum.org> | 2015-03-23 04:45:56 +0800 |
commit | 3133372a6a81c91528afbde58e22b3f9df257d03 (patch) | |
tree | 16778611a22c9fd249a94c88660cb0c6d297ce9b /Godeps/_workspace/src/github.com/obscuren/otto/clone.go | |
parent | 59eab49cb849ca93b9608763f4842654e8044d0f (diff) | |
parent | 85acdadcfa99ea5c74907029cb63919cc0302c1a (diff) | |
download | go-tangerine-3133372a6a81c91528afbde58e22b3f9df257d03.tar go-tangerine-3133372a6a81c91528afbde58e22b3f9df257d03.tar.gz go-tangerine-3133372a6a81c91528afbde58e22b3f9df257d03.tar.bz2 go-tangerine-3133372a6a81c91528afbde58e22b3f9df257d03.tar.lz go-tangerine-3133372a6a81c91528afbde58e22b3f9df257d03.tar.xz go-tangerine-3133372a6a81c91528afbde58e22b3f9df257d03.tar.zst go-tangerine-3133372a6a81c91528afbde58e22b3f9df257d03.zip |
Merge pull request #536 from zsfelfoldi/develop
using robertkrimen/otto, godeps updated
Diffstat (limited to 'Godeps/_workspace/src/github.com/obscuren/otto/clone.go')
-rw-r--r-- | Godeps/_workspace/src/github.com/obscuren/otto/clone.go | 144 |
1 files changed, 0 insertions, 144 deletions
diff --git a/Godeps/_workspace/src/github.com/obscuren/otto/clone.go b/Godeps/_workspace/src/github.com/obscuren/otto/clone.go deleted file mode 100644 index fbdde81c2..000000000 --- a/Godeps/_workspace/src/github.com/obscuren/otto/clone.go +++ /dev/null @@ -1,144 +0,0 @@ -package otto - -import ( - "fmt" -) - -type _clone struct { - runtime *_runtime - stash struct { - object map[*_object]*_object - objectEnvironment map[*_objectEnvironment]*_objectEnvironment - declarativeEnvironment map[*_declarativeEnvironment]*_declarativeEnvironment - } -} - -func (runtime *_runtime) clone() *_runtime { - - self := &_runtime{} - clone := &_clone{ - runtime: self, - } - clone.stash.object = make(map[*_object]*_object) - clone.stash.objectEnvironment = make(map[*_objectEnvironment]*_objectEnvironment) - clone.stash.declarativeEnvironment = make(map[*_declarativeEnvironment]*_declarativeEnvironment) - - globalObject := clone.object(runtime.GlobalObject) - self.GlobalEnvironment = self.newObjectEnvironment(globalObject, nil) - self.GlobalObject = globalObject - self.Global = _global{ - clone.object(runtime.Global.Object), - clone.object(runtime.Global.Function), - clone.object(runtime.Global.Array), - clone.object(runtime.Global.String), - clone.object(runtime.Global.Boolean), - clone.object(runtime.Global.Number), - clone.object(runtime.Global.Math), - clone.object(runtime.Global.Date), - clone.object(runtime.Global.RegExp), - clone.object(runtime.Global.Error), - clone.object(runtime.Global.EvalError), - clone.object(runtime.Global.TypeError), - clone.object(runtime.Global.RangeError), - clone.object(runtime.Global.ReferenceError), - clone.object(runtime.Global.SyntaxError), - clone.object(runtime.Global.URIError), - clone.object(runtime.Global.JSON), - - clone.object(runtime.Global.ObjectPrototype), - clone.object(runtime.Global.FunctionPrototype), - clone.object(runtime.Global.ArrayPrototype), - clone.object(runtime.Global.StringPrototype), - clone.object(runtime.Global.BooleanPrototype), - clone.object(runtime.Global.NumberPrototype), - clone.object(runtime.Global.DatePrototype), - clone.object(runtime.Global.RegExpPrototype), - clone.object(runtime.Global.ErrorPrototype), - clone.object(runtime.Global.EvalErrorPrototype), - clone.object(runtime.Global.TypeErrorPrototype), - clone.object(runtime.Global.RangeErrorPrototype), - clone.object(runtime.Global.ReferenceErrorPrototype), - clone.object(runtime.Global.SyntaxErrorPrototype), - clone.object(runtime.Global.URIErrorPrototype), - } - - self.EnterGlobalExecutionContext() - - self.eval = self.GlobalObject.property["eval"].value.(Value).value.(*_object) - self.GlobalObject.prototype = self.Global.ObjectPrototype - - return self -} -func (clone *_clone) object(self0 *_object) *_object { - if self1, exists := clone.stash.object[self0]; exists { - return self1 - } - self1 := &_object{} - clone.stash.object[self0] = self1 - return self0.objectClass.clone(self0, self1, clone) -} - -func (clone *_clone) declarativeEnvironment(self0 *_declarativeEnvironment) (*_declarativeEnvironment, bool) { - if self1, exists := clone.stash.declarativeEnvironment[self0]; exists { - return self1, true - } - self1 := &_declarativeEnvironment{} - clone.stash.declarativeEnvironment[self0] = self1 - return self1, false -} - -func (clone *_clone) objectEnvironment(self0 *_objectEnvironment) (*_objectEnvironment, bool) { - if self1, exists := clone.stash.objectEnvironment[self0]; exists { - return self1, true - } - self1 := &_objectEnvironment{} - clone.stash.objectEnvironment[self0] = self1 - return self1, false -} - -func (clone *_clone) value(self0 Value) Value { - self1 := self0 - switch value := self0.value.(type) { - case *_object: - self1.value = clone.object(value) - } - return self1 -} - -func (clone *_clone) valueArray(self0 []Value) []Value { - self1 := make([]Value, len(self0)) - for index, value := range self0 { - self1[index] = clone.value(value) - } - return self1 -} - -func (clone *_clone) environment(self0 _environment) _environment { - if self0 == nil { - return nil - } - return self0.clone(clone) -} - -func (clone *_clone) property(self0 _property) _property { - self1 := self0 - if value, valid := self0.value.(Value); valid { - self1.value = clone.value(value) - } else { - panic(fmt.Errorf("self0.value.(Value) != true")) - } - return self1 -} - -func (clone *_clone) declarativeProperty(self0 _declarativeProperty) _declarativeProperty { - self1 := self0 - self1.value = clone.value(self0.value) - return self1 -} - -func (clone *_clone) callFunction(self0 _callFunction) _callFunction { - if self0 == nil { - return nil - } - return self0.clone(clone) -} |