-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathindex.html
92 lines (92 loc) · 51.2 KB
/
index.html
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
<!doctype html><html lang=en dir=ltr class="docs-wrapper plugin-docs plugin-id-default docs-version-current docs-doc-page docs-doc-id-Search_" data-has-hydrated=false><meta charset=UTF-8><meta name=generator content="Docusaurus v3.7.0"><title data-rh=true>Search | lsfusion documentation</title><meta data-rh=true name=viewport content="width=device-width, initial-scale=1.0"><meta data-rh=true name=twitter:card content=summary_large_image><meta data-rh=true property=og:url content=https://lsfusion.github.io/Search_/><meta data-rh=true property=og:locale content=en><meta data-rh=true property=og:locale:alternate content=ru><meta data-rh=true name=docusaurus_locale content=en><meta data-rh=true name=docsearch:language content=en><meta data-rh=true name=docusaurus_version content=current><meta data-rh=true name=docusaurus_tag content=docs-default-current><meta data-rh=true name=docsearch:version content=current><meta data-rh=true name=docsearch:docusaurus_tag content=docs-default-current><meta data-rh=true property=og:title content="Search | lsfusion documentation"><meta data-rh=true name=description content="Each element in the system contains certain information that allows it to be uniquely identified among other elements of the system. However, providing all the information about the element in each place it is used is rather cumbersome; so the platform has a special search algorithm, which allows you to find the desired element with only part of the information about it (for example, only a short name and the module which uses the item you are searching for)."><meta data-rh=true property=og:description content="Each element in the system contains certain information that allows it to be uniquely identified among other elements of the system. However, providing all the information about the element in each place it is used is rather cumbersome; so the platform has a special search algorithm, which allows you to find the desired element with only part of the information about it (for example, only a short name and the module which uses the item you are searching for)."><link data-rh=true rel=icon href=/img/favicon.ico><link data-rh=true rel=canonical href=https://lsfusion.github.io/Search_/><link data-rh=true rel=alternate href=https://lsfusion.github.io/Search_/ hreflang=en><link data-rh=true rel=alternate href=https://lsfusion.github.io/ru/Search_/ hreflang=ru><link data-rh=true rel=alternate href=https://lsfusion.github.io/Search_/ hreflang=x-default><link data-rh=true rel=preconnect href=https://KNJZ5D60XY-dsn.algolia.net crossorigin=anonymous><link rel=alternate type=application/rss+xml href=/blog/rss.xml title="lsfusion documentation RSS Feed"><link rel=alternate type=application/atom+xml href=/blog/atom.xml title="lsfusion documentation Atom Feed"><link rel=preconnect href=https://www.google-analytics.com><script>window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)},ga.l=+new Date,ga("create","UA-38678623-1","auto"),ga("send","pageview")</script><script async src=https://www.google-analytics.com/analytics.js></script><link rel=preconnect href=https://www.google-analytics.com><link rel=preconnect href=https://www.googletagmanager.com><script async src="https://www.googletagmanager.com/gtag/js?id=G-9PP67L9JM9"></script><script>function gtag(){dataLayer.push(arguments)}window.dataLayer=window.dataLayer||[],gtag("js",new Date),gtag("config","G-9PP67L9JM9",{})</script><link rel=search type=application/opensearchdescription+xml title="lsfusion documentation" href=/opensearch.xml><link rel=stylesheet href=/assets/css/styles.f84aece3.css><script src=/assets/js/runtime~main.5131c1a5.js defer></script><script src=/assets/js/main.965dccbd.js defer></script><body class=navigation-with-keyboard><script>!function(){var t,e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t=null!==e?e:"light",document.documentElement.setAttribute("data-theme",t)}(),function(){try{for(var[t,e]of new URLSearchParams(window.location.search).entries())if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id=__docusaurus><div role=region aria-label="Skip to main content"><a class=skipToContent_fXgn href=#__docusaurus_skipToContent_fallback>Skip to main content</a></div><nav aria-label=Main class="navbar navbar--fixed-top"><div class=navbar__inner><div class=navbar__items><button aria-label="Toggle navigation bar" aria-expanded=false class="navbar__toggle clean-btn" type=button><svg width=30 height=30 viewBox="0 0 30 30" aria-hidden=true><path stroke=currentColor stroke-linecap=round stroke-miterlimit=10 stroke-width=2 d="M4 7h22M4 15h22M4 23h22"/></svg></button><a class=navbar__brand href=/><div class=navbar__logo><img src=/img/logo.png alt=Logo class="themedComponent_mlkZ themedComponent--light_NVdE"><img src=/img/logo.png alt=Logo class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate"></b></a><a class="navbar__item navbar__link" href=/Install/>Install</a><a aria-current=page class="navbar__item navbar__link navbar__link--active" href=/>Learn</a></div><div class="navbar__items navbar__items--right"><a href=https://github.com/lsfusion/platform target=_blank rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width=13.5 height=13.5 aria-hidden=true viewBox="0 0 24 24" class=iconExternalLink_nPIU><path fill=currentColor d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"/></svg></a><div class="navbar__item dropdown dropdown--hoverable dropdown--right"><a class=navbar__link aria-haspopup=true aria-expanded=false role=button href=/Search_/>6.x</a><ul class=dropdown__menu><li><a aria-current=page class="dropdown__link dropdown__link--active" href=/Search_/>6.x</a><li><a class=dropdown__link href=/v5/Search_/>5.x</a><li><a class=dropdown__link href=/v4/Search_/>4.x</a></ul></div><div class="navbar__item dropdown dropdown--hoverable dropdown--right"><a href=# aria-haspopup=true aria-expanded=false role=button class=navbar__link><svg viewBox="0 0 24 24" width=20 height=20 aria-hidden=true class=iconLanguage_nlXk><path fill=currentColor d="M12.87 15.07l-2.54-2.51.03-.03c1.74-1.94 2.98-4.17 3.71-6.53H17V4h-7V2H8v2H1v1.99h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11.76-2.04zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2l-4.5-12zm-2.62 7l1.62-4.33L19.12 17h-3.24z"/></svg>English</a><ul class=dropdown__menu><li><a href=/Search_/ target=_self rel="noopener noreferrer" class="dropdown__link dropdown__link--active" lang=en>English</a><li><a href=/ru/Search_/ target=_self rel="noopener noreferrer" class=dropdown__link lang=ru>Русский</a></ul></div><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type=button disabled title="Switch between dark and light mode (currently light mode)" aria-label="Switch between dark and light mode (currently light mode)" aria-live=polite aria-pressed=false><svg viewBox="0 0 24 24" width=24 height=24 class=lightToggleIcon_pyhR><path fill=currentColor d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"/></svg><svg viewBox="0 0 24 24" width=24 height=24 class=darkToggleIcon_wfgR><path fill=currentColor d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"/></svg></button></div><div class=navbarSearchContainer_Bca1><button type=button class="DocSearch DocSearch-Button" aria-label="Search (Command+K)"><span class=DocSearch-Button-Container><svg width=20 height=20 class=DocSearch-Search-Icon viewBox="0 0 20 20" aria-hidden=true><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke=currentColor fill=none fill-rule=evenodd stroke-linecap=round stroke-linejoin=round /></svg><span class=DocSearch-Button-Placeholder>Search</span></span><span class=DocSearch-Button-Keys></span></button></div></div></div><div role=presentation class=navbar-sidebar__backdrop></div></nav><div id=__docusaurus_skipToContent_fallback class="main-wrapper mainWrapper_z2l0"><div class=docsWrapper_hBAB><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type=button></button><div class=docRoot_UBD9><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class=sidebarViewport_aRkj><div class=sidebar_njMd><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class=menu__link href=/>Overview</a><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class=menu__list-item-collapsible><a class="menu__link menu__link--sublist menu__link--active" href=/Paradigm/>Paradigm</a><button aria-label="Collapse sidebar category 'Paradigm'" aria-expanded=true type=button class="clean-btn menu__caret"></button></div><ul style=display:block;overflow:visible;height:auto class=menu__list><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class=menu__list-item-collapsible><a class="menu__link menu__link--sublist" tabindex=0 href=/Logical_model/>Logical model</a><button aria-label="Expand sidebar category 'Logical model'" aria-expanded=false type=button class="clean-btn menu__caret"></button></div><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class=menu__list-item-collapsible><a class="menu__link menu__link--sublist menu__link--active" tabindex=0 href=/Physical_model/>Physical model</a><button aria-label="Collapse sidebar category 'Physical model'" aria-expanded=true type=button class="clean-btn menu__caret"></button></div><ul style=display:block;overflow:visible;height:auto class=menu__list><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class=menu__list-item-collapsible><a class="menu__link menu__link--sublist menu__link--active" tabindex=0 href=/Development/>Development</a><button aria-label="Collapse sidebar category 'Development'" aria-expanded=true type=button class="clean-btn menu__caret"></button></div><ul style=display:block;overflow:visible;height:auto class=menu__list><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item"><div class=menu__list-item-collapsible><a class="menu__link menu__link--sublist menu__link--active" tabindex=0 href=/Element_identification/>Element identification</a><button aria-label="Collapse sidebar category 'Element identification'" aria-expanded=true type=button class="clean-btn menu__caret"></button></div><ul style=display:block;overflow:visible;height:auto class=menu__list><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class=menu__link tabindex=0 href=/Naming/>Naming</a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-5 menu__list-item"><a class="menu__link menu__link--active" aria-current=page tabindex=0 href=/Search_/>Search</a></ul><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class=menu__list-item-collapsible><a class="menu__link menu__link--sublist" tabindex=0 href=/Modularity/>Modularity</a><button aria-label="Expand sidebar category 'Modularity'" aria-expanded=false type=button class="clean-btn menu__caret"></button></div><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class=menu__link tabindex=0 href=/Metaprogramming/>Metaprogramming</a><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-4 menu__list-item menu__list-item--collapsed"><div class=menu__list-item-collapsible><a class="menu__link menu__link--sublist" tabindex=0 href=/Integration/>Integration</a><button aria-label="Expand sidebar category 'Integration'" aria-expanded=false type=button class="clean-btn menu__caret"></button></div><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class=menu__link tabindex=0 href=/Migration/>Migration</a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class=menu__link tabindex=0 href=/Internationalization/>Internationalization</a></ul><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class=menu__list-item-collapsible><a class="menu__link menu__link--sublist" tabindex=0 href=/Execution/>Execution</a><button aria-label="Expand sidebar category 'Execution'" aria-expanded=false type=button class="clean-btn menu__caret"></button></div><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item menu__list-item--collapsed"><div class=menu__list-item-collapsible><a class="menu__link menu__link--sublist" tabindex=0 href=/Management/>Management</a><button aria-label="Expand sidebar category 'Management'" aria-expanded=false type=button class="clean-btn menu__caret"></button></div></ul></ul><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class=menu__list-item-collapsible><a class="menu__link menu__link--sublist" href=/Language/>Language</a><button aria-label="Collapse sidebar category 'Language'" aria-expanded=true type=button class="clean-btn menu__caret"></button></div><ul style=display:block;overflow:visible;height:auto class=menu__list><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class=menu__link tabindex=0 href=/Tokens/>Tokens</a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class=menu__link tabindex=0 href=/IDs/>IDs</a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class=menu__link tabindex=0 href=/Literals/>Literals</a><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class=menu__list-item-collapsible><a class="menu__link menu__link--sublist" tabindex=0 href=/Statements/>Statements</a><button aria-label="Expand sidebar category 'Statements'" aria-expanded=false type=button class="clean-btn menu__caret"></button></div><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class=menu__link tabindex=0 href=/Comments/>Comments</a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class=menu__link tabindex=0 href=/Coding_conventions/>Coding conventions</a></ul><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class=menu__link href=/IDE/>IDE</a><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class=menu__list-item-collapsible><a class="menu__link menu__link--sublist" href=/Learning_materials/>Learning materials</a><button aria-label="Collapse sidebar category 'Learning materials'" aria-expanded=true type=button class="clean-btn menu__caret"></button></div><ul style=display:block;overflow:visible;height:auto class=menu__list><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class=menu__list-item-collapsible><a class="menu__link menu__link--sublist" tabindex=0 href=/Examples/>Examples</a><button aria-label="Expand sidebar category 'Examples'" aria-expanded=false type=button class="clean-btn menu__caret"></button></div><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class=menu__list-item-collapsible><a class="menu__link menu__link--sublist" tabindex=0 href=/How-to/>How-to</a><button aria-label="Expand sidebar category 'How-to'" aria-expanded=false type=button class="clean-btn menu__caret"></button></div></ul><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class=menu__link href=/Online_demo/>Online demo</a></ul></nav></div></div></aside><main class=docMainContainer_TBSr><div class="container padding-top--md padding-bottom--lg"><div class=row><div class="col docItemCol_VOVn"><div class=docItemContainer_Djhp><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label=Breadcrumbs><ul class=breadcrumbs itemscope itemtype=https://schema.org/BreadcrumbList><li class=breadcrumbs__item><a aria-label="Home page" class=breadcrumbs__link href=/><svg viewBox="0 0 24 24" class=breadcrumbHomeIcon_YNFT><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill=currentColor /></svg></a><li itemscope itemprop=itemListElement itemtype=https://schema.org/ListItem class=breadcrumbs__item><a class=breadcrumbs__link itemprop=item href=/Paradigm/><span itemprop=name>Paradigm</span></a><meta itemprop=position content=1><li itemscope itemprop=itemListElement itemtype=https://schema.org/ListItem class=breadcrumbs__item><a class=breadcrumbs__link itemprop=item href=/Physical_model/><span itemprop=name>Physical model</span></a><meta itemprop=position content=2><li itemscope itemprop=itemListElement itemtype=https://schema.org/ListItem class=breadcrumbs__item><a class=breadcrumbs__link itemprop=item href=/Development/><span itemprop=name>Development</span></a><meta itemprop=position content=3><li itemscope itemprop=itemListElement itemtype=https://schema.org/ListItem class=breadcrumbs__item><a class=breadcrumbs__link itemprop=item href=/Element_identification/><span itemprop=name>Element identification</span></a><meta itemprop=position content=4><li itemscope itemprop=itemListElement itemtype=https://schema.org/ListItem class="breadcrumbs__item breadcrumbs__item--active"><span class=breadcrumbs__link itemprop=name>Search</span><meta itemprop=position content=5></ul></nav><span class="theme-doc-version-badge badge badge--secondary">Version: 6.x</span><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type=button class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Search</h1></header><p>Each element in the system contains certain information that allows it <a href=/Element_identification/>to be uniquely identified</a> among other elements of the system. However, providing all the information about the element in each place it is used is rather cumbersome; so the platform has a special <em>search</em> algorithm, which allows you to find the desired element with only part of the information about it (for example, only a short <a href=/Naming/>name</a> and the <a href=/Modules/>module</a> which uses the item you are searching for).</p>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id=search-steps>Search steps<a href=#search-steps class=hash-link aria-label="Direct link to Search steps" title="Direct link to Search steps"></a></h2>
<p>In general, a search algorithm consists of one or more <em>search steps</em>. The steps are executed one after another so that if the required element is not found in the first step, the second step is executed, then the next and so on until either the required element is found or the steps are completed (in the latter case, the platform will throw an error that the element was not found).</p>
<p>Each search step, in turn, consists of several substeps:</p>
<ul>
<li><em>Step conditions</em> - a set of conditions, each of which must be met in order for the step to make sense at all. This check is done before any elements of the system are examined, and depends entirely on the context of the call.</li>
<li><em>Selection conditions</em> - a set of conditions, each of which must be met for any element that is potentially the required element. In this step, the elements are independent of each other, and the result of this step is a selected <em>set of candidates</em>, to be the required element.</li>
<li><em>Selection operations</em> - a list of operations each of which filters a set of candidates, depending on which of the candidates in this set is potentially "better" (that is, with a higher probability) suited for the role of the required element.</li>
</ul>
<p>If, after performing the last selection operation, there remains:</p>
<ul>
<li>exactly one element - it is considered to be the required element.</li>
<li>more than one element - the platform will throw an error that it is not possible to unambiguously determine the required element</li>
<li>zero elements - the platform will either go to the next search step (if one exists) or it will throw an error that the element was not found.</li>
</ul>
<p>Below are the steps, conditions and operations of the search algorithm, depending on the type of the required element:</p>
<table><thead><tr><th>Element type<th>Search step<th>Step conditions<th>Selection conditions<th>Selection operations<tbody><tr><td><a href=/Modules/>Modules</a><td><td><td><ul><li>Name equals<a href=#name>...</a></ul><td><tr><td><a href=/Forms/>Forms</a>, <a href=/User_classes/>Classes</a>, <a href=/Navigator/>Navigator Elements</a>, <a href=/Groups_of_properties_and_actions/>Property and action groups</a> , <a href=/Tables/>Tables</a>, <a href=/Navigator_design/>Navigator Design</a><td><td><td><ul><li>Name matches<a href=#name>...</a><li>Located in dependent module<a href=#module>...</a><li>Located in specified namespace (if explicitly specified)<a href=#namespace>...</a></ul><td><ul><li>Selection of a priority namespace (if the namespace is not explicitly specified)<a href=#priority>...</a></ul><tr><td><a href=/Metaprogramming/>Metacodes</a><td><td><td><ul><li>Name matches<a href=#name>...</a><li>Located in dependent module<a href=#module>...</a><li>Located in specified namespace (if explicitly specified)<a href=#namespace>...</a><li>Number of parameters matches<a href=#metacode>...</a></ul><td><ul><li>Selection of a priority namespace (if the namespace is not explicitly specified)<a href=#priority>...</a></ul><tr><td><a href=/Properties/>Properties</a>, <a href=/Actions/>Actions</a><td>Local<td><ul><li>Search for property inside action<a href=#locals>...</a><li>Namespace not specified explicitly<a href=#nonamespace>...</a></ul><td><ul><li>Name matches<a href=#name>...</a><li>Located upper in the stack<a href=#stack>...</a><li>Parameters classes match<a href=#direct>...</a></ul><td><ul><li>Selection of more specific classes of parameters<a href=#concrete>...</a></ul><tr><td><td>Local common<td><ul><li>Search for property inside action<a href=#locals>...</a><li>Namespace not specified explicitly<a href=#nonamespace>...</a></ul><td><ul><li>Name matches<a href=#name>...</a><li>Located upper in the stack<a href=#stack>...</a><li>Parameters classes intersect<a href=#indirect>...</a></ul><td><tr><td><td>Global<td><td><ul><li>Name matches<a href=#name>...</a><li>Located in dependent module<a href=#module>...</a><li>Located in specified namespace (if explicitly specified)<a href=#namespace>...</a><li>Parameters classes match<a href=#direct>...</a><li>Abstract property (if an abstract property is being searched for)<a href=#abstract>...</a></ul><td><ul><li>Selection of a priority namespace (if the namespace is not explicitly specified)<a href=#priority>...</a><li>Selection of non-matching classes of parameters (if an abstract property is being searched for)<a href=#notequals>...</a><li>Selection of more specific classes of parameters<a href=#concrete>...</a></ul><tr><td><td>Global common<td><ul><li>Not searching for an abstract property<a href=#notabstract>...</a></ul><td><ul><li>Name matches<a href=#name>...</a><li>Located in dependent module<a href=#module>...</a><li>Located in specified namespace (if explicitly specified)<a href=#namespace>...</a><li>Parameters classes intersect<a href=#indirect>...</a></ul><td><ul><li>Selection of a priority namespace (if the namespace is not explicitly specified)<a href=#priority>...</a></ul></table>
<p>Description of steps, conditions and operations of the search algorithm:</p>
<h3 class="anchor anchorWithStickyNavbar_LWe7" id=name>Name matches<a href=#name class=hash-link aria-label="Direct link to Name matches" title="Direct link to Name matches"></a></h3>
<p>The name of the candidate matches the search name (must always be specified explicitly when searching). The comparison is case-sensitive (i.e. <code>aA != AA</code>).</p>
<h3 class="anchor anchorWithStickyNavbar_LWe7" id=module>Located in dependent module<a href=#module class=hash-link aria-label="Direct link to Located in dependent module" title="Direct link to Located in dependent module"></a></h3>
<p>Candidate module <a href=/Modules/#depends>depends on</a> the module in which the search is performed.</p>
<h3 class="anchor anchorWithStickyNavbar_LWe7" id=namespace>Located in specified namespace (if explicitly specified)<a href=#namespace class=hash-link aria-label="Direct link to Located in specified namespace (if explicitly specified)" title="Direct link to Located in specified namespace (if explicitly specified)"></a></h3>
<p><a href=/Naming/#namespace>Namespace</a> of the candidate equals the namespace of the search (if this namespace is specified explicitly).</p>
<h3 class="anchor anchorWithStickyNavbar_LWe7" id=priority>Selection of a priority namespace (if the namespace is not explicitly specified)<a href=#priority class=hash-link aria-label="Direct link to Selection of a priority namespace (if the namespace is not explicitly specified)" title="Direct link to Selection of a priority namespace (if the namespace is not explicitly specified)"></a></h3>
<p>If the current set contains candidates from the namespace in which the search is performed, all other candidates are deleted from the set of candidates, and the selection operation is completed. If not, a similar action is repeated for <em>priority</em> namespaces of the module in which the search is being performed (in the order in which these priority namespaces were set). If nothing is found for them either, the set of candidates remains unchanged.</p>
<h3 class="anchor anchorWithStickyNavbar_LWe7" id=metacode>Number of parameters matches<a href=#metacode class=hash-link aria-label="Direct link to Number of parameters matches" title="Direct link to Number of parameters matches"></a></h3>
<p>The number of parameters of the candidate is equal to the number of parameters of the call.</p>
<h3 class="anchor anchorWithStickyNavbar_LWe7" id=locals>Search for property inside action<a href=#locals class=hash-link aria-label="Direct link to Search for property inside action" title="Direct link to Search for property inside action"></a></h3>
<p>This step is only executed to search for a property, and only if this search is inside some action (and not, for example, in a form declaration).</p>
<h3 class="anchor anchorWithStickyNavbar_LWe7" id=nonamespace>Namespace not specified explicitly<a href=#nonamespace class=hash-link aria-label="Direct link to Namespace not specified explicitly" title="Direct link to Namespace not specified explicitly"></a></h3>
<p>This step is only executed if no search namespace is specified.</p>
<h3 class="anchor anchorWithStickyNavbar_LWe7" id=stack>Located upper in the stack<a href=#stack class=hash-link aria-label="Direct link to Located upper in the stack" title="Direct link to Located upper in the stack"></a></h3>
<p>The candidate is a <a href=/Data_properties_DATA/#local>local property</a> and:</p>
<ul>
<li>is declared inside an operator of a <a href=/Sequence/>sequence</a> that executes an action that refers to the required element.</li>
<li>is declared earlier than the action that directly refers to the required element.</li>
</ul>
<h3 class="anchor anchorWithStickyNavbar_LWe7" id=direct>Suitable classes of parameters<a href=#direct class=hash-link aria-label="Direct link to Suitable classes of parameters" title="Direct link to Suitable classes of parameters"></a></h3>
<p><a href=#call>Classes of call parameters</a> <a href=#directclasses>match</a> <a href=#decl>the classes of the candidate's parameters</a> or classes of the referring parameters are unknown.</p>
<h3 class="anchor anchorWithStickyNavbar_LWe7" id=indirect>Classes of parameters intersect<a href=#indirect class=hash-link aria-label="Direct link to Classes of parameters intersect" title="Direct link to Classes of parameters intersect"></a></h3>
<p><a href=#call>Classes of the referring parameters</a> <a href=#indirectclasses>intersect</a> with <a href=#decl>classes of the candidate's parameters</a>.</p>
<h3 class="anchor anchorWithStickyNavbar_LWe7" id=concrete>Selection of more specific classes of parameters<a href=#concrete class=hash-link aria-label="Direct link to Selection of more specific classes of parameters" title="Direct link to Selection of more specific classes of parameters"></a></h3>
<p>If the set of candidates includes properties <code>A</code> and <code>B</code> such that <code>A</code>'s parameter classes match <code>B</code>'s, then property <code>B</code> is removed from the set of candidates.</p>
<h3 class="anchor anchorWithStickyNavbar_LWe7" id=notabstract>Not searching for an abstract property<a href=#notabstract class=hash-link aria-label="Direct link to Not searching for an abstract property" title="Direct link to Not searching for an abstract property"></a></h3>
<p>This step is not executed if a property (action) is searched in the <a href=/Property_extension/>extension</a> operator of the property (action), and the searched property is an extensible (abstract) property (when searching for properties in the right one part of extension operator implementation the common search mechanism is used).</p>
<h3 class="anchor anchorWithStickyNavbar_LWe7" id=abstract>Abstract property (if an abstract property is being searched for)<a href=#abstract class=hash-link aria-label="Direct link to Abstract property (if an abstract property is being searched for)" title="Direct link to Abstract property (if an abstract property is being searched for)"></a></h3>
<p>The candidate is an <a href=/Property_extension/>abstract</a> property (action).</p>
<h3 class="anchor anchorWithStickyNavbar_LWe7" id=notequals>Selection of non-matching classes of parameters (if an abstract property is being searched for)<a href=#notequals class=hash-link aria-label="Direct link to Selection of non-matching classes of parameters (if an abstract property is being searched for)" title="Direct link to Selection of non-matching classes of parameters (if an abstract property is being searched for)"></a></h3>
<p>If:</p>
<ul>
<li>the search is for an abstract property (action)</li>
<li>the referring parameter classes are not explicitly specified</li>
<li>the set of candidates includes properties (actions) whose parameter classes are equal to the classes of the call's parameters</li>
<li>the set of candidates includes properties (actions) whose parameter classes are not equal to the classes of the call's parameters</li>
</ul>
<p>Then: properties (actions) from the third section are deleted from the set of candidates (i.e., those for which the parameter classes are equal to the classes of the referring parameters)</p>
<h3 class="anchor anchorWithStickyNavbar_LWe7" id=additional-operations-to-search-for-properties--actions>Additional operations to search for properties / actions<a href=#additional-operations-to-search-for-properties--actions class=hash-link aria-label="Direct link to Additional operations to search for properties / actions" title="Direct link to Additional operations to search for properties / actions"></a></h3>
<h4 class="anchor anchorWithStickyNavbar_LWe7" id=directclasses>Matching parameter classes<a href=#directclasses class=hash-link aria-label="Direct link to Matching parameter classes" title="Direct link to Matching parameter classes"></a></h4>
<p>Let's say that the classes of parameters <code>(A1, ..., An)</code> <em>match</em> the classes of parameters <code>(B1, ..., Bm)</code> if:</p>
<ul>
<li><code>n = m</code>, i.e. the number of parameters is the same</li>
<li>for each parameter <code>i</code>, one of the following is true:<!-- -->
<ul>
<li><code>Ai</code> is unknown (equal to <code>?</code>)</li>
<li><code>Bi</code> is unknown (equal to <code>?</code>)</li>
<li><code>Ai</code> <a href=/User_classes/#inheritance>inherits</a> from <code>Bi</code> (more specifically, the set of descendant classes of <code>Bi</code> includes the set of descendant classes of <code>Ai</code>)</li>
</ul>
</li>
</ul>
<h4 class="anchor anchorWithStickyNavbar_LWe7" id=indirectclasses>Intersection of parameter classes<a href=#indirectclasses class=hash-link aria-label="Direct link to Intersection of parameter classes" title="Direct link to Intersection of parameter classes"></a></h4>
<p>Let's say that the classes of parameters <code>(A1, ..., An)</code> <em>intersect with</em> the classes of parameters <code>(B1, ..., Bm)</code> if:</p>
<ul>
<li><code>n = m</code>, i.e. the number of parameters is the same</li>
<li>for each parameter <code>i</code>, one of the following is true:<!-- -->
<ul>
<li><code>Ai</code> is unknown (equal to <code>?</code>)</li>
<li><code>Bi</code> is unknown (equal to <code>?</code>)</li>
<li><code>Ai</code> and <code>Bi</code> have a common descendant (more specifically, the set of descendant classes of <code>Bi</code> intersects with the set of descendant classes of <code>Ai</code>)</li>
</ul>
</li>
</ul>
<h4 class="anchor anchorWithStickyNavbar_LWe7" id=call>Defining the classes of the referring parameters<a href=#call class=hash-link aria-label="Direct link to Defining the classes of the referring parameters" title="Direct link to Defining the classes of the referring parameters"></a></h4>
<p>When a call is made a property (action), if the parameter classes are not explicitly set, the platform tries to automatically determine them from the reference context. The following is an (incomplete) list of possible contexts, and how the platform determines the referring parameter classes in these cases:</p>
<table><thead><tr><th>Context<th>Call parameter classes<tbody><tr><td>Composition / Call<td>Classes of the values of argument properties<tr><td>Use on the form<td>Classes of objects taken by the required property/action<tr><td>Add actions to the navigator<td>Empty list<tr><td>Results of input, external access<td>Empty list<tr><td>Simple partitioning<td>Classes of the values of group properties (<code>BY</code> block)<tr><td>Nested local properties in session operators<td>Unknown<tr><td>Data import<td>If a list of values is imported (<code>LIST</code>), the empty list, otherwise a list of a single <code>INTEGER</code> element</table>
<h4 class="anchor anchorWithStickyNavbar_LWe7" id=decl>Determining parameter classes of a property (action)<a href=#decl class=hash-link aria-label="Direct link to Determining parameter classes of a property (action)" title="Direct link to Determining parameter classes of a property (action)"></a></h4>
<p>If the parameter classes of a property (action) are not explicitly specified, the platform tries to automatically determine them from the property (action) implementation. The following is an (incomplete) list of possible implementations, and how the platform determines property (action) parameter classes in these cases:</p>
<table><thead><tr><th>Context<th>Call parameter classes<tbody><tr><td>Expressions<td>Classes of the parameters (in the order of their use)<tr><td>Primary, Abstract<td>Classes are specified explicitly in the operator itself<tr><td>Formula, Internal Call<td>The classes can be specified explicitly in the operator itself; if not specified, all parameter classes are considered unknown (<code>?</code>) and the number is determined by the specifics of the particular operator<tr><td>Grouping<td>Classes of the values of group properties (<code>BY</code> block)<tr><td>Operations with object groups<td>Classes of objects belonging to the used objects group</table>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id=examples>Examples<a href=#examples class=hash-link aria-label="Direct link to Examples" title="Direct link to Examples"></a></h2>
<div class="language-lsf codeBlockContainer_Ckt0 theme-code-block" style=--prism-color:#403f53;--prism-background-color:#FBFBFB><div class=codeBlockContent_biex><pre tabindex=0 class="prism-code language-lsf codeBlock_bY9V thin-scrollbar" style=color:#403f53;background-color:#FBFBFB><code class=codeBlockLines_e6Vv><span class=token-line style=color:#403f53><span class="token plain">MODULE ResolveA;</span><br></span><span class=token-line style=color:#403f53><span class="token plain" style=display:inline-block></span><br></span><span class=token-line style=color:#403f53><span class="token plain">CLASS A;</span><br></span><span class=token-line style=color:#403f53><span class="token plain">CLASS B : A;</span><br></span><span class=token-line style=color:#403f53><span class="token plain">CLASS C : B;</span><br></span><span class=token-line style=color:#403f53><span class="token plain" style=display:inline-block></span><br></span><span class=token-line style=color:#403f53><span class="token plain">f = DATA INTEGER (A);</span><br></span><span class=token-line style=color:#403f53><span class="token plain">f = DATA INTEGER (C);</span><br></span><span class=token-line style=color:#403f53><span class="token plain" style=display:inline-block></span><br></span><span class=token-line style=color:#403f53><span class="token plain">META defineSmth(prm1)</span><br></span><span class=token-line style=color:#403f53><span class="token plain"> x = DATA INTEGER (prm1);</span><br></span><span class=token-line style=color:#403f53><span class="token plain">END</span><br></span><span class=token-line style=color:#403f53><span class="token plain" style=display:inline-block></span><br></span><span class=token-line style=color:#403f53><span class="token plain">META defineSmth(prm1, prm2)</span><br></span><span class=token-line style=color:#403f53><span class="token plain"> x = DATA INTEGER (prm1, prm2);</span><br></span><span class=token-line style=color:#403f53><span class="token plain">END</span><br></span></code></pre><div class=buttonGroup__atx><button type=button aria-label="Copy code to clipboard" title=Copy class=clean-btn><span class=copyButtonIcons_eSgA aria-hidden=true><svg viewBox="0 0 24 24" class=copyButtonIcon_y97N><path fill=currentColor d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"/></svg><svg viewBox="0 0 24 24" class=copyButtonSuccessIcon_LjdS><path fill=currentColor d=M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z /></svg></span></button></div></div></div>
<div class="language-lsf codeBlockContainer_Ckt0 theme-code-block" style=--prism-color:#403f53;--prism-background-color:#FBFBFB><div class=codeBlockContent_biex><pre tabindex=0 class="prism-code language-lsf codeBlock_bY9V thin-scrollbar" style=color:#403f53;background-color:#FBFBFB><code class=codeBlockLines_e6Vv><span class=token-line style=color:#403f53><span class="token plain">MODULE ResolveB;</span><br></span><span class=token-line style=color:#403f53><span class="token plain" style=display:inline-block></span><br></span><span class=token-line style=color:#403f53><span class="token plain">REQUIRE ResolveA;</span><br></span><span class=token-line style=color:#403f53><span class="token plain" style=display:inline-block></span><br></span><span class=token-line style=color:#403f53><span class="token plain">f = DATA INTEGER (B);</span><br></span><span class=token-line style=color:#403f53><span class="token plain" style=display:inline-block></span><br></span><span class=token-line style=color:#403f53><span class="token plain">h(C c) = f(c); // will find the upper declaration - ResolveB.f[B]</span><br></span><span class=token-line style=color:#403f53><span class="token plain">j(C c) = ResolveA.f(c); // will find the declaration in ResolveA - ResolveA.f[C]</span><br></span><span class=token-line style=color:#403f53><span class="token plain">z(C c) = f[A](c); // will find the declaration in ResolveA - ResolveA.f[A]</span><br></span><span class=token-line style=color:#403f53><span class="token plain" style=display:inline-block></span><br></span><span class=token-line style=color:#403f53><span class="token plain">test(C c, A a) {</span><br></span><span class=token-line style=color:#403f53><span class="token plain"> LOCAL f = INTEGER (B);</span><br></span><span class=token-line style=color:#403f53><span class="token plain" style=display:inline-block></span><br></span><span class=token-line style=color:#403f53><span class="token plain"> f(c) <- 1; // will find the upper declaration - f[B]</span><br></span><span class=token-line style=color:#403f53><span class="token plain"> MESSAGE f(a); // will find the upper declaration - f[B]</span><br></span><span class=token-line style=color:#403f53><span class="token plain"> ResolveB.f(c) <- 1; // will find the upper declaration in ResolveB - ResolveB.f[B]</span><br></span><span class=token-line style=color:#403f53><span class="token plain">}</span><br></span></code></pre><div class=buttonGroup__atx><button type=button aria-label="Copy code to clipboard" title=Copy class=clean-btn><span class=copyButtonIcons_eSgA aria-hidden=true><svg viewBox="0 0 24 24" class=copyButtonIcon_y97N><path fill=currentColor d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"/></svg><svg viewBox="0 0 24 24" class=copyButtonSuccessIcon_LjdS><path fill=currentColor d=M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z /></svg></span></button></div></div></div>
<div class="language-lsf codeBlockContainer_Ckt0 theme-code-block" style=--prism-color:#403f53;--prism-background-color:#FBFBFB><div class=codeBlockContent_biex><pre tabindex=0 class="prism-code language-lsf codeBlock_bY9V thin-scrollbar" style=color:#403f53;background-color:#FBFBFB><code class=codeBlockLines_e6Vv><span class=token-line style=color:#403f53><span class="token plain">MODULE ResolveC;</span><br></span><span class=token-line style=color:#403f53><span class="token plain" style=display:inline-block></span><br></span><span class=token-line style=color:#403f53><span class="token plain">REQUIRE ResolveB, ResolveA;</span><br></span><span class=token-line style=color:#403f53><span class="token plain" style=display:inline-block></span><br></span><span class=token-line style=color:#403f53><span class="token plain">NAMESPACE ResolveA;</span><br></span><span class=token-line style=color:#403f53><span class="token plain" style=display:inline-block></span><br></span><span class=token-line style=color:#403f53><span class="token plain">x(B b) = f(b); // will find the declaration in ResolveA - ResolveA.f[A]</span><br></span><span class=token-line style=color:#403f53><span class="token plain">y(B b) = ResolveB.f(b); // will find the declaration in ResolveA - ResolveB.f[B]</span><br></span><span class=token-line style=color:#403f53><span class="token plain" style=display:inline-block></span><br></span><span class=token-line style=color:#403f53><span class="token plain">@defineSmth(A, B); // will find the declaration in ResolveA - ResolveA.defineSmth(prm1, prm2)</span><br></span></code></pre><div class=buttonGroup__atx><button type=button aria-label="Copy code to clipboard" title=Copy class=clean-btn><span class=copyButtonIcons_eSgA aria-hidden=true><svg viewBox="0 0 24 24" class=copyButtonIcon_y97N><path fill=currentColor d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"/></svg><svg viewBox="0 0 24 24" class=copyButtonSuccessIcon_LjdS><path fill=currentColor d=M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z /></svg></span></button></div></div></div></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="row margin-top--sm theme-doc-footer-edit-meta-row"><div class=col><a href=https://github.com/lsfusion/platform/edit/master/docs/en/Search_.md target=_blank rel="noopener noreferrer" class=theme-edit-this-page><svg fill=currentColor height=20 width=20 viewBox="0 0 40 40" class=iconEdit_Z9Sw aria-hidden=true><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"/></g></svg>Edit this page</a></div><div class="col lastUpdated_JAkA"><span class=theme-last-updated>Last updated<!-- --> on <b><time datetime=2021-06-09T14:39:43.000Z itemprop=dateModified>Jun 9, 2021</time></b></span></div></div></footer></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href=/Naming/><div class=pagination-nav__sublabel>Previous</div><div class=pagination-nav__label>Naming</div></a><a class="pagination-nav__link pagination-nav__link--next" href=/Modularity/><div class=pagination-nav__sublabel>Next</div><div class=pagination-nav__label>Modularity</div></a></nav></div></div><div class="col col--3"><div class="tableOfContents_bqdL thin-scrollbar theme-doc-toc-desktop"><ul class="table-of-contents table-of-contents__left-border"><li><a href=#search-steps class="table-of-contents__link toc-highlight">Search steps</a><ul><li><a href=#name class="table-of-contents__link toc-highlight">Name matches</a><li><a href=#module class="table-of-contents__link toc-highlight">Located in dependent module</a><li><a href=#namespace class="table-of-contents__link toc-highlight">Located in specified namespace (if explicitly specified)</a><li><a href=#priority class="table-of-contents__link toc-highlight">Selection of a priority namespace (if the namespace is not explicitly specified)</a><li><a href=#metacode class="table-of-contents__link toc-highlight">Number of parameters matches</a><li><a href=#locals class="table-of-contents__link toc-highlight">Search for property inside action</a><li><a href=#nonamespace class="table-of-contents__link toc-highlight">Namespace not specified explicitly</a><li><a href=#stack class="table-of-contents__link toc-highlight">Located upper in the stack</a><li><a href=#direct class="table-of-contents__link toc-highlight">Suitable classes of parameters</a><li><a href=#indirect class="table-of-contents__link toc-highlight">Classes of parameters intersect</a><li><a href=#concrete class="table-of-contents__link toc-highlight">Selection of more specific classes of parameters</a><li><a href=#notabstract class="table-of-contents__link toc-highlight">Not searching for an abstract property</a><li><a href=#abstract class="table-of-contents__link toc-highlight">Abstract property (if an abstract property is being searched for)</a><li><a href=#notequals class="table-of-contents__link toc-highlight">Selection of non-matching classes of parameters (if an abstract property is being searched for)</a><li><a href=#additional-operations-to-search-for-properties--actions class="table-of-contents__link toc-highlight">Additional operations to search for properties / actions</a></ul><li><a href=#examples class="table-of-contents__link toc-highlight">Examples</a></ul></div></div></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="row footer__links"><div class="col footer__col"><div class=footer__title>Docs</div><ul class="footer__items clean-list"><li class=footer__item><a class=footer__link-item href=/>lsf docs</a><li class=footer__item><a href=https://lsfusion.org/ru/ed_materials target=_blank rel="noopener noreferrer" class=footer__link-item>Learning materials<svg width=13.5 height=13.5 aria-hidden=true viewBox="0 0 24 24" class=iconExternalLink_nPIU><path fill=currentColor d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"/></svg></a></ul></div><div class="col footer__col"><div class=footer__title>Community</div><ul class="footer__items clean-list"><li class=footer__item><a href=https://t.me/lsfusion_official target=_blank rel="noopener noreferrer" class=footer__link-item>Telegram<svg width=13.5 height=13.5 aria-hidden=true viewBox="0 0 24 24" class=iconExternalLink_nPIU><path fill=currentColor d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"/></svg></a><li class=footer__item><a href=https://join.slack.com/t/lsfusion/shared_invite/zt-1itj7vlmf-9aBIP__nj9iMJglDaecqXg target=_blank rel="noopener noreferrer" class=footer__link-item>Slack<svg width=13.5 height=13.5 aria-hidden=true viewBox="0 0 24 24" class=iconExternalLink_nPIU><path fill=currentColor d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"/></svg></a><li class=footer__item><a href=https://ru.stackoverflow.com/questions/tagged/lsfusion target=_blank rel="noopener noreferrer" class=footer__link-item>Stack Overflow<svg width=13.5 height=13.5 aria-hidden=true viewBox="0 0 24 24" class=iconExternalLink_nPIU><path fill=currentColor d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"/></svg></a></ul></div><div class="col footer__col"><div class=footer__title>More</div><ul class="footer__items clean-list"><li class=footer__item><a href=https://habr.com/ru/company/lsfusion/blog/ target=_blank rel="noopener noreferrer" class=footer__link-item>Habr<svg width=13.5 height=13.5 aria-hidden=true viewBox="0 0 24 24" class=iconExternalLink_nPIU><path fill=currentColor d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"/></svg></a><li class=footer__item><a href=https://github.com/lsfusion/platform target=_blank rel="noopener noreferrer" class=footer__link-item>GitHub<svg width=13.5 height=13.5 aria-hidden=true viewBox="0 0 24 24" class=iconExternalLink_nPIU><path fill=currentColor d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"/></svg></a></ul></div></div><div class="footer__bottom text--center"><div class=footer__copyright>Copyright © 2025 lsFusion Foundation. Built with Docusaurus.</div></div></div></footer></div>