completion.h

00001 // -*- c-basic-offset: 2 -*-
00002 /*
00003  *  This file is part of the KDE libraries
00004  *  Copyright (C) 1999-2001 Harri Porten (porten@kde.org)
00005  *  Copyright (C) 2001 Peter Kelly (pmk@post.com)
00006  *  Copyright (C) 2003 Apple Computer, Inc
00007  *
00008  *  This library is free software; you can redistribute it and/or
00009  *  modify it under the terms of the GNU Library General Public
00010  *  License as published by the Free Software Foundation; either
00011  *  version 2 of the License, or (at your option) any later version.
00012  *
00013  *  This library is distributed in the hope that it will be useful,
00014  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
00015  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00016  *  Library General Public License for more details.
00017  *
00018  *  You should have received a copy of the GNU Library General Public License
00019  *  along with this library; see the file COPYING.LIB.  If not, write to
00020  *  the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
00021  *  Boston, MA 02110-1301, USA.
00022  *
00023  */
00024 
00025 #ifndef _KJS_COMPLETION_H_
00026 #define _KJS_COMPLETION_H_
00027 
00028 #include "identifier.h"
00029 #include "value.h"
00030 
00031 namespace KJS {
00032 
00036   enum ComplType { Normal, Break, Continue, ReturnValue, Throw };
00037 
00048 // delme
00049   class KJS_EXPORT Completion : public Value {
00050 // fixme
00051 /*   class Completion : private Value { */
00052   public:
00053     Completion(ComplType c = Normal, const Value& v = Value(),
00054                const Identifier &t = Identifier::null())
00055         : comp(c), val(v), tar(t) { }
00056 
00057     ComplType complType() const { return comp; }
00058     Value value() const { return val; }
00059     Identifier target() const { return tar; }
00060     bool isValueCompletion() const { return val.isValid(); }
00061   private:
00062     ComplType comp;
00063     Value val;
00064     Identifier tar;
00065   };
00066 
00067 }
00068 
00069 #endif 
KDE Home | KDE Accessibility Home | Description of Access Keys