Class BytecodeClass
- java.lang.Object
-
- org.eolang.jeo.representation.bytecode.BytecodeClass
-
public final class BytecodeClass extends Object
Class useful for generating bytecode for testing purposes.- Since:
- 0.1.0
-
-
Constructor Summary
Constructors Constructor Description BytecodeClass()
Constructor.BytecodeClass(String name)
Constructor.BytecodeClass(String name, int access)
Constructor.BytecodeClass(String name, List<BytecodeMethod> methods, List<BytecodeField> fields, BytecodeAnnotations annotations, BytecodeAttributes attributes, BytecodeClassProperties props)
Constructor.BytecodeClass(String name, List<BytecodeMethod> methods, BytecodeClassProperties properties)
Constructor.BytecodeClass(String name, BytecodeClassProperties properties)
Constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description DirectivesClass
directives()
Convert to directives.BytecodeClass
helloWorldMethod()
Hello world bytecode.List<BytecodeMethod>
methods()
Retrieve class methods.String
name()
Class name.BytecodeClassProperties
properties()
Properties.BytecodeMethodBuilder
withConstructor(int... modifiers)
Add constructor.BytecodeMethodBuilder
withConstructor(String descriptor, int... modifiers)
Add constructor.BytecodeClass
withField(String fname)
Add field.BytecodeMethodBuilder
withMethod(String mname, String descriptor, int... modifiers)
Add method.BytecodeMethodBuilder
withMethod(BytecodeMethodProperties properties)
Add method.BytecodeMethodBuilder
withMethod(BytecodeMethodProperties properties, BytecodeMaxs maxs)
Add method.BytecodeClass
withoutMethods()
Without methods.
-
-
-
Constructor Detail
-
BytecodeClass
public BytecodeClass()
Constructor. Used in tests only.
-
BytecodeClass
public BytecodeClass(String name)
Constructor. Used in tests only.- Parameters:
name
- Class name.
-
BytecodeClass
public BytecodeClass(String name, int access)
Constructor. Used in tests only.- Parameters:
name
- Class name.access
- Access modifiers.
-
BytecodeClass
public BytecodeClass(String name, BytecodeClassProperties properties)
Constructor. Has real usages.- Parameters:
name
- Class name.properties
- Class properties.
-
BytecodeClass
public BytecodeClass(String name, List<BytecodeMethod> methods, BytecodeClassProperties properties)
Constructor.- Parameters:
name
- Class name.methods
- Methods.properties
- Class properties.- Suppressed Checkstyle violations:
- ParameterNumberCheck (5 lines)
-
BytecodeClass
public BytecodeClass(String name, List<BytecodeMethod> methods, List<BytecodeField> fields, BytecodeAnnotations annotations, BytecodeAttributes attributes, BytecodeClassProperties props)
Constructor.- Parameters:
name
- Class name.methods
- Methods.fields
- Fields.annotations
- Annotations.attributes
- Attributes.props
- Class properties.- Suppressed Checkstyle violations:
- ParameterNumberCheck (5 lines)
-
-
Method Detail
-
name
public String name()
Class name.- Returns:
- Name.
-
withConstructor
public BytecodeMethodBuilder withConstructor(int... modifiers)
Add constructor.- Parameters:
modifiers
- Constructor modifiers.- Returns:
- This object.
-
withMethod
public BytecodeMethodBuilder withMethod(BytecodeMethodProperties properties)
Add method.- Parameters:
properties
- Method properties.- Returns:
- This object.
-
withMethod
public BytecodeMethodBuilder withMethod(BytecodeMethodProperties properties, BytecodeMaxs maxs)
Add method.- Parameters:
properties
- Method properties.maxs
- Method maxs.- Returns:
- This object.
-
withConstructor
public BytecodeMethodBuilder withConstructor(String descriptor, int... modifiers)
Add constructor.- Parameters:
descriptor
- Constructor descriptor.modifiers
- Constructor modifiers.- Returns:
- This object.
-
withField
public BytecodeClass withField(String fname)
Add field.- Parameters:
fname
- Field name.- Returns:
- This object.
-
withMethod
public BytecodeMethodBuilder withMethod(String mname, String descriptor, int... modifiers)
Add method.- Parameters:
mname
- Method name.descriptor
- Method descriptor.modifiers
- Access modifiers.- Returns:
- This object.
-
helloWorldMethod
public BytecodeClass helloWorldMethod()
Hello world bytecode.- Returns:
- The same class with the hello world method.
-
properties
public BytecodeClassProperties properties()
Properties.- Returns:
- Class properties.
-
methods
public List<BytecodeMethod> methods()
Retrieve class methods.- Returns:
- Class methods.
-
withoutMethods
public BytecodeClass withoutMethods()
Without methods.- Returns:
- The same class without methods.
-
directives
public DirectivesClass directives()
Convert to directives.- Returns:
- Directives.
-
-