diff --git a/compiler/2014/FlatSignature.jrag b/compiler/2014/FlatSignature.jrag index 363e3228924e02c4de40f391d9ec4a3c2a0670a7..350b224899f1da5f93d31214c4989bc66714ed56 100644 --- a/compiler/2014/FlatSignature.jrag +++ b/compiler/2014/FlatSignature.jrag @@ -1,15 +1,22 @@ import java.util.*; -aspect FlatSignature { +aspect NoIntentionForTypedefs { + inh boolean TypeInstance.addIntentions(); + eq Decl.getTypeInstance().addIntentions() = false; + eq SampleDecl.getTypeInstance().addIntentions() = true; + eq StructType.getField(int i).addIntentions() = true; +} + +aspect FlatSignature { public SignatureList Decl.flatSignature(int version) { SignatureList result = getSignature().getFlatSignatureList(); return result; } - + public void ASTNode.flatSignature(SignatureList list) { - throw new Error(this.getClass().getName() + - ".flatSignature(SignatureList list)" + + throw new Error(this.getClass().getName() + + ".flatSignature(SignatureList list)" + " not declared"); } @@ -26,9 +33,11 @@ aspect FlatSignature { // } public void TypeInstance.flatSignature(SignatureList list) { - debugAnnotations(this.getName()); - list.addString(getIntentionString(), "intentions: "+getIntentionString()); - getDataType().flatSignature(list); + if(addIntentions()) { + debugAnnotations(this.getName()+".TypeInstance.flatSignature"); + list.addString(getIntentionString(), "intentions: "+getIntentionString()); + } + getDataType().flatSignature(list); } public void VoidType.flatSignature(SignatureList list) { @@ -68,6 +77,7 @@ aspect FlatSignature { } public void Field.flatSignature(SignatureList list) { + debugAnnotations(this.getName()+".Field.flatSignature"); list.addString(getIntentionString(), "intentions: "+getIntentionString()); list.addString(getName(), signatureComment()); getDataType().flatSignature(list); @@ -85,7 +95,7 @@ aspect FlatSignature { StringBuffer result = new StringBuffer("array ["); for (int i = 0 ; i < getNumExp() ; i++) { if (i > 0) { - result.append(", "); + result.append(", "); } result.append(getExp(i).signatureComment()); } @@ -94,8 +104,8 @@ aspect FlatSignature { } public String ASTNode.signatureComment() { - throw new Error(this.getClass().getName() + - ".signatureComment()" + + throw new Error(this.getClass().getName() + + ".signatureComment()" + " not declared"); }