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