Last active
August 29, 2015 14:18
-
-
Save DuckOfDoom/f719499d95d1596f79c2 to your computer and use it in GitHub Desktop.
Type Members Layout
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| <?xml version="1.0" encoding="utf-8" ?> | |
| <!-- | |
| I. Overall | |
| I.1 Each pattern can have <Match>....</Match> element. For the given type declaration, the pattern with the match, evaluated to 'true' with the largest weight, will be used | |
| I.2 Each pattern consists of the sequence of <Entry>...</Entry> elements. Type member declarations are distributed between entries | |
| I.3 If pattern has RemoveAllRegions="true" attribute, then all regions will be cleared prior to reordering. Otherwise, only auto-generated regions will be cleared | |
| I.4 The contents of each entry is sorted by given keys (First key is primary, next key is secondary, etc). Then the declarations are grouped and en-regioned by given property | |
| II. Available match operands | |
| Each operand may have Weight="..." attribute. This weight will be added to the match weight if the operand is evaluated to 'true'. | |
| The default weight is 1 | |
| II.1 Boolean functions: | |
| II.1.1 <And>....</And> | |
| II.1.2 <Or>....</Or> | |
| II.1.3 <Not>....</Not> | |
| II.2 Operands | |
| II.2.1 <Kind Is="..."/>. Kinds are: class, struct, interface, enum, delegate, type, constructor, destructor, property, indexer, method, operator, field, constant, event, member | |
| II.2.2 <Name Is="..." [IgnoreCase="true/false"] />. The 'Is' attribute contains regular expression | |
| II.2.3 <HasAttribute CLRName="..." [Inherit="true/false"] />. The 'CLRName' attribute contains regular expression | |
| II.2.4 <Access Is="..."/>. The 'Is' values are: public, protected, internal, protected-internal, private | |
| II.2.5 <Static/> | |
| II.2.6 <Abstract/> | |
| II.2.7 <Virtual/> | |
| II.2.8 <Override/> | |
| II.2.9 <Sealed/> | |
| II.2.10 <Readonly/> | |
| II.2.11 <ImplementsInterface CLRName="..."/>. The 'CLRName' attribute contains regular expression | |
| II.2.12 <HandlesEvent /> | |
| --> | |
| <Patterns xmlns="urn:shemas-jetbrains-com:member-reordering-patterns"> | |
| <!--Default pattern--> | |
| <Pattern> | |
| <!-- dependency properties--> | |
| <Entry> | |
| <Match> | |
| <And> | |
| <Kind Is="property"/> | |
| <HasAttribute CLRName="UnityDI.DependencyAttribute"/> | |
| </And> | |
| </Match> | |
| <Sort> | |
| <Name/> | |
| </Sort> | |
| </Entry> | |
| <!-- inject properties--> | |
| <Entry> | |
| <Match> | |
| <And> | |
| <Kind Is="property"/> | |
| <HasAttribute CLRName="Inject"/> | |
| </And> | |
| </Match> | |
| <Sort> | |
| <Name/> | |
| </Sort> | |
| </Entry> | |
| <!-- serialize field attributed --> | |
| <Entry> | |
| <Match> | |
| <And> | |
| <Kind Is="field"/> | |
| <HasAttribute CLRName="UnityEngine.SerializeField"/> | |
| </And> | |
| </Match> | |
| <Sort> | |
| <Name/> | |
| </Sort> | |
| </Entry> | |
| <!--static fields and constants--> | |
| <Entry> | |
| <Match> | |
| <Or> | |
| <Kind Is="constant"/> | |
| <And> | |
| <Kind Is="field"/> | |
| <Static/> | |
| </And> | |
| </Or> | |
| </Match> | |
| <Sort> | |
| <Kind Order="constant field"/> | |
| </Sort> | |
| </Entry> | |
| <!--instance fields--> | |
| <Entry> | |
| <Match> | |
| <And> | |
| <Kind Is="field"/> | |
| <Not> | |
| <Static/> | |
| </Not> | |
| </And> | |
| </Match> | |
| <Sort> | |
| <Readonly/> | |
| <Name/> | |
| </Sort> | |
| </Entry> | |
| <!--Constructors. Place static one first--> | |
| <Entry> | |
| <Match> | |
| <Kind Is="constructor"/> | |
| </Match> | |
| <Sort> | |
| <Static/> | |
| </Sort> | |
| </Entry> | |
| <!--public delegate--> | |
| <Entry> | |
| <Match> | |
| <And Weight="100"> | |
| <Access Is="public"/> | |
| <Kind Is="delegate"/> | |
| </And> | |
| </Match> | |
| <Sort> | |
| <Name/> | |
| </Sort> | |
| </Entry> | |
| <!--events--> | |
| <Entry> | |
| <Match> | |
| <And Weight="100"> | |
| <Access Is="public"/> | |
| <Kind Is="event"/> | |
| </And> | |
| </Match> | |
| <Sort> | |
| <Name/> | |
| </Sort> | |
| </Entry> | |
| <!--properties, indexers--> | |
| <Entry> | |
| <Match> | |
| <And> | |
| <Kind Is="property"/> | |
| <Access Is="public"/> | |
| </And> | |
| </Match> | |
| <Sort> | |
| <Name/> | |
| </Sort> | |
| </Entry> | |
| <!--Setup/Teardown--> | |
| <Entry> | |
| <Match> | |
| <And> | |
| <Kind Is="method"/> | |
| <Or> | |
| <HasAttribute CLRName="NUnit.Framework.SetUpAttribute" Inherit="true"/> | |
| <HasAttribute CLRName="NUnit.Framework.TearDownAttribute" Inherit="true"/> | |
| <HasAttribute CLRName="NUnit.Framework.FixtureSetUpAttribute" Inherit="true"/> | |
| <HasAttribute CLRName="NUnit.Framework.FixtureTearDownAttribute" Inherit="true"/> | |
| </Or> | |
| </And> | |
| </Match> | |
| </Entry> | |
| <!--Test methods--> | |
| <Entry> | |
| <Match> | |
| <And Weight="100"> | |
| <Kind Is="method"/> | |
| <HasAttribute CLRName="NUnit.Framework.TestAttribute" Inherit="false"/> | |
| </And> | |
| </Match> | |
| <Sort> | |
| <Name/> | |
| </Sort> | |
| </Entry> | |
| <Entry> | |
| <Match> | |
| <And> | |
| <Access Is="public"/> | |
| <Kind Is="property"/> | |
| </And> | |
| </Match> | |
| <Sort> | |
| <Name/> | |
| </Sort> | |
| </Entry> | |
| <Entry> | |
| <Match> | |
| <And> | |
| <Access Is="public"/> | |
| <Kind Is="method"/> | |
| </And> | |
| </Match> | |
| <Sort> | |
| <Name/> | |
| </Sort> | |
| </Entry> | |
| <Entry> | |
| <Match> | |
| <And> | |
| <Access Is="protected"/> | |
| <Kind Is="property"/> | |
| </And> | |
| </Match> | |
| <Sort> | |
| <Name/> | |
| </Sort> | |
| </Entry> | |
| <Entry> | |
| <Match> | |
| <And> | |
| <Access Is="protected"/> | |
| <Kind Is="method"/> | |
| </And> | |
| </Match> | |
| <Sort> | |
| <Name/> | |
| </Sort> | |
| </Entry> | |
| <Entry> | |
| <Match> | |
| <And> | |
| <Access Is="private"/> | |
| <Kind Is="property"/> | |
| </And> | |
| </Match> | |
| <Sort> | |
| <Name/> | |
| </Sort> | |
| </Entry> | |
| <Entry> | |
| <Match> | |
| <And> | |
| <Access Is="private"/> | |
| <Kind Is="method"/> | |
| </And> | |
| </Match> | |
| <Sort> | |
| <Name/> | |
| </Sort> | |
| </Entry> | |
| </Pattern> | |
| </Patterns> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment