2019-03-17 14:40:57 +02:00
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
< html >
< head >
2020-04-14 19:56:54 +03:00
< title > Plugin Calls< / title >
2020-05-03 03:20:55 +03:00
< link href = "../docs-assets/Breadcrumbs.css" rel = "stylesheet" rev = "stylesheet" type = "text/css" >
2020-03-19 02:11:25 +02:00
< meta name = "viewport" content = "width=device-width initial-scale=1" >
2019-03-17 14:40:57 +02:00
< meta http-equiv = "Content-Type" content = "text/html; charset=utf-8" >
< meta http-equiv = "Content-Language" content = "en-gb" >
2020-05-03 03:01:21 +03:00
2020-05-03 03:20:55 +03:00
< link href = "../docs-assets/Contents.css" rel = "stylesheet" rev = "stylesheet" type = "text/css" >
< link href = "../docs-assets/Progress.css" rel = "stylesheet" rev = "stylesheet" type = "text/css" >
< link href = "../docs-assets/Navigation.css" rel = "stylesheet" rev = "stylesheet" type = "text/css" >
< link href = "../docs-assets/Fonts.css" rel = "stylesheet" rev = "stylesheet" type = "text/css" >
< link href = "../docs-assets/Base.css" rel = "stylesheet" rev = "stylesheet" type = "text/css" >
2020-05-03 03:01:21 +03:00
< script >
function togglePopup(material_id) {
var popup = document.getElementById(material_id);
popup.classList.toggle("show");
}
< / script >
2020-05-03 03:20:55 +03:00
< link href = "../docs-assets/Popups.css" rel = "stylesheet" rev = "stylesheet" type = "text/css" >
< link href = "../docs-assets/Colours.css" rel = "stylesheet" rev = "stylesheet" type = "text/css" >
2020-04-14 19:56:54 +03:00
2019-03-17 14:40:57 +02:00
< / head >
2020-05-03 03:01:21 +03:00
< body class = "commentary-font" >
2020-03-19 02:11:25 +02:00
< nav role = "navigation" >
2020-04-14 19:56:54 +03:00
< h1 > < a href = "../index.html" >
2020-05-03 18:34:53 +03:00
< img src = "../docs-assets/Inform.png" height = 72" >
2020-04-14 19:56:54 +03:00
< / a > < / h1 >
< ul > < li > < a href = "../compiler.html" > compiler tools< / a > < / li >
2020-03-19 02:11:25 +02:00
< li > < a href = "../other.html" > other tools< / a > < / li >
< li > < a href = "../extensions.html" > extensions and kits< / a > < / li >
< li > < a href = "../units.html" > unit test tools< / a > < / li >
2020-04-14 19:56:54 +03:00
< / ul > < h2 > Compiler Webs< / h2 > < ul >
2020-03-19 02:11:25 +02:00
< li > < a href = "../inbuild/index.html" > inbuild< / a > < / li >
< li > < a href = "../inform7/index.html" > inform7< / a > < / li >
< li > < a href = "../inter/index.html" > inter< / a > < / li >
2020-04-14 19:56:54 +03:00
< / ul > < h2 > Inbuild Modules< / h2 > < ul >
< li > < a href = "../supervisor-module/index.html" > supervisor< / a > < / li >
< / ul > < h2 > Inform7 Modules< / h2 > < ul >
2020-08-26 12:52:50 +03:00
< li > < a href = "../core-module/index.html" > core< / a > < / li >
< li > < a href = "../assertions-module/index.html" > assertions< / a > < / li >
< li > < a href = "../values-module/index.html" > values< / a > < / li >
< li > < a href = "../knowledge-module/index.html" > knowledge< / a > < / li >
< li > < a href = "../imperative-module/index.html" > imperative< / a > < / li >
< li > < a href = "index.html" > < span class = "selectedlink" > runtime< / span > < / a > < / li >
2020-03-19 02:11:25 +02:00
< li > < a href = "../if-module/index.html" > if< / a > < / li >
< li > < a href = "../multimedia-module/index.html" > multimedia< / a > < / li >
< li > < a href = "../index-module/index.html" > index< / a > < / li >
2020-04-14 19:56:54 +03:00
< / ul > < h2 > Inter Modules< / h2 > < ul >
< li > < a href = "../bytecode-module/index.html" > bytecode< / a > < / li >
2020-03-19 02:11:25 +02:00
< li > < a href = "../building-module/index.html" > building< / a > < / li >
< li > < a href = "../codegen-module/index.html" > codegen< / a > < / li >
2020-05-20 02:02:28 +03:00
< / ul > < h2 > Services< / h2 > < ul >
2020-04-14 19:56:54 +03:00
< li > < a href = "../arch-module/index.html" > arch< / a > < / li >
2020-08-20 01:36:18 +03:00
< li > < a href = "../calculus-module/index.html" > calculus< / a > < / li >
2020-04-14 19:56:54 +03:00
< li > < a href = "../html-module/index.html" > html< / a > < / li >
2020-05-20 02:02:28 +03:00
< li > < a href = "../inflections-module/index.html" > inflections< / a > < / li >
2020-08-20 01:36:18 +03:00
< li > < a href = "../kinds-module/index.html" > kinds< / a > < / li >
2020-05-20 02:02:28 +03:00
< li > < a href = "../linguistics-module/index.html" > linguistics< / a > < / li >
< li > < a href = "../problems-module/index.html" > problems< / a > < / li >
2020-08-20 01:36:18 +03:00
< li > < a href = "../syntax-module/index.html" > syntax< / a > < / li >
< li > < a href = "../words-module/index.html" > words< / a > < / li >
2020-03-19 02:11:25 +02:00
< li > < a href = "../../../inweb/docs/foundation-module/index.html" > foundation< / a > < / li >
2020-04-14 19:56:54 +03:00
< / ul >
2020-03-19 02:11:25 +02:00
< / nav >
< main role = "main" >
2020-05-03 03:01:21 +03:00
<!-- Weave of 'Plugin Calls' generated by Inweb -->
< div class = "breadcrumbs" >
2020-08-26 12:52:50 +03:00
< ul class = "crumbs" > < li > < a href = "../index.html" > Home< / a > < / li > < li > < a href = "../compiler.html" > Inform7 Modules< / a > < / li > < li > < a href = "index.html" > runtime< / a > < / li > < li > < a href = "index.html#4" > Chapter 4: Compilation Utilities< / a > < / li > < li > < b > Plugin Calls< / b > < / li > < / ul > < / div >
2020-05-03 03:01:21 +03:00
< p class = "purpose" > To place calls to the plugins.< / p >
2019-03-17 14:40:57 +02:00
2020-08-26 12:52:50 +03:00
< ul class = "toc" > < li > < a href = "4-pc.html#SP1" > § 1. Definitions< / a > < / li > < li > < a href = "4-pc.html#SP5" > § 5. Plugin calls< / a > < / li > < / ul > < hr class = "tocbar" >
2019-03-17 14:40:57 +02:00
2020-08-18 00:57:45 +03:00
< p class = "commentary firstcommentary" > < a id = "SP1" class = "paragraph-anchor" > < / a > < b > § 1. Definitions. < / b > < / p >
2020-05-03 03:01:21 +03:00
2020-08-18 00:57:45 +03:00
< p class = "commentary firstcommentary" > < a id = "SP2" class = "paragraph-anchor" > < / a > < b > § 2. < / b > < / p >
2020-05-03 03:01:21 +03:00
< pre class = "definitions code-font" > < span class = "definition-keyword" > define< / span > < span class = "constant-syntax" > PLUGIN_NEW_VARIABLE_NOTIFY< / span > < span class = "plain-syntax" > < / span > < span class = "constant-syntax" > 1< / span >
< span class = "definition-keyword" > define< / span > < span class = "constant-syntax" > PLUGIN_IRREGULAR_GENITIVE< / span > < span class = "plain-syntax" > < / span > < span class = "constant-syntax" > 4< / span >
< span class = "definition-keyword" > define< / span > < span class = "constant-syntax" > PLUGIN_SET_KIND_NOTIFY< / span > < span class = "plain-syntax" > < / span > < span class = "constant-syntax" > 6< / span >
< span class = "definition-keyword" > define< / span > < span class = "constant-syntax" > PLUGIN_COMPLETE_MODEL< / span > < span class = "plain-syntax" > < / span > < span class = "constant-syntax" > 11< / span >
< span class = "definition-keyword" > define< / span > < span class = "constant-syntax" > PLUGIN_PARSE_COMPOSITE_NQS< / span > < span class = "plain-syntax" > < / span > < span class = "constant-syntax" > 12< / span >
< span class = "definition-keyword" > define< / span > < span class = "constant-syntax" > PLUGIN_REFINE_IMPLICIT_NOUN< / span > < span class = "plain-syntax" > < / span > < span class = "constant-syntax" > 14< / span >
< span class = "definition-keyword" > define< / span > < span class = "constant-syntax" > PLUGIN_ACT_ON_SPECIAL_NPS< / span > < span class = "plain-syntax" > < / span > < span class = "constant-syntax" > 15< / span >
< span class = "definition-keyword" > define< / span > < span class = "constant-syntax" > PLUGIN_NEW_PROPERTY_NOTIFY< / span > < span class = "plain-syntax" > < / span > < span class = "constant-syntax" > 16< / span >
< span class = "definition-keyword" > define< / span > < span class = "constant-syntax" > PLUGIN_PROPERTY_VALUE_NOTIFY< / span > < span class = "plain-syntax" > < / span > < span class = "constant-syntax" > 17< / span >
< span class = "definition-keyword" > define< / span > < span class = "constant-syntax" > PLUGIN_MORE_SPECIFIC< / span > < span class = "plain-syntax" > < / span > < span class = "constant-syntax" > 18< / span >
< span class = "definition-keyword" > define< / span > < span class = "constant-syntax" > PLUGIN_INFERENCES_CONTRADICT< / span > < span class = "plain-syntax" > < / span > < span class = "constant-syntax" > 19< / span >
< span class = "definition-keyword" > define< / span > < span class = "constant-syntax" > PLUGIN_INTERVENE_IN_ASSERTION< / span > < span class = "plain-syntax" > < / span > < span class = "constant-syntax" > 20< / span >
< span class = "definition-keyword" > define< / span > < span class = "constant-syntax" > PLUGIN_LOG_INFERENCE_TYPE< / span > < span class = "plain-syntax" > < / span > < span class = "constant-syntax" > 21< / span >
< span class = "definition-keyword" > define< / span > < span class = "constant-syntax" > PLUGIN_COMPILE_OBJECT_HEADER< / span > < span class = "plain-syntax" > < / span > < span class = "constant-syntax" > 22< / span >
< span class = "definition-keyword" > define< / span > < span class = "constant-syntax" > PLUGIN_ESTIMATE_PROPERTY_USAGE< / span > < span class = "plain-syntax" > < / span > < span class = "constant-syntax" > 23< / span >
< span class = "definition-keyword" > define< / span > < span class = "constant-syntax" > PLUGIN_CHECK_GOING< / span > < span class = "plain-syntax" > < / span > < span class = "constant-syntax" > 24< / span >
< span class = "definition-keyword" > define< / span > < span class = "constant-syntax" > PLUGIN_COMPILE_MODEL_TABLES< / span > < span class = "plain-syntax" > < / span > < span class = "constant-syntax" > 25< / span >
< span class = "definition-keyword" > define< / span > < span class = "constant-syntax" > PLUGIN_DEFAULT_APPEARANCE< / span > < span class = "plain-syntax" > < / span > < span class = "constant-syntax" > 26< / span >
< span class = "definition-keyword" > define< / span > < span class = "constant-syntax" > PLUGIN_NEW_PERMISSION_NOTIFY< / span > < span class = "plain-syntax" > < / span > < span class = "constant-syntax" > 27< / span >
< span class = "definition-keyword" > define< / span > < span class = "constant-syntax" > PLUGIN_NAME_TO_EARLY_INFS< / span > < span class = "plain-syntax" > < / span > < span class = "constant-syntax" > 28< / span >
< span class = "definition-keyword" > define< / span > < span class = "constant-syntax" > PLUGIN_NEW_BASE_KIND_NOTIFY< / span > < span class = "plain-syntax" > < / span > < span class = "constant-syntax" > 29< / span >
< span class = "definition-keyword" > define< / span > < span class = "constant-syntax" > PLUGIN_COMPILE_CONSTANT< / span > < span class = "plain-syntax" > < / span > < span class = "constant-syntax" > 30< / span >
< span class = "definition-keyword" > define< / span > < span class = "constant-syntax" > PLUGIN_NEW_INSTANCE_NOTIFY< / span > < span class = "plain-syntax" > < / span > < span class = "constant-syntax" > 31< / span >
< span class = "definition-keyword" > define< / span > < span class = "constant-syntax" > PLUGIN_OFFERED_PROPERTY< / span > < span class = "plain-syntax" > < / span > < span class = "constant-syntax" > 32< / span >
< span class = "definition-keyword" > define< / span > < span class = "constant-syntax" > PLUGIN_OFFERED_SPECIFICATION< / span > < span class = "plain-syntax" > < / span > < span class = "constant-syntax" > 33< / span >
< span class = "definition-keyword" > define< / span > < span class = "constant-syntax" > PLUGIN_TYPECHECK_EQUALITY< / span > < span class = "plain-syntax" > < / span > < span class = "constant-syntax" > 34< / span >
< span class = "definition-keyword" > define< / span > < span class = "constant-syntax" > PLUGIN_FORBID_SETTING< / span > < span class = "plain-syntax" > < / span > < span class = "constant-syntax" > 35< / span >
< span class = "definition-keyword" > define< / span > < span class = "constant-syntax" > PLUGIN_VARIABLE_SET_WARNING< / span > < span class = "plain-syntax" > < / span > < span class = "constant-syntax" > 36< / span >
< span class = "definition-keyword" > define< / span > < span class = "constant-syntax" > PLUGIN_DETECT_BODYSNATCHING< / span > < span class = "plain-syntax" > < / span > < span class = "constant-syntax" > 37< / span >
< span class = "definition-keyword" > define< / span > < span class = "constant-syntax" > PLUGIN_NEW_SUBJECT_NOTIFY< / span > < span class = "plain-syntax" > < / span > < span class = "constant-syntax" > 38< / span >
< span class = "definition-keyword" > define< / span > < span class = "constant-syntax" > PLUGIN_EXPLAIN_CONTRADICTION< / span > < span class = "plain-syntax" > < / span > < span class = "constant-syntax" > 39< / span >
< span class = "definition-keyword" > define< / span > < span class = "constant-syntax" > PLUGIN_ADD_TO_WORLD_INDEX< / span > < span class = "plain-syntax" > < / span > < span class = "constant-syntax" > 40< / span >
< span class = "definition-keyword" > define< / span > < span class = "constant-syntax" > PLUGIN_ANNOTATE_IN_WORLD_INDEX< / span > < span class = "plain-syntax" > < / span > < span class = "constant-syntax" > 41< / span >
< span class = "definition-keyword" > define< / span > < span class = "constant-syntax" > PLUGIN_SET_SUBKIND_NOTIFY< / span > < span class = "plain-syntax" > < / span > < span class = "constant-syntax" > 42< / span >
2020-08-01 13:35:56 +03:00
< span class = "definition-keyword" > define< / span > < span class = "constant-syntax" > PLUGIN_CREATE_INFERENCES< / span > < span class = "plain-syntax" > < / span > < span class = "constant-syntax" > 43< / span >
2019-03-17 14:40:57 +02:00
< / pre >
2020-08-18 00:57:45 +03:00
< p class = "commentary firstcommentary" > < a id = "SP3" class = "paragraph-anchor" > < / a > < b > § 3. < / b > < / p >
2019-03-17 14:40:57 +02:00
2020-05-03 03:01:21 +03:00
< pre class = "definitions code-font" > < span class = "definition-keyword" > define< / span > < span class = "constant-syntax" > MAX_PLUGS< / span > < span class = "plain-syntax" > < / span > < span class = "constant-syntax" > 100< / span >
2019-03-17 14:40:57 +02:00
< / pre >
2020-05-03 03:01:21 +03:00
< pre class = "displayed-code all-displayed-code code-font" >
< span class = "reserved-syntax" > typedef< / span > < span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > struct< / span > < span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > plugin_call< / span > < span class = "plain-syntax" > {< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > void< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > routine< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > struct< / span > < span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > plugin_call< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > next< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > } < / span > < span class = "reserved-syntax" > plugin_call< / span > < span class = "plain-syntax" > ;< / span >
2019-03-17 14:40:57 +02:00
< / pre >
2020-08-27 01:12:58 +03:00
< ul class = "endnotetexts" > < li > The structure plugin_call is accessed in 2/cu, 3/ad, 4/itc, 4/rsft and here.< / li > < / ul >
2020-08-18 00:57:45 +03:00
< p class = "commentary firstcommentary" > < a id = "SP4" class = "paragraph-anchor" > < / a > < b > § 4. < / b > < / p >
2019-03-17 14:40:57 +02:00
2020-05-03 03:01:21 +03:00
< pre class = "displayed-code all-displayed-code code-font" >
< span class = "reserved-syntax" > plugin_call< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > plugins_stack< / span > < span class = "plain-syntax" > [< / span > < span class = "constant-syntax" > MAX_PLUGS< / span > < span class = "plain-syntax" > ];< / span >
2019-03-17 14:40:57 +02:00
< / pre >
2020-08-18 00:57:45 +03:00
< p class = "commentary firstcommentary" > < a id = "SP5" class = "paragraph-anchor" > < / a > < b > § 5. Plugin calls. < / b > < / p >
2020-05-03 03:01:21 +03:00
< pre class = "definitions code-font" > < span class = "definition-keyword" > define< / span > < span class = "identifier-syntax" > PLUGINS_CALL< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > code< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > args< / span > < span class = "plain-syntax" > ...) {< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > plugin_call< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > pc< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > plugins_stack< / span > < span class = "plain-syntax" > [< / span > < span class = "identifier-syntax" > code< / span > < span class = "plain-syntax" > ];< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > while< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > pc< / span > < span class = "plain-syntax" > ) {< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > (*< / span > < span class = "identifier-syntax" > R< / span > < span class = "plain-syntax" > )() = (< / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > (*)()) < / span > < span class = "identifier-syntax" > pc< / span > < span class = "plain-syntax" > -> < / span > < span class = "element-syntax" > routine< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > Q< / span > < span class = "plain-syntax" > = (*< / span > < span class = "identifier-syntax" > R< / span > < span class = "plain-syntax" > )(< / span > < span class = "identifier-syntax" > args< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > Q< / span > < span class = "plain-syntax" > ) < / span > < span class = "reserved-syntax" > return< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > Q< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > pc< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > pc< / span > < span class = "plain-syntax" > -> < / span > < span class = "element-syntax" > next< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > }< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > return< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > FALSE< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > }< / span >
< span class = "definition-keyword" > define< / span > < span class = "identifier-syntax" > PLUGINS_CALLV< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > code< / span > < span class = "plain-syntax" > ) {< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > plugin_call< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > pc< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > plugins_stack< / span > < span class = "plain-syntax" > [< / span > < span class = "identifier-syntax" > code< / span > < span class = "plain-syntax" > ];< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > while< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > pc< / span > < span class = "plain-syntax" > ) {< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > (*< / span > < span class = "identifier-syntax" > R< / span > < span class = "plain-syntax" > )() = (< / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > (*)()) < / span > < span class = "identifier-syntax" > pc< / span > < span class = "plain-syntax" > -> < / span > < span class = "element-syntax" > routine< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > Q< / span > < span class = "plain-syntax" > = (*< / span > < span class = "identifier-syntax" > R< / span > < span class = "plain-syntax" > )();< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > Q< / span > < span class = "plain-syntax" > ) < / span > < span class = "reserved-syntax" > return< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > Q< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > pc< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > pc< / span > < span class = "plain-syntax" > -> < / span > < span class = "element-syntax" > next< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > }< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > return< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > FALSE< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > }< / span >
< span class = "definition-keyword" > define< / span > < span class = "identifier-syntax" > PLUGIN_REGISTER< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > code< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > R< / span > < span class = "plain-syntax" > ) {< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > plugin_call< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > new< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > CREATE< / span > < span class = "plain-syntax" > (< / span > < span class = "reserved-syntax" > plugin_call< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > new< / span > < span class = "plain-syntax" > -> < / span > < span class = "element-syntax" > routine< / span > < span class = "plain-syntax" > = (< / span > < span class = "reserved-syntax" > void< / span > < span class = "plain-syntax" > *) (& < / span > < span class = "identifier-syntax" > R< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > new< / span > < span class = "plain-syntax" > -> < / span > < span class = "element-syntax" > next< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > plugins_stack< / span > < span class = "plain-syntax" > [< / span > < span class = "identifier-syntax" > code< / span > < span class = "plain-syntax" > ] == < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > ) < / span > < span class = "identifier-syntax" > plugins_stack< / span > < span class = "plain-syntax" > [< / span > < span class = "identifier-syntax" > code< / span > < span class = "plain-syntax" > ] = < / span > < span class = "identifier-syntax" > new< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > else< / span > < span class = "plain-syntax" > {< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > plugin_call< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > PC< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > plugins_stack< / span > < span class = "plain-syntax" > [< / span > < span class = "identifier-syntax" > code< / span > < span class = "plain-syntax" > ];< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > while< / span > < span class = "plain-syntax" > ((< / span > < span class = "identifier-syntax" > PC< / span > < span class = "plain-syntax" > ) & & (< / span > < span class = "identifier-syntax" > PC< / span > < span class = "plain-syntax" > -> < / span > < span class = "element-syntax" > next< / span > < span class = "plain-syntax" > )) < / span > < span class = "identifier-syntax" > PC< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > PC< / span > < span class = "plain-syntax" > -> < / span > < span class = "element-syntax" > next< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > PC< / span > < span class = "plain-syntax" > -> < / span > < span class = "element-syntax" > next< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > new< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > }< / span >
< span class = "plain-syntax" > }< / span >
2019-03-17 14:40:57 +02:00
< / pre >
2020-05-03 03:01:21 +03:00
< pre class = "displayed-code all-displayed-code code-font" >
2020-08-26 12:52:50 +03:00
< span class = "reserved-syntax" > void< / span > < span class = "plain-syntax" > < / span > < span class = "function-syntax" > Plugins::Call::initialise_calls< / span > < button class = "popup" onclick = "togglePopup('usagePopup1')" > < span class = "comment-syntax" > ?< / span > < span class = "popuptext" id = "usagePopup1" > Usage of < span class = "code-font" > < span class = "function-syntax" > Plugins::Call::initialise_calls< / span > < / span > :< br / > Plugins - < a href = "4-plg.html#SP8" > § 8< / a > < / span > < / button > < span class = "plain-syntax" > (< / span > < span class = "reserved-syntax" > void< / span > < span class = "plain-syntax" > ) {< / span >
2020-05-03 03:01:21 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > i< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > for< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > i< / span > < span class = "plain-syntax" > =0; < / span > < span class = "identifier-syntax" > i< / span > < span class = "plain-syntax" > < < / span > < span class = "constant-syntax" > MAX_PLUGS< / span > < span class = "plain-syntax" > ; < / span > < span class = "identifier-syntax" > i< / span > < span class = "plain-syntax" > ++) < / span > < span class = "identifier-syntax" > plugins_stack< / span > < span class = "plain-syntax" > [< / span > < span class = "identifier-syntax" > i< / span > < span class = "plain-syntax" > ] = < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > }< / span >
2019-03-17 14:40:57 +02:00
< / pre >
2020-08-18 00:57:45 +03:00
< p class = "commentary firstcommentary" > < a id = "SP6" class = "paragraph-anchor" > < / a > < b > § 6. < / b > And here goes:
2019-03-17 14:40:57 +02:00
< / p >
2020-08-26 12:52:50 +03:00
< pre class = "definitions code-font" > < span class = "definition-keyword" > define< / span > < span class = "constant-syntax" > NEW_BASE_KINDS_CALLBACK< / span > < span class = "plain-syntax" > < / span > < a href = "4-pc.html#SP6" class = "function-link" > < span class = "function-syntax" > Plugins::Call::new_base_kind_notify< / span > < / a >
< span class = "definition-keyword" > define< / span > < span class = "constant-syntax" > HIERARCHY_VETO_MOVE_KINDS_CALLBACK< / span > < span class = "plain-syntax" > < / span > < a href = "4-pc.html#SP7" class = "function-link" > < span class = "function-syntax" > Plugins::Call::set_subkind_notify< / span > < / a >
2019-03-17 14:40:57 +02:00
< / pre >
2020-05-03 03:01:21 +03:00
< pre class = "displayed-code all-displayed-code code-font" >
2020-08-26 12:52:50 +03:00
< span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "function-syntax" > Plugins::Call::name_to_early_infs< / span > < button class = "popup" onclick = "togglePopup('usagePopup2')" > < span class = "comment-syntax" > ?< / span > < span class = "popuptext" id = "usagePopup2" > Usage of < span class = "code-font" > < span class = "function-syntax" > Plugins::Call::name_to_early_infs< / span > < / span > :< br / > < a href = "4-pc.html#SP6_1" > § 6.1< / a > < / span > < / button > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > wording< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > W< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > inference_subject< / span > < span class = "plain-syntax" > **< / span > < span class = "identifier-syntax" > infs< / span > < span class = "plain-syntax" > ) {< / span >
2020-05-03 03:01:21 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > PLUGINS_CALL< / span > < span class = "plain-syntax" > (< / span > < span class = "constant-syntax" > PLUGIN_NAME_TO_EARLY_INFS< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > W< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > infs< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > }< / span >
2020-08-26 12:52:50 +03:00
< span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "function-syntax" > Plugins::Call::new_variable_notify< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > nonlocal_variable< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > q< / span > < span class = "plain-syntax" > ) {< / span >
2020-05-03 03:01:21 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > PLUGINS_CALL< / span > < span class = "plain-syntax" > (< / span > < span class = "constant-syntax" > PLUGIN_NEW_VARIABLE_NOTIFY< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > q< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > }< / span >
2020-08-11 13:55:39 +03:00
< span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "function-syntax" > Plugins::Call::new_base_kind_notify< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > kind< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > kind< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > super< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > text_stream< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > d< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > wording< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > W< / span > < span class = "plain-syntax" > ) {< / span >
2020-08-26 12:52:50 +03:00
< span class = "plain-syntax" > < / span > < span class = "named-paragraph-container code-font" > < a href = "4-pc.html#SP6_1" class = "named-paragraph-link" > < span class = "named-paragraph" > Renew the subject if necessary to cope with an early subject creation< / span > < span class = "named-paragraph-number" > 6.1< / span > < / a > < / span > < span class = "plain-syntax" > ;< / span >
2020-08-09 20:39:31 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "function-syntax" > < property-name> < / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > W< / span > < span class = "plain-syntax" > )) {< / span >
2020-08-26 12:52:50 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > property< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > P< / span > < span class = "plain-syntax" > = < / span > < span class = "function-syntax" > < < rp> > < / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > Properties::Valued::set_kind< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > P< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > Instances::make_kind_coincident< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > P< / span > < span class = "plain-syntax" > );< / span >
2020-08-12 01:59:29 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > Kinds::eq< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > K_grammatical_gender< / span > < span class = "plain-syntax" > )) < / span > < span class = "identifier-syntax" > P_grammatical_gender< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > P< / span > < span class = "plain-syntax" > ;< / span >
2020-08-09 20:39:31 +03:00
< span class = "plain-syntax" > }< / span >
2020-05-03 03:01:21 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > PLUGINS_CALL< / span > < span class = "plain-syntax" > (< / span > < span class = "constant-syntax" > PLUGIN_NEW_BASE_KIND_NOTIFY< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > d< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > W< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > }< / span >
2020-08-11 13:55:39 +03:00
< / pre >
2020-08-18 00:57:45 +03:00
< p class = "commentary firstcommentary" > < a id = "SP6_1" class = "paragraph-anchor" > < / a > < b > § 6.1. < / b > This is used to overcome a timing problem. A few inference subjects need to
2020-08-11 13:55:39 +03:00
be defined early in Inform's run to set up relations — "thing", for example.
So when we do finally create "thing" as a kind of object, it needs to be
matched up with the inference subject already existing.
< / p >
2020-05-03 03:01:21 +03:00
2020-08-11 13:55:39 +03:00
< p class = "commentary" > < span class = "named-paragraph-container code-font" > < span class = "named-paragraph-defn" > Renew the subject if necessary to cope with an early subject creation< / span > < span class = "named-paragraph-number" > 6.1< / span > < / span > < span class = "comment-syntax" > =< / span >
< / p >
< pre class = "displayed-code all-displayed-code code-font" >
2020-08-26 12:52:50 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > inference_subject< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > revised< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > Wordings::nonempty< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > W< / span > < span class = "plain-syntax" > )) < / span > < a href = "4-pc.html#SP6" class = "function-link" > < span class = "function-syntax" > Plugins::Call::name_to_early_infs< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > W< / span > < span class = "plain-syntax" > , & < / span > < span class = "identifier-syntax" > revised< / span > < span class = "plain-syntax" > );< / span >
2020-08-11 13:55:39 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > revised< / span > < span class = "plain-syntax" > ) {< / span >
2020-08-26 12:52:50 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > InferenceSubjects::renew< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > revised< / span > < span class = "plain-syntax" > ,< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > Kinds::Knowledge::as_subject< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > super< / span > < span class = "plain-syntax" > ), < / span > < span class = "identifier-syntax" > KIND_SUB< / span > < span class = "plain-syntax" > ,< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > STORE_POINTER_kind_constructor< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > construct< / span > < span class = "plain-syntax" > ), < / span > < span class = "identifier-syntax" > LIKELY_CE< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > Kinds::Knowledge::set_subject< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > revised< / span > < span class = "plain-syntax" > );< / span >
2020-08-11 13:55:39 +03:00
< span class = "plain-syntax" > }< / span >
< / pre >
2020-08-26 12:52:50 +03:00
< ul class = "endnotetexts" > < li > This code is used in < a href = "4-pc.html#SP6" > § 6< / a > .< / li > < / ul >
2020-08-18 00:57:45 +03:00
< p class = "commentary firstcommentary" > < a id = "SP7" class = "paragraph-anchor" > < / a > < b > § 7. < / b > < / p >
2020-08-11 13:55:39 +03:00
< pre class = "displayed-code all-displayed-code code-font" >
2020-08-26 12:52:50 +03:00
< span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "function-syntax" > Plugins::Call::compile_constant< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > value_holster< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > VH< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > kind< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > parse_node< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > spec< / span > < span class = "plain-syntax" > ) {< / span >
2020-05-03 03:01:21 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > PLUGINS_CALL< / span > < span class = "plain-syntax" > (< / span > < span class = "constant-syntax" > PLUGIN_COMPILE_CONSTANT< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > VH< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > spec< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > }< / span >
2020-08-26 12:52:50 +03:00
< span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "function-syntax" > Plugins::Call::new_subject_notify< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > inference_subject< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > subj< / span > < span class = "plain-syntax" > ) {< / span >
2020-05-03 03:01:21 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > PLUGINS_CALL< / span > < span class = "plain-syntax" > (< / span > < span class = "constant-syntax" > PLUGIN_NEW_SUBJECT_NOTIFY< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > subj< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > }< / span >
2020-08-26 12:52:50 +03:00
< span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "function-syntax" > Plugins::Call::new_named_instance_notify< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > instance< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > nc< / span > < span class = "plain-syntax" > ) {< / span >
2020-05-03 03:01:21 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > PLUGINS_CALL< / span > < span class = "plain-syntax" > (< / span > < span class = "constant-syntax" > PLUGIN_NEW_INSTANCE_NOTIFY< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > nc< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > }< / span >
2020-08-26 12:52:50 +03:00
< span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "function-syntax" > Plugins::Call::new_permission_notify< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > property_permission< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > pp< / span > < span class = "plain-syntax" > ) {< / span >
2020-05-03 03:01:21 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > PLUGINS_CALL< / span > < span class = "plain-syntax" > (< / span > < span class = "constant-syntax" > PLUGIN_NEW_PERMISSION_NOTIFY< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > pp< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > }< / span >
2020-08-26 12:52:50 +03:00
< span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "function-syntax" > Plugins::Call::irregular_genitive< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > inference_subject< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > owner< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > text_stream< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > genitive< / span > < span class = "plain-syntax" > , < / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > propriety< / span > < span class = "plain-syntax" > ) {< / span >
2020-05-03 03:01:21 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > PLUGINS_CALL< / span > < span class = "plain-syntax" > (< / span > < span class = "constant-syntax" > PLUGIN_IRREGULAR_GENITIVE< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > owner< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > genitive< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > propriety< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > }< / span >
2020-08-26 12:52:50 +03:00
< span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "function-syntax" > Plugins::Call::set_kind_notify< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > instance< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > I< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > kind< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > k< / span > < span class = "plain-syntax" > ) {< / span >
2020-05-03 03:01:21 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > PLUGINS_CALL< / span > < span class = "plain-syntax" > (< / span > < span class = "constant-syntax" > PLUGIN_SET_KIND_NOTIFY< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > I< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > k< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > }< / span >
2020-08-26 12:52:50 +03:00
< span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "function-syntax" > Plugins::Call::set_subkind_notify< / span > < button class = "popup" onclick = "togglePopup('usagePopup3')" > < span class = "comment-syntax" > ?< / span > < span class = "popuptext" id = "usagePopup3" > Usage of < span class = "code-font" > < span class = "function-syntax" > Plugins::Call::set_subkind_notify< / span > < / span > :< br / > < a href = "4-pc.html#SP6" > § 6< / a > < / span > < / button > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > kind< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > sub< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > kind< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > super< / span > < span class = "plain-syntax" > ) {< / span >
2020-08-11 17:07:58 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > Kinds::Behaviour::is_subkind_of_object< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > sub< / span > < span class = "plain-syntax" > ) == < / span > < span class = "identifier-syntax" > FALSE< / span > < span class = "plain-syntax" > ) < / span > < span class = "reserved-syntax" > return< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > TRUE< / span > < span class = "plain-syntax" > ;< / span >
2020-05-03 03:01:21 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > PLUGINS_CALL< / span > < span class = "plain-syntax" > (< / span > < span class = "constant-syntax" > PLUGIN_SET_SUBKIND_NOTIFY< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > sub< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > super< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > }< / span >
2020-08-26 12:52:50 +03:00
< span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "function-syntax" > Plugins::Call::complete_model< / span > < span class = "plain-syntax" > (< / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > stage< / span > < span class = "plain-syntax" > ) {< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > World::Inferences::diversion_off< / span > < span class = "plain-syntax" > ();< / span >
2020-05-03 03:01:21 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > PLUGINS_CALL< / span > < span class = "plain-syntax" > (< / span > < span class = "constant-syntax" > PLUGIN_COMPLETE_MODEL< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > stage< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > }< / span >
2020-08-26 12:52:50 +03:00
< span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "function-syntax" > Plugins::Call::parse_composite_NQs< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > wording< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > W< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > wording< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > DW< / span > < span class = "plain-syntax" > ,< / span >
2020-05-03 03:01:21 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > quantifier< / span > < span class = "plain-syntax" > **< / span > < span class = "identifier-syntax" > quantifier_used< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > kind< / span > < span class = "plain-syntax" > **< / span > < span class = "identifier-syntax" > some_kind< / span > < span class = "plain-syntax" > ) {< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > PLUGINS_CALL< / span > < span class = "plain-syntax" > (< / span > < span class = "constant-syntax" > PLUGIN_PARSE_COMPOSITE_NQS< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > W< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > DW< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > quantifier_used< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > some_kind< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > }< / span >
2020-08-26 12:52:50 +03:00
< span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "function-syntax" > Plugins::Call::refine_implicit_noun< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > parse_node< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > p< / span > < span class = "plain-syntax" > ) {< / span >
2020-05-03 03:01:21 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > PLUGINS_CALL< / span > < span class = "plain-syntax" > (< / span > < span class = "constant-syntax" > PLUGIN_REFINE_IMPLICIT_NOUN< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > p< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > }< / span >
2020-08-26 12:52:50 +03:00
< span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "function-syntax" > Plugins::Call::act_on_special_NPs< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > parse_node< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > p< / span > < span class = "plain-syntax" > ) {< / span >
2020-05-03 03:01:21 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > PLUGINS_CALL< / span > < span class = "plain-syntax" > (< / span > < span class = "constant-syntax" > PLUGIN_ACT_ON_SPECIAL_NPS< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > p< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > }< / span >
2020-08-26 12:52:50 +03:00
< span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "function-syntax" > Plugins::Call::new_property_notify< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > property< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > prn< / span > < span class = "plain-syntax" > ) {< / span >
2020-05-03 03:01:21 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > PLUGINS_CALL< / span > < span class = "plain-syntax" > (< / span > < span class = "constant-syntax" > PLUGIN_NEW_PROPERTY_NOTIFY< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > prn< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > }< / span >
2020-08-26 12:52:50 +03:00
< span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "function-syntax" > Plugins::Call::property_value_notify< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > property< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > prn< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > parse_node< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > val< / span > < span class = "plain-syntax" > ) {< / span >
2020-05-03 03:01:21 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > PLUGINS_CALL< / span > < span class = "plain-syntax" > (< / span > < span class = "constant-syntax" > PLUGIN_PROPERTY_VALUE_NOTIFY< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > prn< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > val< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > }< / span >
2020-08-26 12:52:50 +03:00
< span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "function-syntax" > Plugins::Call::more_specific< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > instance< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > I1< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > instance< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > I2< / span > < span class = "plain-syntax" > ) {< / span >
2020-05-03 03:01:21 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > PLUGINS_CALL< / span > < span class = "plain-syntax" > (< / span > < span class = "constant-syntax" > PLUGIN_MORE_SPECIFIC< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > I1< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > I2< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > }< / span >
2020-08-26 12:52:50 +03:00
< span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "function-syntax" > Plugins::Call::inferences_contradict< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > inference< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > A< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > inference< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > B< / span > < span class = "plain-syntax" > , < / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > similarity< / span > < span class = "plain-syntax" > ) {< / span >
2020-05-03 03:01:21 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > PLUGINS_CALL< / span > < span class = "plain-syntax" > (< / span > < span class = "constant-syntax" > PLUGIN_INFERENCES_CONTRADICT< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > A< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > B< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > similarity< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > }< / span >
2020-08-26 12:52:50 +03:00
< span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "function-syntax" > Plugins::Call::explain_contradiction< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > inference< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > A< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > inference< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > B< / span > < span class = "plain-syntax" > , < / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > similarity< / span > < span class = "plain-syntax" > ,< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > inference_subject< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > subj< / span > < span class = "plain-syntax" > ) {< / span >
2020-05-03 03:01:21 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > PLUGINS_CALL< / span > < span class = "plain-syntax" > (< / span > < span class = "constant-syntax" > PLUGIN_EXPLAIN_CONTRADICTION< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > A< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > B< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > similarity< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > subj< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > }< / span >
2020-08-26 12:52:50 +03:00
< span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "function-syntax" > Plugins::Call::intervene_in_assertion< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > parse_node< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > px< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > parse_node< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > py< / span > < span class = "plain-syntax" > ) {< / span >
2020-05-03 03:01:21 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > PLUGINS_CALL< / span > < span class = "plain-syntax" > (< / span > < span class = "constant-syntax" > PLUGIN_INTERVENE_IN_ASSERTION< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > px< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > py< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > }< / span >
2020-08-26 12:52:50 +03:00
< span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "function-syntax" > Plugins::Call::log_inference_type< / span > < span class = "plain-syntax" > (< / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > it< / span > < span class = "plain-syntax" > ) {< / span >
2020-05-03 03:01:21 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > PLUGINS_CALL< / span > < span class = "plain-syntax" > (< / span > < span class = "constant-syntax" > PLUGIN_LOG_INFERENCE_TYPE< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > it< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > }< / span >
2020-08-26 12:52:50 +03:00
< span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "function-syntax" > Plugins::Call::estimate_property_usage< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > kind< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > k< / span > < span class = "plain-syntax" > , < / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > words_used< / span > < span class = "plain-syntax" > ) {< / span >
2020-05-03 03:01:21 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > PLUGINS_CALL< / span > < span class = "plain-syntax" > (< / span > < span class = "constant-syntax" > PLUGIN_ESTIMATE_PROPERTY_USAGE< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > k< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > words_used< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > }< / span >
< span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "function-syntax" > Plugins::Call::check_going< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > parse_node< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > from< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > parse_node< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > to< / span > < span class = "plain-syntax" > ,< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > parse_node< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > by< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > parse_node< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > through< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > parse_node< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > pushing< / span > < span class = "plain-syntax" > ) {< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > PLUGINS_CALL< / span > < span class = "plain-syntax" > (< / span > < span class = "constant-syntax" > PLUGIN_CHECK_GOING< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > from< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > to< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > by< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > through< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > pushing< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > }< / span >
2020-08-26 12:52:50 +03:00
< span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "function-syntax" > Plugins::Call::compile_model_tables< / span > < span class = "plain-syntax" > (< / span > < span class = "reserved-syntax" > void< / span > < span class = "plain-syntax" > ) {< / span >
2020-05-03 03:01:21 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > PLUGINS_CALLV< / span > < span class = "plain-syntax" > (< / span > < span class = "constant-syntax" > PLUGIN_COMPILE_MODEL_TABLES< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > }< / span >
2020-08-26 12:52:50 +03:00
< span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "function-syntax" > Plugins::Call::default_appearance< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > inference_subject< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > infs< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > parse_node< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > txt< / span > < span class = "plain-syntax" > ) {< / span >
2020-05-03 03:01:21 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > PLUGINS_CALL< / span > < span class = "plain-syntax" > (< / span > < span class = "constant-syntax" > PLUGIN_DEFAULT_APPEARANCE< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > infs< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > txt< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > }< / span >
2020-08-26 12:52:50 +03:00
< span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "function-syntax" > Plugins::Call::offered_property< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > kind< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > parse_node< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > owner< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > parse_node< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > what< / span > < span class = "plain-syntax" > ) {< / span >
2020-05-03 03:01:21 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > PLUGINS_CALL< / span > < span class = "plain-syntax" > (< / span > < span class = "constant-syntax" > PLUGIN_OFFERED_PROPERTY< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > owner< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > what< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > }< / span >
2020-08-26 12:52:50 +03:00
< span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "function-syntax" > Plugins::Call::offered_specification< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > parse_node< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > owner< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > wording< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > W< / span > < span class = "plain-syntax" > ) {< / span >
2020-05-03 03:01:21 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > PLUGINS_CALL< / span > < span class = "plain-syntax" > (< / span > < span class = "constant-syntax" > PLUGIN_OFFERED_SPECIFICATION< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > owner< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > W< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > }< / span >
2020-08-26 12:52:50 +03:00
< span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "function-syntax" > Plugins::Call::typecheck_equality< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > kind< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > K1< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > kind< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > K2< / span > < span class = "plain-syntax" > ) {< / span >
2020-05-03 03:01:21 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > PLUGINS_CALL< / span > < span class = "plain-syntax" > (< / span > < span class = "constant-syntax" > PLUGIN_TYPECHECK_EQUALITY< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > K1< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > K2< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > }< / span >
2020-08-26 12:52:50 +03:00
< span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "function-syntax" > Plugins::Call::forbid_setting< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > kind< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > ) {< / span >
2020-05-03 03:01:21 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > PLUGINS_CALL< / span > < span class = "plain-syntax" > (< / span > < span class = "constant-syntax" > PLUGIN_FORBID_SETTING< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > }< / span >
2020-08-26 12:52:50 +03:00
< span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "function-syntax" > Plugins::Call::variable_set_warning< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > nonlocal_variable< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > q< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > parse_node< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > val< / span > < span class = "plain-syntax" > ) {< / span >
2020-05-03 03:01:21 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > PLUGINS_CALL< / span > < span class = "plain-syntax" > (< / span > < span class = "constant-syntax" > PLUGIN_VARIABLE_SET_WARNING< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > q< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > val< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > }< / span >
2020-08-26 12:52:50 +03:00
< span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "function-syntax" > Plugins::Call::detect_bodysnatching< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > inference_subject< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > body< / span > < span class = "plain-syntax" > , < / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > snatcher< / span > < span class = "plain-syntax" > ,< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > inference_subject< / span > < span class = "plain-syntax" > **< / span > < span class = "identifier-syntax" > counterpart< / span > < span class = "plain-syntax" > ) {< / span >
2020-05-03 03:01:21 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > PLUGINS_CALL< / span > < span class = "plain-syntax" > (< / span > < span class = "constant-syntax" > PLUGIN_DETECT_BODYSNATCHING< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > body< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > snatcher< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > counterpart< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > }< / span >
2020-08-26 12:52:50 +03:00
< span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "function-syntax" > Plugins::Call::add_to_World_index< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > OUTPUT_STREAM< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > instance< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > O< / span > < span class = "plain-syntax" > ) {< / span >
2020-05-03 03:01:21 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > PLUGINS_CALL< / span > < span class = "plain-syntax" > (< / span > < span class = "constant-syntax" > PLUGIN_ADD_TO_WORLD_INDEX< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > OUT< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > O< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > }< / span >
2020-08-26 12:52:50 +03:00
< span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "function-syntax" > Plugins::Call::annotate_in_World_index< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > OUTPUT_STREAM< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > instance< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > O< / span > < span class = "plain-syntax" > ) {< / span >
2020-05-03 03:01:21 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > PLUGINS_CALL< / span > < span class = "plain-syntax" > (< / span > < span class = "constant-syntax" > PLUGIN_ANNOTATE_IN_WORLD_INDEX< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > OUT< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > O< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > }< / span >
2020-08-01 13:35:56 +03:00
2020-08-26 12:52:50 +03:00
< span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "function-syntax" > Plugins::Call::create_inference_subjects< / span > < span class = "plain-syntax" > (< / span > < span class = "reserved-syntax" > void< / span > < span class = "plain-syntax" > ) {< / span >
2020-08-01 13:35:56 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > PLUGINS_CALLV< / span > < span class = "plain-syntax" > (< / span > < span class = "constant-syntax" > PLUGIN_CREATE_INFERENCES< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > }< / span >
2019-03-17 14:40:57 +02:00
< / pre >
2020-05-03 03:01:21 +03:00
< nav role = "progress" > < div class = "progresscontainer" >
2020-08-27 01:12:58 +03:00
< ul class = "progressbar" > < li class = "progressprev" > < a href = "4-plg.html" > ❮ < / a > < / li > < li class = "progresschapter" > < a href = "P-wtmd.html" > P< / a > < / li > < li class = "progresschapter" > < a href = "1-rm.html" > 1< / a > < / li > < li class = "progresschapter" > < a href = "2-hrr.html" > 2< / a > < / li > < li class = "progresschapter" > < a href = "3-ad.html" > 3< / a > < / li > < li class = "progresscurrentchapter" > 4< / li > < li class = "progresssection" > < a href = "4-fc.html" > fc< / a > < / li > < li class = "progresssection" > < a href = "4-i6i.html" > i6i< / a > < / li > < li class = "progresssection" > < a href = "4-lt.html" > lt< / a > < / li > < li class = "progresssection" > < a href = "4-jl.html" > jl< / a > < / li > < li class = "progresssection" > < a href = "4-ct.html" > ct< / a > < / li > < li class = "progresssection" > < a href = "4-rtn.html" > rtn< / a > < / li > < li class = "progresssection" > < a href = "4-iti.html" > iti< / a > < / li > < li class = "progresssection" > < a href = "4-plg.html" > plg< / a > < / li > < li class = "progresscurrent" > pc< / li > < li class = "progresssection" > < a href = "4-ts.html" > ts< / a > < / li > < li class = "progresssection" > < a href = "4-itc.html" > itc< / a > < / li > < li class = "progresssection" > < a href = "4-uoart.html" > uoart< / a > < / li > < li class = "progresssection" > < a href = "4-rsfk.html" > rsfk< / a > < / li > < li class = "progresssection" > < a href = "4-efart.html" > efart< / a > < / li > < li class = "progresssection" > < a href = "4-vart.html" > vart< / a > < / li > < li class = "progresssection" > < a href = "4-rart.html" > rart< / a > < / li > < li class = "progresssection" > < a href = "4-rsft.html" > rsft< / a > < / li > < li class = "progressnext" > < a href = "4-ts.html" > ❯ < / a > < / li > < / ul > < / div >
2020-05-03 03:01:21 +03:00
< / nav > <!-- End of weave -->
2019-03-17 14:40:57 +02:00
2020-03-19 02:11:25 +02:00
< / main >
2019-03-17 14:40:57 +02:00
< / body >
< / html >