lscript_typecheck.cpp File Reference

typechecks script More...

#include "linden_common.h"
#include "lscript_tree.h"

Include dependency graph for lscript_typecheck.cpp:

Go to the source code of this file.

Functions

LSCRIPTType implicit_casts (LSCRIPTType left_side, LSCRIPTType right_side)
LSCRIPTType promote (LSCRIPTType left_side, LSCRIPTType right_side)
BOOL legal_assignment (LSCRIPTType left_side, LSCRIPTType right_side)
BOOL legal_casts (LSCRIPTType cast, LSCRIPTType base)
void init_supported_expressions (void)
BOOL legal_binary_expression (LSCRIPTType &result, LSCRIPTType left_side, LSCRIPTType right_side, LSCRIPTExpressionType expression)
BOOL legal_unary_expression (LSCRIPTType &result, LSCRIPTType left_side, LSCRIPTExpressionType expression)

Variables

LSCRIPTType gSupportedExpressionArray [LET_EOF][LST_EOF][LST_EOF]


Detailed Description

typechecks script

LicenseInfo
firstyear=2002&license=viewergpl

Copyright (c) 2002-2008, Linden Research, Inc.

Second Life Viewer Source Code The source code in this file ("Source Code") is provided by Linden Lab to you under the terms of the GNU General Public License, version 2.0 ("GPL"), unless you have obtained a separate licensing agreement ("Other License"), formally executed by you and Linden Lab. Terms of the GPL can be found in doc/GPL-license.txt in this distribution, or online at http://secondlifegrid.net/programs/open_source/licensing/gplv2

There are special exceptions to the terms and conditions of the GPL as it is applied to this Source Code. View the full text of the exception in the file doc/FLOSS-exception.txt in this software distribution, or online at http://secondlifegrid.net/programs/open_source/licensing/flossexception

By copying, modifying or distributing this software, you acknowledge that you have read and understood your obligations described above, and agree to abide by those obligations.

ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, COMPLETENESS OR PERFORMANCE. $/LicenseInfo$

Definition in file lscript_typecheck.cpp.


Function Documentation

LSCRIPTType implicit_casts ( LSCRIPTType  left_side,
LSCRIPTType  right_side 
)

Definition at line 63 of file lscript_typecheck.cpp.

References LST_FLOATINGPOINT, LST_INTEGER, LST_KEY, LST_LIST, LST_NULL, LST_QUATERNION, LST_STRING, LST_UNDEFINED, and LST_VECTOR.

Referenced by legal_assignment(), and promote().

Here is the caller graph for this function:

void init_supported_expressions ( void   ) 

BOOL legal_assignment ( LSCRIPTType  left_side,
LSCRIPTType  right_side 
)

BOOL legal_binary_expression ( LSCRIPTType result,
LSCRIPTType  left_side,
LSCRIPTType  right_side,
LSCRIPTExpressionType  expression 
)

BOOL legal_casts ( LSCRIPTType  cast,
LSCRIPTType  base 
)

Definition at line 179 of file lscript_typecheck.cpp.

References FALSE, LST_FLOATINGPOINT, LST_INTEGER, LST_KEY, LST_LIST, LST_NULL, LST_QUATERNION, LST_STRING, LST_UNDEFINED, LST_VECTOR, and TRUE.

Referenced by LLScriptTypeCast::recurse().

Here is the caller graph for this function:

BOOL legal_unary_expression ( LSCRIPTType result,
LSCRIPTType  left_side,
LSCRIPTExpressionType  expression 
)

LSCRIPTType promote ( LSCRIPTType  left_side,
LSCRIPTType  right_side 
)

Definition at line 144 of file lscript_typecheck.cpp.

References implicit_casts(), and LST_UNDEFINED.

Here is the call graph for this function:


Variable Documentation

LSCRIPTType gSupportedExpressionArray[LET_EOF][LST_EOF][LST_EOF]


Generated on Fri May 16 08:36:04 2008 for SecondLife by  doxygen 1.5.5