From e690866ee520830ea315690dfd7cdc57244c6071 Mon Sep 17 00:00:00 2001
From: Anders Nilsson <anders.nilsson@cs.lth.se>
Date: Thu, 17 Jul 2008 16:53:37 +0200
Subject: [PATCH] Added value() method to Attributes, which returns a
 beautified attribute value.

---
 CompilerGeneration.jrag | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/CompilerGeneration.jrag b/CompilerGeneration.jrag
index 962191f..e486e29 100644
--- a/CompilerGeneration.jrag
+++ b/CompilerGeneration.jrag
@@ -421,6 +421,16 @@ aspect GenMisc {
 		pStream.println(ind(1)+"public String Attribute.name() {");
 		pStream.println(ind(2)+"return getValue().getSTRING_LITERAL();");
 		pStream.println(ind(1)+"}");
+		pStream.println(ind(1)+"public String Attribute.value() {");
+		pStream.println(ind(2)+"String s = getValue().getSTRING_LITERAL();");
+		pStream.println(ind(2)+"int hash = s.indexOf('#');");
+		pStream.println(ind(2)+"int firstCit = s.indexOf('\"');");
+		pStream.println(ind(2)+"int lastCit = s.lastIndexOf('\"');");
+		pStream.println(ind(2)+"hash = hash < 0 ? 0 : hash;");
+		pStream.println(ind(2)+"firstCit = firstCit < 0 ? 0 : firstCit;");
+		pStream.println(ind(2)+"lastCit = lastCit > firstCit ? lastCit : s.length()-1;");
+		pStream.println(ind(2)+"return s.substring(Math.max(hash,firstCit)+1,lastCit);");
+		pStream.println(ind(1)+"}");
 
 		// ClassUse.decl()
 // 		pStream.println(ind(1)+"syn lazy Thing ClassUse.decl() {");
-- 
GitLab