summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormkersten <mkersten>2004-03-10 21:18:21 +0000
committermkersten <mkersten>2004-03-10 21:18:21 +0000
commitd5165134df129951544fa354b74b256bdb482688 (patch)
tree6a321c5e738308191e4b6fb033688a3894abd179
parent799a74bf1cb3350cb0ab8ec55d23075524d4f240 (diff)
downloadaspectj-d5165134df129951544fa354b74b256bdb482688.tar.gz
aspectj-d5165134df129951544fa354b74b256bdb482688.zip
Fixed generation and access of return types on IProgramElements(s).
-rw-r--r--asm/src/org/aspectj/asm/IProgramElement.java16
-rw-r--r--asm/src/org/aspectj/asm/internal/ProgramElement.java6
-rw-r--r--org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/core/builder/AsmElementFormatter.java4
-rw-r--r--org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/core/builder/AsmHierarchyBuilder.java7
4 files changed, 25 insertions, 8 deletions
diff --git a/asm/src/org/aspectj/asm/IProgramElement.java b/asm/src/org/aspectj/asm/IProgramElement.java
index f45493e4e..8bf641ce8 100644
--- a/asm/src/org/aspectj/asm/IProgramElement.java
+++ b/asm/src/org/aspectj/asm/IProgramElement.java
@@ -49,8 +49,15 @@ public interface IProgramElement extends Serializable {
public String getDeclaringType(); // TODO: remove (Emacs uses it)
public String getPackageName();
- public void setReturnType(String returnType);
- public String getReturnType();
+ /**
+ * @param method return types or field types
+ */
+ public void setCorrespondingType(String returnType);
+
+ /**
+ * This correponds to both method return types and field types.
+ */
+ public String getCorrespondingType();
public String toSignatureString();
@@ -72,6 +79,11 @@ public interface IProgramElement extends Serializable {
public String toString();
/**
+ * @return the javadoc comment for this program element, null if not available
+ */
+ public String getFormalComment();
+
+ /**
* Includes information about the origin of the node.
*/
public String toLinkLabelString();
diff --git a/asm/src/org/aspectj/asm/internal/ProgramElement.java b/asm/src/org/aspectj/asm/internal/ProgramElement.java
index 559abd353..6f83e3be9 100644
--- a/asm/src/org/aspectj/asm/internal/ProgramElement.java
+++ b/asm/src/org/aspectj/asm/internal/ProgramElement.java
@@ -33,7 +33,7 @@ public class ProgramElement implements IProgramElement {
protected List children = new ArrayList();
protected IMessage message = null;
protected ISourceLocation sourceLocation = null;
-
+
private List modifiers = new ArrayList();
private List relations = new ArrayList();
@@ -281,11 +281,11 @@ public class ProgramElement implements IProgramElement {
this.kind = kind;
}
- public void setReturnType(String returnType) {
+ public void setCorrespondingType(String returnType) {
this.returnType = returnType;
}
- public String getReturnType() {
+ public String getCorrespondingType() {
return returnType;
}
diff --git a/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/core/builder/AsmElementFormatter.java b/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/core/builder/AsmElementFormatter.java
index eddc09cde..14e89d232 100644
--- a/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/core/builder/AsmElementFormatter.java
+++ b/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/core/builder/AsmElementFormatter.java
@@ -38,7 +38,7 @@ public class AsmElementFormatter {
node.setKind(IProgramElement.Kind.ADVICE);
if (ad.kind == AdviceKind.Around) {
- node.setReturnType(ad.returnType.toString()); //returnTypeToString(0));
+ node.setCorrespondingType(ad.returnType.toString()); //returnTypeToString(0));
}
String details = "";
@@ -131,7 +131,7 @@ public class AsmElementFormatter {
node.setKind(IProgramElement.Kind.ERROR);
}
node.setName(name);
- node.setReturnType(itd.returnType.toString());
+ node.setCorrespondingType(itd.returnType.toString());
if (node.getKind() != IProgramElement.Kind.INTER_TYPE_FIELD) {
setParameters(methodDeclaration, node);
}
diff --git a/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/core/builder/AsmHierarchyBuilder.java b/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/core/builder/AsmHierarchyBuilder.java
index 3091094d7..2aa2e07ca 100644
--- a/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/core/builder/AsmHierarchyBuilder.java
+++ b/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/core/builder/AsmHierarchyBuilder.java
@@ -276,6 +276,7 @@ public class AsmHierarchyBuilder extends ASTVisitor {
formatter.genLabelAndKind(methodDeclaration, peNode);
genBytecodeInfo(methodDeclaration, peNode);
peNode.setModifiers(methodDeclaration.modifiers);
+ peNode.setCorrespondingType(methodDeclaration.returnType.toString());
// TODO: add return type test
if (peNode.getKind().equals(IProgramElement.Kind.METHOD)) {
@@ -285,6 +286,7 @@ public class AsmHierarchyBuilder extends ASTVisitor {
((IProgramElement)stack.peek()).setRunnable(true);
}
}
+
stack.push(peNode);
return true;
}
@@ -351,7 +353,10 @@ public class AsmHierarchyBuilder extends ASTVisitor {
makeLocation(fieldDeclaration),
fieldDeclaration.modifiers,
"",
- new ArrayList());
+ new ArrayList());
+
+ peNode.setCorrespondingType(fieldDeclaration.type.toString());
+
((IProgramElement)stack.peek()).addChild(peNode);
stack.push(peNode);
return true;