/*************************************************************************
 *
 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 *
 * Copyright 2000, 2010 Oracle and/or its affiliates.
 *
 * OpenOffice.org - a multi-platform office productivity suite
 *
 * This file is part of OpenOffice.org.
 *
 * OpenOffice.org is free software: you can redistribute it and/or modify
 * it under the terms of the GNU Lesser General Public License version 3
 * only, as published by the Free Software Foundation.
 *
 * OpenOffice.org 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 Lesser General Public License version 3 for more details
 * (a copy is included in the LICENSE file that accompanied this code).
 *
 * You should have received a copy of the GNU Lesser General Public License
 * version 3 along with OpenOffice.org.  If not, see
 * <http://www.openoffice.org/license.html>
 * for a copy of the LGPLv3 License.
 *
 ************************************************************************/
#ifndef __com_sun_star_script_ContextInformation_idl__
#define __com_sun_star_script_ContextInformation_idl__


//=============================================================================

 module com {  module sun {  module star {  module script {

//=============================================================================
/** provides information about a certain stack frame.

    @deprecated
 */
published struct ContextInformation
{
    /** Full qualified name to adress the module or function associated with the context.
        If the module or function can't be adressed by name, e.g., in case that a runtime
        generated eval-module is executed, this string is empty
     */
    string Name;

    //-------------------------------------------------------------------------
    /** Source code of the Module, that is associated with the context. If the source can
        be accessed using the ModuleName or if the source is unknown (executing compiled
        code) this string can be empty.
     */
    string SourceCode;

    //-------------------------------------------------------------------------
    /** contains the first line in the module's source code associated with
        the context.

        <p>If "name" addresses a function, all line and column values
        are nevertheless given relative to the module's source. If
        source code is not available, this value addresses a binary
        position in the compiled code.  </p>

        @see XLibraryAccess::getModuleCode
        @see XLibraryAccess::getFunctionCode
     */
    long StartLine;

    //-------------------------------------------------------------------------
    /** contains the first column in the <var>StartLine</var> associated with
        the context.
     */
    long StartColumn;

    //-------------------------------------------------------------------------

    /** contains the last line in the module's source code associated with
        the context.
     */
    long EndLine;

    //-------------------------------------------------------------------------
    /** contains the first column in the <var>EndLine</var> that is NOT
        associated with the context.
     */
    long EndColumn;

    //-------------------------------------------------------------------------
    /** Get all names of the local variable in this context.
     */
    sequence<string> LocalVariableNames;

};

//=============================================================================

}; }; }; };

#endif
