1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/1999/REC-html401-19991224/loose.dtd">
<html>
<head>
<title>Castle Game Engine: CastleScript: Class TCasScriptParameterValue</title>
<meta name="generator" content="PasDoc 0.13.0">
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<link rel="StyleSheet" type="text/css" href="pasdoc.css">
</head>
<body>
<table class="container"><tr><td class="navigation">
<h2>Castle Game Engine</h2><p><a href="introduction.html" class="navigation">Introduction</a></p><p><a href="AllUnits.html" class="navigation">Units</a></p><p><a href="ClassHierarchy.html" class="navigation">Class Hierarchy</a></p><p><a href="AllClasses.html" class="navigation">Classes, Interfaces, Objects and Records</a></p><p><a href="AllTypes.html" class="navigation">Types</a></p><p><a href="AllVariables.html" class="navigation">Variables</a></p><p><a href="AllConstants.html" class="navigation">Constants</a></p><p><a href="AllFunctions.html" class="navigation">Functions and Procedures</a></p><p><a href="AllIdentifiers.html" class="navigation">Identifiers</a></p></td><td class="content">
<a name="TCasScriptParameterValue"></a><h1 class="cio">Class TCasScriptParameterValue</h1>
<table class="sections wide_list">
<tr>
<td><a class="section" href="#PasDoc-Description">Description</a></td><td><a class="section" href="#PasDoc-Hierarchy">Hierarchy</a></td><td>Fields</td><td><a class="section" href="#PasDoc-Methods">Methods</a></td><td><a class="section" href="#PasDoc-Properties">Properties</a></td></tr></table>
<a name="PasDoc-Description"></a><h2 class="unit">Unit</h2>
<p class="unitlink">
<a href="CastleScript.html">CastleScript</a></p>
<h2 class="declaration">Declaration</h2>
<p class="declaration">
<code>type TCasScriptParameterValue = class(<a class="normal" href="CastleScript.TCasScriptValue.html">TCasScriptValue</a>)</code></p>
<h2 class="description">Description</h2>
<p>
This is a very special <a class="normal" href="CastleScript.html">CastleScript</a> value, used to represent user-defined function parameter. This poses itself as a <a class="normal" href="CastleScript.TCasScriptValue.html">TCasScriptValue</a> descendant, and it has working <a class="normal" href="CastleScript.TCasScriptParameterValue.html#AssignValue">AssignValue</a> and everything else. This way it can be used in "Variables" list for various <a class="normal" href="CastleScriptParser.html">CastleScriptParser</a> functions.
<p>Except it's cheating: it doesn't actually store the value. Instead, it has <a class="normal" href="CastleScript.TCasScriptParameterValue.html#SourceValue">SourceValue</a> property that is used when doing <a class="normal" href="CastleScript.TCasScriptParameterValue.html#AssignValue">AssignValue</a>. So <a class="normal" href="CastleScript.TCasScriptParameterValue.html#AssignValue">AssignValue</a> is handled by SourceValue.AssignValue, and Execute is handled by SourceValue.Execute, and so reading/writing this works.
<p>The advantage: the exact type of function parameter is not known, and still we can parse the function expression. This is crucial for parser implementation: when parsing you need to create <code>TCasScriptParameterValue</code> instance, but you don't know actual type of parameter that will be passed here.</p>
<a name="PasDoc-Hierarchy"></a><h2 class="hierarchy">Hierarchy</h2>
<ul class="hierarchy"><li class="ancestor">TObject</li>
<li class="ancestor"><a class="normal" href="CastleScript.TCasScriptExpression.html">TCasScriptExpression</a></li>
<li class="ancestor"><a class="normal" href="CastleScript.TCasScriptValue.html">TCasScriptValue</a></li>
<li class="thisitem">TCasScriptParameterValue</li></ul><h2 class="overview">Overview</h2>
<a name="PasDoc-Methods"></a><h3 class="summary">Methods</h3>
<table class="summary wide_list">
<tr class="list">
<td class="visibility"><a href="legend.html"><img src="protected.gif" alt="Protected" title="Protected"></a></td>
<td class="itemcode"><code>function <b><a href="CastleScript.TCasScriptParameterValue.html#CoreExecute">CoreExecute</a></b>: <a href="CastleScript.TCasScriptValue.html">TCasScriptValue</a>; override;</code></td>
</tr>
<tr class="list2">
<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td>
<td class="itemcode"><code>procedure <b><a href="CastleScript.TCasScriptParameterValue.html#AssignValue">AssignValue</a></b>(Source: <a href="CastleScript.TCasScriptValue.html">TCasScriptValue</a>); override;</code></td>
</tr>
</table>
<a name="PasDoc-Properties"></a><h3 class="summary">Properties</h3>
<table class="summary wide_list">
<tr class="list">
<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td>
<td class="itemcode"><code>property <b><a href="CastleScript.TCasScriptParameterValue.html#SourceValue">SourceValue</a></b>: <a href="CastleScript.TCasScriptValue.html">TCasScriptValue</a> read FSourceValue write FSourceValue;</code></td>
</tr>
</table>
<h2 class="description">Description</h2>
<h3 class="detail">Methods</h3>
<table class="detail wide_list">
<tr class="list">
<td class="visibility"><a href="legend.html"><img src="protected.gif" alt="Protected" title="Protected"></a></td>
<td class="itemcode"><a name="CoreExecute"></a><code>function <b>CoreExecute</b>: <a href="CastleScript.TCasScriptValue.html">TCasScriptValue</a>; override;</code></td>
</tr>
<tr><td colspan="2">
</td></tr>
</table>
<table class="detail wide_list">
<tr class="list">
<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td>
<td class="itemcode"><a name="AssignValue"></a><code>procedure <b>AssignValue</b>(Source: <a href="CastleScript.TCasScriptValue.html">TCasScriptValue</a>); override;</code></td>
</tr>
<tr><td colspan="2">
</td></tr>
</table>
<h3 class="detail">Properties</h3>
<table class="detail wide_list">
<tr class="list">
<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td>
<td class="itemcode"><a name="SourceValue"></a><code>property <b>SourceValue</b>: <a href="CastleScript.TCasScriptValue.html">TCasScriptValue</a> read FSourceValue write FSourceValue;</code></td>
</tr>
<tr><td colspan="2">
</td></tr>
</table>
<!-- Piwik -->
<script type="text/javascript">
var _paq = _paq || [];
_paq.push(["trackPageView"]);
_paq.push(["enableLinkTracking"]);
(function() {
var u=(("https:" == document.location.protocol) ? "https" : "http") + "://michalis.ii.uni.wroc.pl/piwik-castle-engine/";
_paq.push(["setTrackerUrl", u+"piwik.php"]);
_paq.push(["setSiteId", "1"]);
var d=document, g=d.createElement("script"), s=d.getElementsByTagName("script")[0]; g.type="text/javascript";
g.defer=true; g.async=true; g.src=u+"piwik.js"; s.parentNode.insertBefore(g,s);
})();
</script>
<!-- End Piwik Code -->
<noscript>
<!-- Piwik Image Tracker -->
<img src="http://michalis.ii.uni.wroc.pl/piwik-castle-engine/piwik.php?idsite=1&rec=1" style="border:0" alt="" />
<!-- End Piwik -->
</noscript>
<hr noshade size="1"><span class="appinfo"><em>Generated by <a href="http://pasdoc.sourceforge.net/">PasDoc 0.13.0</a> on 2015-06-15 04:43:11</em>
</span>
</td></tr></table></body></html>
|