⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 kjs.cpp

📁 将konqueror浏览器移植到ARM9 2410中
💻 CPP
字号:
/* *  This file is part of the KDE libraries *  Copyright (C) 1999-2000 Harri Porten (porten@kde.org) * *  This library is free software; you can redistribute it and/or *  modify it under the terms of the GNU Library General Public *  License as published by the Free Software Foundation; either *  version 2 of the License, or (at your option) any later version. * *  This library is distributed in the hope that it will be useful, *  but WITHOUT ANY WARRANTY; without even the implied warranty of *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU *  Library General Public License for more details. * *  You should have received a copy of the GNU Library General Public License *  along with this library; see the file COPYING.LIB.  If not, write to *  the Free Software Foundation, Inc., 59 Temple Place - Suite 330, *  Boston, MA 02111-1307, USA. */#include <stdio.h>#include <string.h>#include "kjs.h"#include "types.h"#include "internal.h"#include "collector.h"using namespace KJS;KJScript::KJScript(){  rep = new KJScriptImp(this);  rep->init();}KJScript::~KJScript(){  delete rep;#ifdef KJS_DEBUG_MEM  //printf("Imp::count: %d\n", Imp::count);  //  assert(Imp::count == 0);#endif}void KJScript::init(){  rep->init();}Imp *KJScript::globalObject() const{  return rep->glob.imp();}void KJScript::setCurrent( KJScript *newCurr ){  KJScriptImp::curr = newCurr ? newCurr->rep : 0L;}KJScript *KJScript::current(){  return KJScriptImp::current() ? KJScriptImp::current()->scr : 0L;}int KJScript::recursion() const{  return rep->recursion;}bool KJScript::evaluate(const char *code){  return rep->evaluate(UString(code).data(), strlen(code));}bool KJScript::evaluate(const UString &code){  return rep->evaluate(code.data(), code.size());}bool KJScript::evaluate(const KJSO &thisV,			const QChar *code, unsigned int length){  return rep->evaluate((UChar*)code, length, thisV);}bool KJScript::call(const KJS::UString &func, const List &args){  return rep->call(0, func, args);}bool KJScript::call(const KJSO &scope, const KJS::UString &func,		    const KJS::List &args){  return rep->call(scope.imp(), func, args);}bool KJScript::call(const KJS::KJSO &func, const KJSO &thisV,		    const KJS::List &args, const KJS::List &extraScope){  return rep->call(func, thisV, args, extraScope);}void KJScript::clear(){  rep->clear();}Imp *KJScript::returnValue() const{  return rep->retVal;}int KJScript::errorType() const{  return rep->errType;}int KJScript::errorLine() const{  return rep->errLine;}const char* KJScript::errorMsg() const{  return rep->errMsg.ascii();}bool KJScript::checkSyntax(const KJS::UString &code ){  return rep->evaluate(code.data(), code.size(), 0, true);}/** * @short Print to stderr for debugging purposes. */namespace KJS {  class DebugPrint : public InternalFunctionImp {  public:    Completion execute(const List &args)      {	KJSO v = args[0];	String s = v.toString();	fprintf(stderr, "---> %s\n", s.value().cstring().c_str());	return Completion(Normal);      }  };};void KJScript::enableDebug(){  rep->init();  Global::current().put("debug", Function(new DebugPrint()));}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -