[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Gnash-commit] /srv/bzr/gnash/avm2 r9563: Add another overload of Machin
From: |
Tom Stellard |
Subject: |
[Gnash-commit] /srv/bzr/gnash/avm2 r9563: Add another overload of Machine::get_property_value method. |
Date: |
Sat, 13 Sep 2008 16:38:38 +0800 |
User-agent: |
Bazaar (1.5) |
------------------------------------------------------------
revno: 9563
committer: Tom Stellard <address@hidden>
branch nick: gnash_dev
timestamp: Sat 2008-09-13 16:38:38 +0800
message:
Add another overload of Machine::get_property_value method.
modified:
libcore/vm/Machine.cpp
libcore/vm/Machine.h
=== modified file 'libcore/vm/Machine.cpp'
--- a/libcore/vm/Machine.cpp 2008-09-13 03:22:53 +0000
+++ b/libcore/vm/Machine.cpp 2008-09-13 08:38:38 +0000
@@ -2700,7 +2700,15 @@
}
as_value Machine::get_property_value(boost::intrusive_ptr<as_object> obj,
asName multiname){
- as_environment::ScopeStack stack;
+
+ std::string ns =
mPoolObject->mStringPool[multiname.getNamespace()->getAbcURI()];
+ std::string name = mPoolObject->mStringPool[multiname.getABCName()];
+ return get_property_value(obj,name,ns);
+}
+
+as_value Machine::get_property_value(boost::intrusive_ptr<as_object> obj,
std::string name, std::string ns){
+
+as_environment::ScopeStack stack;
as_environment env = as_environment(_vm);
if(obj == NULL){
stack = *getScopeStack();
@@ -2708,17 +2716,15 @@
else{
stack.push_back(obj);
}
- std::string ns =
mPoolObject->mStringPool[multiname.getNamespace()->getAbcURI()];
std::string path;
if(ns.size() == 0){
- path = mPoolObject->mStringPool[multiname.getABCName()];
+ path = name;
}
else{
- path = ns + "." +
mPoolObject->mStringPool[multiname.getABCName()];
+ path = ns + "." + name;
}
return env.get_variable(path,stack,NULL);
-
}
void Machine::print_stack(){
=== modified file 'libcore/vm/Machine.h'
--- a/libcore/vm/Machine.h 2008-09-11 15:23:21 +0000
+++ b/libcore/vm/Machine.h 2008-09-13 08:38:38 +0000
@@ -257,6 +257,8 @@
as_value get_property_value(boost::intrusive_ptr<as_object> obj, asName
multiname);
+ as_value get_property_value(boost::intrusive_ptr<as_object> obj,
std::string name, std::string ns);
+
void print_stack();
void print_scope_stack();
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Gnash-commit] /srv/bzr/gnash/avm2 r9563: Add another overload of Machine::get_property_value method.,
Tom Stellard <=