Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSilenio Quarti2008-08-27 02:22:49 +0000
committerSilenio Quarti2008-08-27 02:22:49 +0000
commitc318505e01dc02f08fc0d1afe65de4a262622c13 (patch)
tree615f50bef85c9cd0e013a7e2841ad058e2fbed7b
parent5bc01a0a5fca4da6b87ae516624216efc862b0be (diff)
downloadeclipse.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.java9
-rwxr-xr-xbundles/org.eclipse.swt.tools/META-INF/MANIFEST.MF6
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"

Back to the top