parse annotations
[javainspect.git] / src / main / java / eu / svjatoslav / inspector / java / methods / Annotation.java
diff --git a/src/main/java/eu/svjatoslav/inspector/java/methods/Annotation.java b/src/main/java/eu/svjatoslav/inspector/java/methods/Annotation.java
new file mode 100644 (file)
index 0000000..d262061
--- /dev/null
@@ -0,0 +1,34 @@
+package eu.svjatoslav.inspector.java.methods;
+
+import eu.svjatoslav.inspector.tokenizer.InvalidSyntaxException;
+import eu.svjatoslav.inspector.tokenizer.Tokenizer;
+import eu.svjatoslav.inspector.tokenizer.TokenizerMatch;
+
+public class Annotation {
+
+       private String name;
+
+       public Annotation(final Tokenizer tokenizer) throws InvalidSyntaxException {
+
+               name = tokenizer.getNextToken().token;
+
+               if (!tokenizer.probeNextToken("("))
+                       return;
+
+               int depth = 1;
+
+               while (true) {
+                       final TokenizerMatch token = tokenizer.getNextToken();
+
+                       if ("(".equals(token.token))
+                               depth++;
+                       if (")".equals(token.token))
+                               depth--;
+
+                       if (depth == 0)
+                               return;
+               }
+
+       }
+
+}