# Interface SyntheticAttribute

All Superinterfaces:
  `Attribute<SyntheticAttribute>, ClassElement, ClassFileElement, FieldElement, MethodElement`

public sealed interface SyntheticAttribute extends Attribute<SyntheticAttribute>, ClassElement, MethodElement, FieldElement
Models the `Synthetic` attribute (JVMS 4.7.8), which marks a class member as implementation-specific artifacts.

This attribute can appear on classes, methods, and fields, and permits multiple instances in a structure. It has no data dependency.

This attribute was introduced in the Java SE Platform version 1.1, major version 45.

API Note:
  This attribute has been largely superseded by the `ACC_SYNTHETIC` modifier in newer `class` files. See `Elements.Origin` for a more in-depth description about the differences between synthetic and implicit (mandated) constructs generated by compilers.
See Java Virtual Machine Specification:
  4.7.8 The `Synthetic` Attribute
Since:
  24
See Also:
  - `Attributes.synthetic()`
  - `AccessFlag.SYNTHETIC`

## Method Summary

Static Methods
Modifier and Type
Method
Description
`static SyntheticAttribute`
`of()`
Returns a `Synthetic` attribute.

### Methods declared in interface Attribute

`attributeMapper, attributeName`
Modifier and Type
Method
Description
`AttributeMapper<SyntheticAttribute>`
`attributeMapper()`
Returns the `AttributeMapper` associated with this attribute.
`Utf8Entry`
`attributeName()`
Returns the name of the attribute.

## Method Details

### of

static SyntheticAttribute of()
Returns a `Synthetic` attribute.

Returns:
  a `Synthetic` attribute