Files
allwpilib/wpiannotations/src/main/java/org/wpilib/annotation/NoDiscard.java

28 lines
1.1 KiB
Java
Raw Normal View History

// Copyright (c) FIRST and other WPILib contributors.
// Open Source Software; you can modify and/or share it under the terms of
// the WPILib BSD license file in the root directory of this project.
package org.wpilib.annotation;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
/**
* Marks a method as returning a value that must be used. The WPILib compiler plugin will check for
* uses of methods with this annotation and report a compiler error if the value is unused. Marking
* a class or interface as {@code @NoDiscard} will act as if any method that returns that type or
* any subclass or implementor of that type has been marked with {@code @NoDiscard}.
*/
@Target({ElementType.METHOD, ElementType.TYPE})
@Retention(RetentionPolicy.CLASS) // needs to be stored in the class for use by libraries
public @interface NoDiscard {
/**
* An error message to display if the return value is not used.
*
* @return The error message.
*/
String value() default "";
}