Implicit non-nullability for fields
This commit is contained in:
@@ -440,6 +440,8 @@ public class ContentParser{
|
||||
}
|
||||
|
||||
public void markError(Content content, LoadedMod mod, Fi file, Throwable error){
|
||||
Log.err("Error for @ / @:\n@\n", content, file, Strings.getStackTrace(error));
|
||||
|
||||
content.minfo.mod = mod;
|
||||
content.minfo.sourceFile = file;
|
||||
content.minfo.error = makeError(error, file);
|
||||
@@ -545,7 +547,7 @@ public class ContentParser{
|
||||
try{
|
||||
if(field.field.getType().isPrimitive()) return;
|
||||
|
||||
if(field.field.isAnnotationPresent(NonNull.class) && field.field.get(object) == null){
|
||||
if(!field.field.isAnnotationPresent(Nullable.class) && field.field.get(object) == null){
|
||||
throw new RuntimeException("'" + field.field.getName() + "' in " + object.getClass().getSimpleName() + " is missing!");
|
||||
}
|
||||
}catch(Exception e){
|
||||
|
||||
@@ -5,7 +5,7 @@ import arc.mock.*;
|
||||
import arc.util.ArcAnnotate.*;
|
||||
|
||||
public class ModLoadingMusic implements Music{
|
||||
public @NonNull Music music = new MockMusic();
|
||||
public Music music = new MockMusic();
|
||||
|
||||
@Override
|
||||
public void play(){
|
||||
|
||||
@@ -6,7 +6,7 @@ import arc.mock.*;
|
||||
import arc.util.ArcAnnotate.*;
|
||||
|
||||
public class ModLoadingSound implements Sound{
|
||||
public @NonNull Sound sound = new MockSound();
|
||||
public Sound sound = new MockSound();
|
||||
|
||||
@Override
|
||||
public float calcPan(float x, float y){
|
||||
|
||||
@@ -399,7 +399,7 @@ public class Mods implements Loadable{
|
||||
d.button("@details", Icon.downOpen, Styles.transt, () -> {
|
||||
new Dialog(""){{
|
||||
setFillParent(true);
|
||||
cont.pane(e -> e.add(c.minfo.error).wrap().grow()).grow();
|
||||
cont.pane(e -> e.add(c.minfo.error).wrap().grow().labelAlign(Align.center, Align.left)).grow();
|
||||
cont.row();
|
||||
cont.button("@ok", Icon.left, this::hide).size(240f, 60f);
|
||||
}}.show();
|
||||
|
||||
Reference in New Issue
Block a user