diff options
author | Silenio Quarti | 2008-08-27 02:22:49 +0000 |
---|---|---|
committer | Silenio Quarti | 2008-08-27 02:22:49 +0000 |
commit | c318505e01dc02f08fc0d1afe65de4a262622c13 (patch) | |
tree | 615f50bef85c9cd0e013a7e2841ad058e2fbed7b | |
parent | 5bc01a0a5fca4da6b87ae516624216efc862b0be (diff) | |
download | eclipse.platform.swt-c318505e01dc02f08fc0d1afe65de4a262622c13.tar.gz eclipse.platform.swt-c318505e01dc02f08fc0d1afe65de4a262622c13.tar.xz eclipse.platform.swt-c318505e01dc02f08fc0d1afe65de4a262622c13.zip |
*** empty log message ***
-rw-r--r-- | bundles/org.eclipse.swt.tools/JNI Generation/org/eclipse/swt/tools/internal/ReflectField.java | 9 | ||||
-rwxr-xr-x | bundles/org.eclipse.swt.tools/META-INF/MANIFEST.MF | 6 |
2 files changed, 9 insertions, 6 deletions
diff --git a/bundles/org.eclipse.swt.tools/JNI Generation/org/eclipse/swt/tools/internal/ReflectField.java b/bundles/org.eclipse.swt.tools/JNI Generation/org/eclipse/swt/tools/internal/ReflectField.java index 24b45052c1..e252814aca 100644 --- a/bundles/org.eclipse.swt.tools/JNI Generation/org/eclipse/swt/tools/internal/ReflectField.java +++ b/bundles/org.eclipse.swt.tools/JNI Generation/org/eclipse/swt/tools/internal/ReflectField.java @@ -17,10 +17,12 @@ import org.eclipse.jdt.core.dom.AST; import org.eclipse.jdt.core.dom.ASTNode; import org.eclipse.jdt.core.dom.ASTParser; import org.eclipse.jdt.core.dom.ASTVisitor; +import org.eclipse.jdt.core.dom.FieldDeclaration; import org.eclipse.jdt.core.dom.VariableDeclarationFragment; public class ReflectField extends ReflectItem implements JNIField { Field field; + ReflectType type; ReflectClass declaringClass; public ReflectField(ReflectClass declaringClass, Field field) { @@ -61,6 +63,7 @@ boolean canChange(Class clazz) { } public JNIType getType() { + if (type != null) return type; final Class clazz = field.getType(); if (canChange(clazz)) { String originalSource = JNIGenerator.loadFile(declaringClass.sourcePath); @@ -70,7 +73,7 @@ public JNIType getType() { ASTNode ast = parser.createAST(null); final Class[] result = new Class[1]; ast.accept(new ASTVisitor() { - public boolean visit(org.eclipse.jdt.core.dom.FieldDeclaration node) { + public boolean visit(FieldDeclaration node) { for (Iterator iterator = node.fragments().iterator(); iterator.hasNext();) { VariableDeclarationFragment decl = (VariableDeclarationFragment) iterator.next(); if (decl.getName().getIdentifier().equals(field.getName())) { @@ -89,9 +92,9 @@ public JNIType getType() { return super.visit(node); } }); - if (result[0] != null) return new ReflectType(clazz, result[0]); + if (result[0] != null) return type = new ReflectType(clazz, result[0]); } - return new ReflectType(clazz); + return type = new ReflectType(clazz); } public String getAccessor() { diff --git a/bundles/org.eclipse.swt.tools/META-INF/MANIFEST.MF b/bundles/org.eclipse.swt.tools/META-INF/MANIFEST.MF index 078dff8fe5..7227cfcdf9 100755 --- a/bundles/org.eclipse.swt.tools/META-INF/MANIFEST.MF +++ b/bundles/org.eclipse.swt.tools/META-INF/MANIFEST.MF @@ -11,6 +11,6 @@ Eclipse-ExtensibleAPI: true Bundle-RequiredExecutionEnvironment: CDC-1.0/Foundation-1.0, J2SE-1.3 Require-Bundle: org.eclipse.swt;bundle-version="3.5.0", - org.eclipse.jdt.core;bundle-version="3.5.0", - org.eclipse.core.resources;bundle-version="3.4.100", - org.eclipse.core.runtime;bundle-version="3.4.100" + org.eclipse.core.runtime;bundle-version="3.4.0", + org.eclipse.core.resources;bundle-version="3.4.0", + org.eclipse.jdt.core;bundle-version="3.4.0" |