Skip to content

Commit 1a8e1d0

Browse files
committed
Dev: add getter&setter suport for @SwiftValue
1 parent 58b421e commit 1a8e1d0

2 files changed

Lines changed: 13 additions & 8 deletions

File tree

compiler/src/main/java/com/readdle/codegen/JavaSwiftProcessor.java

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -182,11 +182,6 @@ public boolean process(Set<? extends TypeElement> annotations, RoundEnvironment
182182
}
183183

184184
for (SwiftValueDescriptor valueDescriptor: swiftValues.values()) {
185-
186-
for (SwiftFuncDescriptor function : valueDescriptor.functions) {
187-
messager.printMessage(Diagnostic.Kind.NOTE, function.toString());
188-
}
189-
190185
try {
191186
File file = valueDescriptor.generateCode();
192187
messager.printMessage(Diagnostic.Kind.NOTE, file.getName() + " generated");

compiler/src/main/java/com/readdle/codegen/SwiftValueDescriptor.java

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
package com.readdle.codegen;
22

3+
import com.readdle.codegen.anotation.SwiftGetter;
4+
import com.readdle.codegen.anotation.SwiftSetter;
35
import com.readdle.codegen.anotation.SwiftValue;
46

57
import java.io.File;
@@ -30,7 +32,7 @@ class SwiftValueDescriptor {
3032
private String simpleTypeName;
3133
private String[] importPackages;
3234

33-
List<SwiftFuncDescriptor> functions = new LinkedList<>();
35+
List<JavaSwiftProcessor.WritableElement> functions = new LinkedList<>();
3436

3537
SwiftValueDescriptor(TypeElement classElement, Filer filer, String[] importPackages) throws IllegalArgumentException {
3638
this.annotatedClassElement = classElement;
@@ -93,7 +95,15 @@ class SwiftValueDescriptor {
9395
if (element.getKind() == ElementKind.METHOD) {
9496
ExecutableElement executableElement = (ExecutableElement) element;
9597
if (executableElement.getModifiers().contains(Modifier.NATIVE)) {
96-
functions.add(new SwiftFuncDescriptor(executableElement));
98+
if (executableElement.getAnnotation(SwiftGetter.class) != null) {
99+
functions.add(new SwiftGetterDescriptor(executableElement));
100+
}
101+
else if (executableElement.getAnnotation(SwiftSetter.class) != null) {
102+
functions.add(new SwiftSetterDescriptor(executableElement));
103+
}
104+
else {
105+
functions.add(new SwiftFuncDescriptor(executableElement));
106+
}
97107
}
98108
}
99109
}
@@ -124,7 +134,7 @@ File generateCode() throws IOException {
124134

125135
swiftWriter.endExtension();
126136

127-
for (SwiftFuncDescriptor function : functions) {
137+
for (JavaSwiftProcessor.WritableElement function : functions) {
128138
function.generateCode(swiftWriter, javaFullName, simpleTypeName);
129139
}
130140

0 commit comments

Comments
 (0)