public override ScriptVariableType Process(ScriptParser parser, int level) { base.Process(parser, level); ScriptVariableType retType1, retType2; Condition = TypeCastExecutionNode.ImplicitCast(parser, level + 1, ScriptVariableType.Bool, Condition); retType1 = TrueNode.Process(parser, level + 1); retType2 = FalseNode.Process(parser, level + 1); if (retType1 != retType2) { parser.Errors.Add(new ErrorInfo(ErrorLevel.Error, ErrorCode.TrueAndFalseNodesMustBeOfSameValueInTernaryOperation, this, retType1, retType2)); } return(retType1); }