Skip to content

feat: add gang (struct) keyword#161

Merged
leo-aa88 merged 5 commits into
mainfrom
feat/gang-keyword
Apr 3, 2026
Merged

feat: add gang (struct) keyword#161
leo-aa88 merged 5 commits into
mainfrom
feat/gang-keyword

fix: remove strlen

a926a64
Select commit
Loading
Failed to load commit list.
SonarQubeCloud / SonarCloud Code Analysis failed Apr 1, 2026 in 29s

Quality Gate failed

Failed conditions
4.2% Duplication on New Code (required ≤ 3%)
C Reliability Rating on New Code (required ≥ A)

See analysis details on SonarQube Cloud

Catch issues before they fail your Quality Gate with our IDE extension SonarQube for IDE

Annotations

Check failure on line 1940 in ast.c

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Refactor this function to reduce its Cognitive Complexity from 37 to the 25 allowed.

See more on https://sonarcloud.io/project/issues?id=Brainrotlang_brainrot&issues=AZ0w4Hx9f6sTKoBgdLM7&open=AZ0w4Hx9f6sTKoBgdLM7&pullRequest=161

Check warning on line 1011 in ast.c

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Make the type of this variable a pointer-to-const. The current type of "obj" is "struct ASTNode *".

See more on https://sonarcloud.io/project/issues?id=Brainrotlang_brainrot&issues=AZ0w4Hx9f6sTKoBgdLMy&open=AZ0w4Hx9f6sTKoBgdLMy&pullRequest=161

Check warning on line 135 in ast.c

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Make the type of this parameter a pointer-to-const. The current type of "dimensions" is "int *".

See more on https://sonarcloud.io/project/issues?id=Brainrotlang_brainrot&issues=AZ1Hnlo6PAYx8a-Q3GlC&open=AZ1Hnlo6PAYx8a-Q3GlC&pullRequest=161

Check warning on line 193 in ast.c

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Make the type of this variable a pointer-to-const. The current type of "fld" is "struct StructField *".

See more on https://sonarcloud.io/project/issues?id=Brainrotlang_brainrot&issues=AZ0w4Hx9f6sTKoBgdLMu&open=AZ0w4Hx9f6sTKoBgdLMu&pullRequest=161

Check failure on line 1828 in ast.c

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Refactor this function to reduce its Cognitive Complexity from 37 to the 25 allowed.

See more on https://sonarcloud.io/project/issues?id=Brainrotlang_brainrot&issues=AZ0w4Hx9f6sTKoBgdLM4&open=AZ0w4Hx9f6sTKoBgdLM4&pullRequest=161

Check warning on line 363 in ast.c

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Make the type of this variable a pointer-to-const. The current type of "fld" is "struct StructField *".

See more on https://sonarcloud.io/project/issues?id=Brainrotlang_brainrot&issues=AZ0w4Hx9f6sTKoBgdLMx&open=AZ0w4Hx9f6sTKoBgdLMx&pullRequest=161

Check warning on line 3520 in ast.c

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Make the type of this variable a pointer-to-const. The current type of "existing" is "Variable *".

See more on https://sonarcloud.io/project/issues?id=Brainrotlang_brainrot&issues=AZ1Hnlo6PAYx8a-Q3GlM&open=AZ1Hnlo6PAYx8a-Q3GlM&pullRequest=161

Check warning on line 204 in ast.c

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Make the type of this parameter a pointer-to-const. The current type of "dimensions" is "int *".

See more on https://sonarcloud.io/project/issues?id=Brainrotlang_brainrot&issues=AZ1Hnlo6PAYx8a-Q3GlD&open=AZ1Hnlo6PAYx8a-Q3GlD&pullRequest=161

Check warning on line 2033 in ast.c

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Make the type of this variable a pointer-to-const. The current type of "fld" is "struct StructField *".

See more on https://sonarcloud.io/project/issues?id=Brainrotlang_brainrot&issues=AZ0w4Hx9f6sTKoBgdLM9&open=AZ0w4Hx9f6sTKoBgdLM9&pullRequest=161

Check warning on line 1918 in ast.c

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Make the type of this variable a pointer-to-const. The current type of "obj" is "struct ASTNode *".

See more on https://sonarcloud.io/project/issues?id=Brainrotlang_brainrot&issues=AZ0w4Hx9f6sTKoBgdLM5&open=AZ0w4Hx9f6sTKoBgdLM5&pullRequest=161

Check warning on line 2255 in ast.c

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Make the type of this variable a pointer-to-const. The current type of "obj" is "struct ASTNode *".

See more on https://sonarcloud.io/project/issues?id=Brainrotlang_brainrot&issues=AZ0w4Hx9f6sTKoBgdLM-&open=AZ0w4Hx9f6sTKoBgdLM-&pullRequest=161

Check warning on line 2395 in ast.c

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Make the type of this variable a pointer-to-const. The current type of "fld" is "struct StructField *".

See more on https://sonarcloud.io/project/issues?id=Brainrotlang_brainrot&issues=AZ0w4Hx9f6sTKoBgdLNB&open=AZ0w4Hx9f6sTKoBgdLNB&pullRequest=161

Check warning on line 285 in ast.h

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Refactor this structure so it has no more than 20 fields, rather than the 21 it currently has.

See more on https://sonarcloud.io/project/issues?id=Brainrotlang_brainrot&issues=AZ0w4HxPf6sTKoBgdLMo&open=AZ0w4HxPf6sTKoBgdLMo&pullRequest=161

Check warning on line 2585 in ast.c

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Make the type of this variable a pointer-to-const. The current type of "obj" is "struct ASTNode *".

See more on https://sonarcloud.io/project/issues?id=Brainrotlang_brainrot&issues=AZ0w4Hx9f6sTKoBgdLNC&open=AZ0w4Hx9f6sTKoBgdLNC&pullRequest=161

Check failure on line 90 in stdrot/baka.c

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Refactor this code to not nest more than 3 if|for|do|while|switch statements.

See more on https://sonarcloud.io/project/issues?id=Brainrotlang_brainrot&issues=AZ1Hp1J40SKtD2DTK5Mc&open=AZ1Hp1J40SKtD2DTK5Mc&pullRequest=161

Check warning on line 333 in ast.c

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Make the type of this parameter a pointer-to-const. The current type of "node" is "struct ASTNode *".

See more on https://sonarcloud.io/project/issues?id=Brainrotlang_brainrot&issues=AZ0w4Hx9f6sTKoBgdLMv&open=AZ0w4Hx9f6sTKoBgdLMv&pullRequest=161

Check warning on line 2921 in ast.c

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Merge this "if" statement with the enclosing one.

See more on https://sonarcloud.io/project/issues?id=Brainrotlang_brainrot&issues=AZ1Hnlo6PAYx8a-Q3GlH&open=AZ1Hnlo6PAYx8a-Q3GlH&pullRequest=161

Check warning on line 2856 in ast.c

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Make the type of this variable a pointer-to-const. The current type of "var" is "Variable *".

See more on https://sonarcloud.io/project/issues?id=Brainrotlang_brainrot&issues=AZ0w4Hx9f6sTKoBgdLNI&open=AZ0w4Hx9f6sTKoBgdLNI&pullRequest=161

Check warning on line 2854 in ast.c

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Make the type of this variable a pointer-to-const. The current type of "obj" is "struct ASTNode *".

See more on https://sonarcloud.io/project/issues?id=Brainrotlang_brainrot&issues=AZ0w4Hx9f6sTKoBgdLNH&open=AZ0w4Hx9f6sTKoBgdLNH&pullRequest=161

Check warning on line 2030 in ast.c

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Make the type of this variable a pointer-to-const. The current type of "obj" is "struct ASTNode *".

See more on https://sonarcloud.io/project/issues?id=Brainrotlang_brainrot&issues=AZ0w4Hx9f6sTKoBgdLM8&open=AZ0w4Hx9f6sTKoBgdLM8&pullRequest=161

Check failure on line 194 in ast.c

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Refactor this code to not nest more than 3 if|for|do|while|switch statements.

See more on https://sonarcloud.io/project/issues?id=Brainrotlang_brainrot&issues=AZ0w4Hx9f6sTKoBgdLMr&open=AZ0w4Hx9f6sTKoBgdLMr&pullRequest=161

Check warning on line 376 in semantic_analyzer.c

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Make the type of this variable a pointer-to-const. The current type of "fld" is "struct StructField *".

See more on https://sonarcloud.io/project/issues?id=Brainrotlang_brainrot&issues=AZ0w4Hyaf6sTKoBgdLNO&open=AZ0w4Hyaf6sTKoBgdLNO&pullRequest=161

Check warning on line 1138 in semantic_analyzer.c

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Fill this compound statement, remove it, or add a nested comment explaining why it is empty.

See more on https://sonarcloud.io/project/issues?id=Brainrotlang_brainrot&issues=AZ0w4Hyaf6sTKoBgdLNP&open=AZ0w4Hyaf6sTKoBgdLNP&pullRequest=161

Check warning on line 369 in semantic_analyzer.c

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Make the type of this variable a pointer-to-const. The current type of "obj" is "struct ASTNode *".

See more on https://sonarcloud.io/project/issues?id=Brainrotlang_brainrot&issues=AZ0w4Hyaf6sTKoBgdLNM&open=AZ0w4Hyaf6sTKoBgdLNM&pullRequest=161

Check warning on line 2392 in ast.c

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Make the type of this variable a pointer-to-const. The current type of "obj" is "struct ASTNode *".

See more on https://sonarcloud.io/project/issues?id=Brainrotlang_brainrot&issues=AZ0w4Hx9f6sTKoBgdLNA&open=AZ0w4Hx9f6sTKoBgdLNA&pullRequest=161