Skip to content

Commit d86c1a9

Browse files
2 parents 04bc297 + 8258db1 commit d86c1a9

File tree

19 files changed

+171
-14
lines changed

19 files changed

+171
-14
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -201,5 +201,5 @@ Contributing
201201
### Code formatting
202202

203203
- use 4 spaces for indentation in Java files
204-
- sort java imports alphabetically, you can use wildcards
204+
- sort java imports alphabetically (including static imports), you can use wildcards
205205
- please do not reformat whole files in IDE

checkstyle.xml

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
<?xml version="1.0"?>
2+
<!DOCTYPE module PUBLIC
3+
"-//Puppy Crawl//DTD Check Configuration 1.3//EN"
4+
"http://checkstyle.sourceforge.net/dtds/configuration_1_3.dtd">
5+
6+
<module name="Checker">
7+
<property name="charset" value="UTF-8"/>
8+
<property name="fileExtensions" value="java"/>
9+
10+
<module name="FileTabCharacter"/>
11+
12+
<module name="TreeWalker">
13+
14+
<module name="ImportOrder">
15+
<property name="option" value="inflow"/>
16+
<property name="sortStaticImportsAlphabetically" value="true"/>
17+
</module>
18+
19+
</module>
20+
</module>

pom.xml

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,15 @@
9898
<artifactId>maven-javadoc-plugin</artifactId>
9999
<version>3.0.0</version>
100100
</plugin>
101+
<plugin>
102+
<groupId>org.apache.maven.plugins</groupId>
103+
<artifactId>maven-checkstyle-plugin</artifactId>
104+
<version>3.0.0</version>
105+
<configuration>
106+
<includeTestSourceDirectory>true</includeTestSourceDirectory>
107+
<configLocation>../checkstyle.xml</configLocation>
108+
</configuration>
109+
</plugin>
101110
<plugin>
102111
<groupId>org.apache.maven.plugins</groupId>
103112
<artifactId>maven-site-plugin</artifactId>

typescript-generator-core/pom.xml

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -173,6 +173,22 @@
173173
</execution>
174174
</executions>
175175
</plugin>
176+
<plugin>
177+
<groupId>org.apache.maven.plugins</groupId>
178+
<artifactId>maven-checkstyle-plugin</artifactId>
179+
<executions>
180+
<execution>
181+
<id>check</id>
182+
<phase>verify</phase>
183+
<goals>
184+
<goal>check</goal>
185+
</goals>
186+
<configuration>
187+
<excludes>cz/habarta/typescript/generator/xmldoclet/*.java</excludes>
188+
</configuration>
189+
</execution>
190+
</executions>
191+
</plugin>
176192
</plugins>
177193
</build>
178194

typescript-generator-core/src/main/java/cz/habarta/typescript/generator/TypeProcessor.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11

22
package cz.habarta.typescript.generator;
33

4-
import cz.habarta.typescript.generator.compiler.SymbolTable;
54
import cz.habarta.typescript.generator.compiler.Symbol;
5+
import cz.habarta.typescript.generator.compiler.SymbolTable;
66
import java.lang.reflect.Type;
77
import java.util.*;
88

typescript-generator-core/src/main/java/cz/habarta/typescript/generator/compiler/ModelCompiler.java

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,13 +42,15 @@ public ModelCompiler(Settings settings, TypeProcessor typeProcessor) {
4242
}
4343

4444
public enum TransformationPhase {
45+
BeforeTsModel,
4546
BeforeEnums,
4647
BeforeSymbolResolution,
4748
}
4849

4950
public TsModel javaToTypeScript(Model model) {
5051
final SymbolTable symbolTable = new SymbolTable(settings);
5152
final List<Extension.TransformerDefinition> extensionTransformers = getExtensionTransformers();
53+
model = applyExtensionModelTransformers(symbolTable, model, extensionTransformers);
5254
TsModel tsModel = processModel(symbolTable, model);
5355
tsModel = removeInheritedProperties(symbolTable, tsModel);
5456
tsModel = addImplementedProperties(symbolTable, tsModel);
@@ -112,6 +114,15 @@ private List<Extension.TransformerDefinition> getExtensionTransformers() {
112114
return transformers;
113115
}
114116

117+
private static Model applyExtensionModelTransformers(SymbolTable symbolTable, Model model, List<Extension.TransformerDefinition> transformerDefinitions) {
118+
for (Extension.TransformerDefinition definition : transformerDefinitions) {
119+
if (definition.phase == TransformationPhase.BeforeTsModel) {
120+
model = definition.transformer.transformModel(symbolTable, model);
121+
}
122+
}
123+
return model;
124+
}
125+
115126
private static TsModel applyExtensionTransformers(SymbolTable symbolTable, TsModel model, TransformationPhase phase, List<Extension.TransformerDefinition> transformerDefinitions) {
116127
for (Extension.TransformerDefinition definition : transformerDefinitions) {
117128
if (definition.phase == phase) {

typescript-generator-core/src/main/java/cz/habarta/typescript/generator/compiler/ModelTransformer.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,15 @@
22
package cz.habarta.typescript.generator.compiler;
33

44
import cz.habarta.typescript.generator.emitter.TsModel;
5+
import cz.habarta.typescript.generator.parser.Model;
56

67

78
public interface ModelTransformer {
89

910
public TsModel transformModel(SymbolTable symbolTable, TsModel model);
1011

12+
default Model transformModel(SymbolTable symbolTable, Model model) {
13+
return model;
14+
}
15+
1116
}

typescript-generator-core/src/main/java/cz/habarta/typescript/generator/ext/EnumConstantsExtension.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11

22
package cz.habarta.typescript.generator.ext;
33

4+
import cz.habarta.typescript.generator.DeprecationText;
45
import cz.habarta.typescript.generator.Settings;
56
import cz.habarta.typescript.generator.compiler.EnumMemberModel;
67
import cz.habarta.typescript.generator.emitter.EmitterExtension;
@@ -9,7 +10,6 @@
910
import cz.habarta.typescript.generator.emitter.TsModel;
1011
import java.util.Collections;
1112
import java.util.List;
12-
import cz.habarta.typescript.generator.DeprecationText;
1313

1414

1515
@DeprecationText("Consider using configuration parameter 'mapEnum' with value 'asEnum'")

typescript-generator-core/src/main/java/cz/habarta/typescript/generator/ext/NonConstEnumsExtension.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11

22
package cz.habarta.typescript.generator.ext;
33

4+
import cz.habarta.typescript.generator.DeprecationText;
45
import cz.habarta.typescript.generator.Settings;
56
import cz.habarta.typescript.generator.compiler.EnumMemberModel;
67
import cz.habarta.typescript.generator.emitter.EmitterExtension;
@@ -9,7 +10,6 @@
910
import cz.habarta.typescript.generator.emitter.TsModel;
1011
import java.util.Collections;
1112
import java.util.List;
12-
import cz.habarta.typescript.generator.DeprecationText;
1313

1414

1515
@DeprecationText("Consider using parameter 'mapEnum' with value 'asEnum' and parameter 'nonConstEnums' with 'true'")

typescript-generator-core/src/main/java/cz/habarta/typescript/generator/parser/EnumModel.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11

22
package cz.habarta.typescript.generator.parser;
33

4-
import cz.habarta.typescript.generator.compiler.EnumMemberModel;
54
import cz.habarta.typescript.generator.compiler.EnumKind;
5+
import cz.habarta.typescript.generator.compiler.EnumMemberModel;
66
import java.util.*;
77

88

0 commit comments

Comments
 (0)