#include "lscript_error.h"
Include dependency graph for lscript_typecheck.h:
This graph shows which files directly or indirectly include this file:
Go to the source code of this file.
Copyright (c) 2002-2007, 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://secondlife.com/developers/opensource/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://secondlife.com/developers/opensource/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.h.
typedef enum e_lscript_expression_types LSCRIPTExpressionType |
Definition at line 42 of file lscript_typecheck.h.
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().
Definition at line 294 of file lscript_typecheck.cpp.
References gSupportedExpressionArray, i, j, LET_ADD_ASSIGN, LET_ASSIGNMENT, LET_BIT_AND, LET_BIT_NOT, LET_BIT_OR, LET_BIT_XOR, LET_BOOLEAN_AND, LET_BOOLEAN_NOT, LET_BOOLEAN_OR, LET_DIV_ASSIGN, LET_DIVIDE, LET_EOF, LET_EQUALITY, LET_GREATER_EQUALS, LET_GREATER_THAN, LET_LESS_EQUALS, LET_LESS_THAN, LET_MINUS, LET_MOD, LET_MOD_ASSIGN, LET_MUL_ASSIGN, LET_NOT_EQUALS, LET_PARENTHESIS, LET_PLUS, LET_POST_DECREMENT, LET_POST_INCREMENT, LET_PRE_DECREMENT, LET_PRE_INCREMENT, LET_SHIFT_LEFT, LET_SHIFT_RIGHT, LET_SUB_ASSIGN, LET_TIMES, LET_UNARY_MINUS, LST_EOF, LST_FLOATINGPOINT, LST_INTEGER, LST_KEY, LST_LIST, LST_NULL, LST_QUATERNION, LST_STRING, LST_VECTOR, and S32.
BOOL legal_assignment | ( | LSCRIPTType | left_side, | |
LSCRIPTType | right_side | |||
) |
Definition at line 160 of file lscript_typecheck.cpp.
References FALSE, implicit_casts(), LST_UNDEFINED, and TRUE.
Referenced by LLScriptSAVector::recurse(), LLScriptSAQuaternion::recurse(), LLScriptGlobalVariable::recurse(), LLScriptFuncExpressionList::recurse(), LLScriptAssignment::recurse(), LLScriptVectorInitializer::recurse(), LLScriptQuaternionInitializer::recurse(), LLScriptReturn::recurse(), and LLScriptDeclaration::recurse().
BOOL legal_binary_expression | ( | LSCRIPTType & | result, | |
LSCRIPTType | left_side, | |||
LSCRIPTType | right_side, | |||
LSCRIPTExpressionType | expression | |||
) |
Definition at line 537 of file lscript_typecheck.cpp.
References FALSE, gSupportedExpressionArray, LST_NULL, LST_UNDEFINED, and TRUE.
Referenced by LLScriptAddAssignment::recurse(), LLScriptSubAssignment::recurse(), LLScriptMulAssignment::recurse(), LLScriptDivAssignment::recurse(), LLScriptModAssignment::recurse(), LLScriptEquality::recurse(), LLScriptNotEquals::recurse(), LLScriptLessEquals::recurse(), LLScriptGreaterEquals::recurse(), LLScriptLessThan::recurse(), LLScriptGreaterThan::recurse(), LLScriptPlus::recurse(), LLScriptMinus::recurse(), LLScriptTimes::recurse(), LLScriptDivide::recurse(), LLScriptMod::recurse(), LLScriptBitAnd::recurse(), LLScriptBitOr::recurse(), LLScriptBitXor::recurse(), LLScriptBooleanAnd::recurse(), LLScriptBooleanOr::recurse(), LLScriptShiftLeft::recurse(), LLScriptShiftRight::recurse(), and store2stack().
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().
BOOL legal_unary_expression | ( | LSCRIPTType & | result, | |
LSCRIPTType | left_side, | |||
LSCRIPTExpressionType | expression | |||
) |
Definition at line 563 of file lscript_typecheck.cpp.
References FALSE, gSupportedExpressionArray, LST_NULL, LST_UNDEFINED, and TRUE.
Referenced by LLScriptUnaryMinus::recurse(), LLScriptBooleanNot::recurse(), LLScriptBitNot::recurse(), LLScriptPreIncrement::recurse(), LLScriptPreDecrement::recurse(), LLScriptPostIncrement::recurse(), and LLScriptPostDecrement::recurse().
LSCRIPTType promote | ( | LSCRIPTType | left_side, | |
LSCRIPTType | right_side | |||
) |
Definition at line 144 of file lscript_typecheck.cpp.
References implicit_casts(), LST_UNDEFINED, and type.