Skip to content

Commit 5c5c87f

Browse files
committed
Linter + Formatter support
1 parent a05ddec commit 5c5c87f

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

56 files changed

+7511
-7230
lines changed

.clang-format

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
BasedOnStyle: LLVM
2+
3+
IndentWidth: 4
4+
5+
BreakAfterReturnType: ExceptShortType
6+
BreakBeforeBraces: Custom
7+
BraceWrapping:
8+
AfterCaseLabel: true
9+
AfterFunction: true
10+
AfterClass: false
11+
AfterControlStatement: false
12+
AfterEnum: false
13+
AfterNamespace: false
14+
BeforeElse: true
15+
IndentBraces: false
16+
17+
# Don’t reflow or wrap lines
18+
ColumnLimit: 0
19+
20+
# Leave initializer lists alone
21+
Cpp11BracedListStyle: False
22+
23+
AllowShortIfStatementsOnASingleLine: WithoutElse
24+
25+
# Switch/case
26+
IndentCaseLabels: true
27+
IndentCaseBlocks: true
28+
29+
IndentPPDirectives: BeforeHash
30+
31+
PointerAlignment: Left
32+
33+
SortIncludes: false
34+
SpaceInEmptyBlock: true

.clang-tidy

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
Checks: >
2+
-*,
3+
bugprone-*,
4+
modernize-use-override,
5+
clang-analyzer-*,
6+
-bugprone-easily-swappable-parameters,
7+
-clang-diagnostic-error,
8+
-clang-analyzer-cplusplus.NewDelete,
9+
10+
WarningsAsErrors: '' # keep warnings first, promote to errors later
11+
HeaderFilterRegex: 'src/.*'
12+
FormatStyle: none

ASTNode.cpp

Lines changed: 112 additions & 117 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@ void ASTNodeList::removeFirst()
1414
m_nodes.erase(m_nodes.begin());
1515
}
1616

17-
1817
/* ASTUnary */
1918
const char* ASTUnary::op_str() const
2019
{
@@ -24,7 +23,6 @@ const char* ASTUnary::op_str() const
2423
return s_op_strings[op()];
2524
}
2625

27-
2826
/* ASTBinary */
2927
const char* ASTBinary::op_str() const
3028
{
@@ -41,128 +39,127 @@ const char* ASTBinary::op_str() const
4139
ASTBinary::BinOp ASTBinary::from_opcode(int opcode)
4240
{
4341
switch (opcode) {
44-
case Pyc::BINARY_ADD:
45-
return BIN_ADD;
46-
case Pyc::BINARY_AND:
47-
return BIN_AND;
48-
case Pyc::BINARY_DIVIDE:
49-
return BIN_DIVIDE;
50-
case Pyc::BINARY_FLOOR_DIVIDE:
51-
return BIN_FLOOR_DIVIDE;
52-
case Pyc::BINARY_LSHIFT:
53-
return BIN_LSHIFT;
54-
case Pyc::BINARY_MODULO:
55-
return BIN_MODULO;
56-
case Pyc::BINARY_MULTIPLY:
57-
return BIN_MULTIPLY;
58-
case Pyc::BINARY_OR:
59-
return BIN_OR;
60-
case Pyc::BINARY_POWER:
61-
return BIN_POWER;
62-
case Pyc::BINARY_RSHIFT:
63-
return BIN_RSHIFT;
64-
case Pyc::BINARY_SUBTRACT:
65-
return BIN_SUBTRACT;
66-
case Pyc::BINARY_TRUE_DIVIDE:
67-
return BIN_DIVIDE;
68-
case Pyc::BINARY_XOR:
69-
return BIN_XOR;
70-
case Pyc::BINARY_MATRIX_MULTIPLY:
71-
return BIN_MAT_MULTIPLY;
72-
case Pyc::INPLACE_ADD:
73-
return BIN_IP_ADD;
74-
case Pyc::INPLACE_AND:
75-
return BIN_IP_AND;
76-
case Pyc::INPLACE_DIVIDE:
77-
return BIN_IP_DIVIDE;
78-
case Pyc::INPLACE_FLOOR_DIVIDE:
79-
return BIN_IP_FLOOR_DIVIDE;
80-
case Pyc::INPLACE_LSHIFT:
81-
return BIN_IP_LSHIFT;
82-
case Pyc::INPLACE_MODULO:
83-
return BIN_IP_MODULO;
84-
case Pyc::INPLACE_MULTIPLY:
85-
return BIN_IP_MULTIPLY;
86-
case Pyc::INPLACE_OR:
87-
return BIN_IP_OR;
88-
case Pyc::INPLACE_POWER:
89-
return BIN_IP_POWER;
90-
case Pyc::INPLACE_RSHIFT:
91-
return BIN_IP_RSHIFT;
92-
case Pyc::INPLACE_SUBTRACT:
93-
return BIN_IP_SUBTRACT;
94-
case Pyc::INPLACE_TRUE_DIVIDE:
95-
return BIN_IP_DIVIDE;
96-
case Pyc::INPLACE_XOR:
97-
return BIN_IP_XOR;
98-
case Pyc::INPLACE_MATRIX_MULTIPLY:
99-
return BIN_IP_MAT_MULTIPLY;
100-
default:
101-
return BIN_INVALID;
42+
case Pyc::BINARY_ADD:
43+
return BIN_ADD;
44+
case Pyc::BINARY_AND:
45+
return BIN_AND;
46+
case Pyc::BINARY_DIVIDE:
47+
return BIN_DIVIDE;
48+
case Pyc::BINARY_FLOOR_DIVIDE:
49+
return BIN_FLOOR_DIVIDE;
50+
case Pyc::BINARY_LSHIFT:
51+
return BIN_LSHIFT;
52+
case Pyc::BINARY_MODULO:
53+
return BIN_MODULO;
54+
case Pyc::BINARY_MULTIPLY:
55+
return BIN_MULTIPLY;
56+
case Pyc::BINARY_OR:
57+
return BIN_OR;
58+
case Pyc::BINARY_POWER:
59+
return BIN_POWER;
60+
case Pyc::BINARY_RSHIFT:
61+
return BIN_RSHIFT;
62+
case Pyc::BINARY_SUBTRACT:
63+
return BIN_SUBTRACT;
64+
case Pyc::BINARY_TRUE_DIVIDE:
65+
return BIN_DIVIDE;
66+
case Pyc::BINARY_XOR:
67+
return BIN_XOR;
68+
case Pyc::BINARY_MATRIX_MULTIPLY:
69+
return BIN_MAT_MULTIPLY;
70+
case Pyc::INPLACE_ADD:
71+
return BIN_IP_ADD;
72+
case Pyc::INPLACE_AND:
73+
return BIN_IP_AND;
74+
case Pyc::INPLACE_DIVIDE:
75+
return BIN_IP_DIVIDE;
76+
case Pyc::INPLACE_FLOOR_DIVIDE:
77+
return BIN_IP_FLOOR_DIVIDE;
78+
case Pyc::INPLACE_LSHIFT:
79+
return BIN_IP_LSHIFT;
80+
case Pyc::INPLACE_MODULO:
81+
return BIN_IP_MODULO;
82+
case Pyc::INPLACE_MULTIPLY:
83+
return BIN_IP_MULTIPLY;
84+
case Pyc::INPLACE_OR:
85+
return BIN_IP_OR;
86+
case Pyc::INPLACE_POWER:
87+
return BIN_IP_POWER;
88+
case Pyc::INPLACE_RSHIFT:
89+
return BIN_IP_RSHIFT;
90+
case Pyc::INPLACE_SUBTRACT:
91+
return BIN_IP_SUBTRACT;
92+
case Pyc::INPLACE_TRUE_DIVIDE:
93+
return BIN_IP_DIVIDE;
94+
case Pyc::INPLACE_XOR:
95+
return BIN_IP_XOR;
96+
case Pyc::INPLACE_MATRIX_MULTIPLY:
97+
return BIN_IP_MAT_MULTIPLY;
98+
default:
99+
return BIN_INVALID;
102100
}
103101
}
104102

105103
ASTBinary::BinOp ASTBinary::from_binary_op(int operand)
106104
{
107105
switch (operand) {
108-
case 0:
109-
return BIN_ADD;
110-
case 1:
111-
return BIN_AND;
112-
case 2:
113-
return BIN_FLOOR_DIVIDE;
114-
case 3:
115-
return BIN_LSHIFT;
116-
case 4:
117-
return BIN_MAT_MULTIPLY;
118-
case 5:
119-
return BIN_MULTIPLY;
120-
case 6:
121-
return BIN_MODULO;
122-
case 7:
123-
return BIN_OR;
124-
case 8:
125-
return BIN_POWER;
126-
case 9:
127-
return BIN_RSHIFT;
128-
case 10:
129-
return BIN_SUBTRACT;
130-
case 11:
131-
return BIN_DIVIDE;
132-
case 12:
133-
return BIN_XOR;
134-
case 13:
135-
return BIN_IP_ADD;
136-
case 14:
137-
return BIN_IP_AND;
138-
case 15:
139-
return BIN_IP_FLOOR_DIVIDE;
140-
case 16:
141-
return BIN_IP_LSHIFT;
142-
case 17:
143-
return BIN_MAT_MULTIPLY;
144-
case 18:
145-
return BIN_IP_MULTIPLY;
146-
case 19:
147-
return BIN_IP_MODULO;
148-
case 20:
149-
return BIN_IP_OR;
150-
case 21:
151-
return BIN_IP_POWER;
152-
case 22:
153-
return BIN_IP_RSHIFT;
154-
case 23:
155-
return BIN_IP_SUBTRACT;
156-
case 24:
157-
return BIN_IP_DIVIDE;
158-
case 25:
159-
return BIN_IP_XOR;
160-
default:
161-
return BIN_INVALID; // Return BIN_INVALID for out-of-range operand
106+
case 0:
107+
return BIN_ADD;
108+
case 1:
109+
return BIN_AND;
110+
case 2:
111+
return BIN_FLOOR_DIVIDE;
112+
case 3:
113+
return BIN_LSHIFT;
114+
case 4:
115+
return BIN_MAT_MULTIPLY;
116+
case 5:
117+
return BIN_MULTIPLY;
118+
case 6:
119+
return BIN_MODULO;
120+
case 7:
121+
return BIN_OR;
122+
case 8:
123+
return BIN_POWER;
124+
case 9:
125+
return BIN_RSHIFT;
126+
case 10:
127+
return BIN_SUBTRACT;
128+
case 11:
129+
return BIN_DIVIDE;
130+
case 12:
131+
return BIN_XOR;
132+
case 13:
133+
return BIN_IP_ADD;
134+
case 14:
135+
return BIN_IP_AND;
136+
case 15:
137+
return BIN_IP_FLOOR_DIVIDE;
138+
case 16:
139+
return BIN_IP_LSHIFT;
140+
case 17:
141+
return BIN_MAT_MULTIPLY;
142+
case 18:
143+
return BIN_IP_MULTIPLY;
144+
case 19:
145+
return BIN_IP_MODULO;
146+
case 20:
147+
return BIN_IP_OR;
148+
case 21:
149+
return BIN_IP_POWER;
150+
case 22:
151+
return BIN_IP_RSHIFT;
152+
case 23:
153+
return BIN_IP_SUBTRACT;
154+
case 24:
155+
return BIN_IP_DIVIDE;
156+
case 25:
157+
return BIN_IP_XOR;
158+
default:
159+
return BIN_INVALID; // Return BIN_INVALID for out-of-range operand
162160
}
163161
}
164162

165-
166163
/* ASTCompare */
167164
const char* ASTCompare::op_str() const
168165
{
@@ -173,7 +170,6 @@ const char* ASTCompare::op_str() const
173170
return s_cmp_strings[op()];
174171
}
175172

176-
177173
/* ASTKeyword */
178174
const char* ASTKeyword::word_str() const
179175
{
@@ -183,7 +179,6 @@ const char* ASTKeyword::word_str() const
183179
return s_word_strings[key()];
184180
}
185181

186-
187182
/* ASTBlock */
188183
void ASTBlock::removeLast()
189184
{

0 commit comments

Comments
 (0)