Przeglądaj źródła

Fixed generation and access of return types on IProgramElements(s).

tags/v_preCompileLoopAlteration
mkersten 20 lat temu
rodzic
commit
d5165134df

+ 14
- 2
asm/src/org/aspectj/asm/IProgramElement.java Wyświetl plik

@@ -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();
@@ -71,6 +78,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.
*/

+ 3
- 3
asm/src/org/aspectj/asm/internal/ProgramElement.java Wyświetl plik

@@ -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;
}


+ 2
- 2
org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/core/builder/AsmElementFormatter.java Wyświetl plik

@@ -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);
}

+ 6
- 1
org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/core/builder/AsmHierarchyBuilder.java Wyświetl plik

@@ -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;

Ładowanie…
Anuluj
Zapisz