aboutsummaryrefslogtreecommitdiff
path: root/java/com/google/turbine/binder/CompUnitPreprocessor.java
diff options
context:
space:
mode:
Diffstat (limited to 'java/com/google/turbine/binder/CompUnitPreprocessor.java')
-rw-r--r--java/com/google/turbine/binder/CompUnitPreprocessor.java9
1 files changed, 8 insertions, 1 deletions
diff --git a/java/com/google/turbine/binder/CompUnitPreprocessor.java b/java/com/google/turbine/binder/CompUnitPreprocessor.java
index 9e9a0bb..970dc4b 100644
--- a/java/com/google/turbine/binder/CompUnitPreprocessor.java
+++ b/java/com/google/turbine/binder/CompUnitPreprocessor.java
@@ -149,7 +149,7 @@ public final class CompUnitPreprocessor {
types.add(new SourceBoundClass(sym, owner, children, access, decl));
}
}
- return result.build();
+ return result.buildOrThrow();
}
/** Desugars access flags for a class. */
@@ -175,6 +175,9 @@ public final class CompUnitPreprocessor {
case ANNOTATION:
access |= TurbineFlag.ACC_ABSTRACT | TurbineFlag.ACC_INTERFACE | TurbineFlag.ACC_ANNOTATION;
break;
+ case RECORD:
+ access |= TurbineFlag.ACC_SUPER | TurbineFlag.ACC_FINAL;
+ break;
}
return access;
}
@@ -195,12 +198,14 @@ public final class CompUnitPreprocessor {
case INTERFACE:
case ENUM:
case ANNOTATION:
+ case RECORD:
access |= TurbineFlag.ACC_STATIC;
break;
case CLASS:
if ((enclosing & (TurbineFlag.ACC_INTERFACE | TurbineFlag.ACC_ANNOTATION)) != 0) {
access |= TurbineFlag.ACC_STATIC;
}
+ break;
}
// propagate strictfp to nested types
@@ -219,6 +224,8 @@ public final class CompUnitPreprocessor {
Optional.empty(),
ImmutableList.of(),
ImmutableList.of(),
+ ImmutableList.of(),
+ ImmutableList.of(),
TurbineTyKind.INTERFACE,
/* javadoc= */ null);
}