Skip to content

Commit d82fc06

Browse files
Add more tags
1 parent b555597 commit d82fc06

File tree

1 file changed

+50
-28
lines changed

1 file changed

+50
-28
lines changed

building/tooling/analyzers/tags.md

Lines changed: 50 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,7 @@ Using a common set of tags will allow us to do some nifty things, like cross-tra
5555
| `technique:bit-manipulation` | Manipulating bits, usually via bitwise operators (e.g. AND, XOR or left shift) |
5656
| `technique:bit-shifting` | Using bit shifting (special case of `technique:bit-manipulation`) |
5757
| `technique:boolean-logic` | Using boolean logic (AND, OR, NOT) |
58+
| `technique:composition` | Using composition |
5859
| `technique:concurrency` | Using concurrency |
5960
| `technique:enumeration` | Enumerating over values |
6061
| `technique:exceptions` | Working with exceptions |
@@ -65,6 +66,7 @@ Using a common set of tags will allow us to do some nifty things, like cross-tra
6566
| `technique:laziness` | Using laziness, where values are produced only when needed |
6667
| `technique:locks` | Using locks to get exclusive access to resources |
6768
| `technique:looping` | Using loops |
69+
| `technique:math` | Using math |
6870
| `technique:memory-management` | Managing memory |
6971
| `technique:ordering` | Ordering data |
7072
| `technique:parallelism` | Running code in parallel |
@@ -84,16 +86,23 @@ Using a common set of tags will allow us to do some nifty things, like cross-tra
8486
| -------------------------------------------- | --------------------------------------------------------------- |
8587
| `construct:abstract-method` | An abstract method |
8688
| `construct:assignment` | Assign/bind a value to a variable/name |
89+
| `construct:boxing` | A boxed value |
8790
| `construct:catch` | Catch an exception |
91+
| `construct:comment` | A comment |
92+
| `construct:comparison` | Compare two values for their relative order |
93+
| `construct:concatenation` | Concatenate two values |
8894
| `construct:constant` | A constant (immutable) value |
8995
| `construct:constructor` | A constructor |
96+
| `construct:coroutine` | A coroutine |
9097
| `construct:default-interface-implementation` | A default implementation in an interface |
9198
| `construct:default` | A default value (e.g. for a parameter) |
99+
| `construct:destructuring` | Decontruct a value into its parts |
92100
| `construct:equality` | Compare equality of two values |
93101
| `construct:event` | An event |
94102
| `construct:explicit-conversion` | Exlicitly convert from one type to another type (aka "casting") |
95103
| `construct:extension-method` | An extension method |
96104
| `construct:field` | A field |
105+
| `construct:function` | A function |
97106
| `construct:generic-function` | A function that is parameterized with one or more types |
98107
| `construct:generic-method` | A method that is parameterized with one or more types |
99108
| `construct:generic-type` | A type that is parameterized with one or more types |
@@ -114,6 +123,7 @@ Using a common set of tags will allow us to do some nifty things, like cross-tra
114123
| `construct:multiple-dispatch` | Multiple dispatch |
115124
| `construct:named-argument` | An argument passed by name |
116125
| `construct:namespace` | A namespace (grouping of code) |
126+
| `construct:nesting` | Use nesting |
117127
| `construct:nested-function` | A nested function |
118128
| `construct:nested-type` | A nested type |
119129
| `construct:nullability` | Nullability, dealing with `null` values |
@@ -123,8 +133,11 @@ Using a common set of tags will allow us to do some nifty things, like cross-tra
123133
| `construct:pattern-matching` | Pattern matching |
124134
| `construct:property` | A property (getter/setter) |
125135
| `construct:setter` | A setter |
136+
| `construct:static-field` | A static field |
137+
| `construct:static-method` | A static method |
126138
| `construct:throw` | Throw/raise an exception |
127139
| `construct:try` | Explicitly handle an exception |
140+
| `construct:type-alias` | An alias for a type |
128141
| `construct:type-inference` | Automatically infer the type of a value |
129142
| `construct:type-test` | Test if a value has a specific type |
130143
| `construct:varargs` | Allow passing in zero or more values for a parameter |
@@ -134,23 +147,28 @@ Using a common set of tags will allow us to do some nifty things, like cross-tra
134147

135148
#### Control flow
136149

137-
| Tag | Description |
138-
| -------------------------------- | -------------------------------------------- |
139-
| `construct:async-await` | An `async`/`await` statement |
140-
| `construct:break` | Break from a loop |
141-
| `construct:conditional-access` | Conditionally access a method |
142-
| `construct:conditional-operator` | A ternary conditional operator |
143-
| `construct:continue` | Continue to the next iteration of a loop |
144-
| `construct:do-while-loop` | A `do-while` loop |
145-
| `construct:else` | An `else` statement |
146-
| `construct:finally` | Ensure that a certain code block always runs |
147-
| `construct:for-loop` | A `for` loop |
148-
| `construct:foreach` | A `foreach` loop |
149-
| `construct:if` | An `if` statement |
150-
| `construct:return` | Return from a function/method |
151-
| `construct:switch` | A `switch` |
152-
| `construct:while-loop` | A `while` loop |
153-
| `construct:yield` | Yield a value in a loop |
150+
| Tag | Description |
151+
| -------------------------------- | ------------------------------------------------------ |
152+
| `construct:async-await` | An `async`/`await` statement |
153+
| `construct:break` | Break from a loop |
154+
| `construct:conditional-access` | Conditionally access a method |
155+
| `construct:conditional-operator` | A ternary conditional operator |
156+
| `construct:continue` | Continue to the next iteration of a loop |
157+
| `construct:do-while-loop` | A `do-while` loop |
158+
| `construct:else` | An `else` statement |
159+
| `construct:finally` | Ensure that a certain code block always runs |
160+
| `construct:for-loop` | A `for` loop |
161+
| `construct:foreach` | A `foreach` loop |
162+
| `construct:if` | An `if` statement |
163+
| `construct:loop` | A loop |
164+
| `construct:pipe-backward` | A backward pipe |
165+
| `construct:pipe-forward` | A forward pipe |
166+
| `construct:pipeline` | A pipeline |
167+
| `construct:point-free` | Define functions without the arguments they operate on |
168+
| `construct:return` | Return from a function/method |
169+
| `construct:switch` | A `switch` |
170+
| `construct:while-loop` | A `while` loop |
171+
| `construct:yield` | Yield a value in a loop |
154172

155173
#### Arithmetic
156174

@@ -177,6 +195,8 @@ Using a common set of tags will allow us to do some nifty things, like cross-tra
177195
| `construct:multiply-assignment` | Multiplication and assignment combined |
178196
| `construct:multiply` | Multiplication |
179197
| `construct:overflow` | Arithmetic overflow |
198+
| `construct:decrement` | Decrement a value |
199+
| `construct:increment` | Increment a value |
180200
| `construct:postfix-decrement` | Decrement a value using postfix notation |
181201
| `construct:postfix-increment` | Increment a value using postfix notation |
182202
| `construct:prefix-decrement` | Decrement a value using prefix notation |
@@ -188,17 +208,19 @@ Using a common set of tags will allow us to do some nifty things, like cross-tra
188208

189209
#### Value types
190210

191-
| Tag | Description |
192-
| --------------------- | ---------------------------------------------------------- |
193-
| `construct:boolean` | A boolean |
194-
| `construct:char` | A character |
195-
| `construct:date-time` | A combination of date + time |
196-
| `construct:date` | A date (no time) |
197-
| `construct:enum` | An enum (enumeration of values) |
198-
| `construct:null` | Represents the absence of a value (something called `nil`) |
199-
| `construct:number` | A number (signed or unsigned) |
200-
| `construct:string` | A string |
201-
| `construct:time` | A time (no date) |
211+
| Tag | Description |
212+
| ------------------------------ | ---------------------------------------------------------- |
213+
| `construct:boolean` | A boolean |
214+
| `construct:char` | A character |
215+
| `construct:date-time` | A combination of date + time |
216+
| `construct:date` | A date (no time) |
217+
| `construct:enum` | An enum (enumeration of values) |
218+
| `construct:null` | Represents the absence of a value (something called `nil`) |
219+
| `construct:number` | A number (signed or unsigned) |
220+
| `construct:string` | A string |
221+
| `construct:time` | A time (no date) |
222+
| `construct:pointer` | A pointer |
223+
| `construct:regular-expression` | A regular expression |
202224

203225
#### Integral types
204226

0 commit comments

Comments
 (0)