/
AnnotatedValue.java
108 lines (96 loc) · 2.57 KB
/
AnnotatedValue.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
// -*- Mode: Java; indent-tabs-mode: t; tab-width: 4 -*-
// ---------------------------------------------------------------------------
// Multi-Phasic Applications: SquirrelJME
// Copyright (C) Stephanie Gawroriski <xer@multiphasicapps.net>
// Copyright (C) Multi-Phasic Applications <multiphasicapps.net>
// ---------------------------------------------------------------------------
// SquirrelJME is under the GNU General Public License v3+, or later.
// See license.mkd for licensing and copyright information.
// ---------------------------------------------------------------------------
package net.multiphasicapps.classfile;
import java.io.DataInputStream;
import java.io.IOException;
import java.util.LinkedHashMap;
import java.util.Map;
/**
* This represents an annotation along with its value.
*
* @since 2018/03/06
*/
public final class AnnotatedValue
{
/** The annotation type. */
protected final ClassName type;
/**
* Initializes the annotation value with the given value sets.
*
* @param __type The class name indicating the type of the annotation.
* @param __vals The values for the annotation.
* @throws InvalidClassFormatException If the annotation value is not of
* the correct type.
* @throws NullPointerException On null arguments.
* @since 2018/03/06
*/
public AnnotatedValue(ClassName __type, Map<MethodName, Object> __vals)
throws InvalidClassFormatException, NullPointerException
{
if (__vals == null)
throw new NullPointerException("NARG");
throw new todo.TODO();
}
/**
* {@inheritDoc}
* @since 2018/03/06
*/
@Override
public final boolean equals(Object __o)
{
throw new todo.TODO();
}
/**
* {@inheritDoc}
* @since 2018/03/06
*/
@Override
public final int hashCode()
{
throw new todo.TODO();
}
/**
* Returns the annotation type.
*
* @return The annotation type.
* @since 2018/03/06
*/
public final ClassName type()
{
return this.type;
}
/**
* {@inheritDoc}
* @since 2018/03/06
*/
@Override
public final String toString()
{
throw new todo.TODO();
}
/**
* Decodes the input annotations and returns them.
*
* @param __pool The constant pool.
* @param __in The input data stream.
* @return The parsed annotation values.
* @throws IOException On read errors.
* @throws NullPointerException On null arguments.
* @since 2018/03/06
*/
public static final AnnotatedValue[] decode(Pool __pool,
DataInputStream __in)
throws IOException, NullPointerException
{
if (__pool == null || __in == null)
throw new NullPointerException("NARG");
throw new todo.TODO();
}
}