home *** CD-ROM | disk | FTP | other *** search
- package com.netscape.javascript;
-
- import java.lang.reflect.Field;
- import java.lang.reflect.Method;
-
- class FieldAndMethods extends NativeJavaMethod {
- private Field field;
- private Object javaObject;
-
- public Object getDefaultValue(Class var1) {
- if (var1 == ScriptRuntime.FunctionClass) {
- return this;
- } else {
- Object var2;
- try {
- var2 = this.field.get(this.javaObject);
- } catch (IllegalAccessException var3) {
- throw Context.reportRuntimeError(Context.getMessage("msg.java.internal.private", (Object[])null));
- }
-
- var2 = NativeJavaObject.wrap(this, var2, this.field.getType());
- if (var2 instanceof Scriptable) {
- ((Scriptable)var2).setParentScope(this);
- ((Scriptable)var2).setPrototype(super.parent.getPrototype());
- }
-
- return var2;
- }
- }
-
- FieldAndMethods(Method[] var1, Field var2) {
- super(var1);
- this.field = var2;
- }
-
- void setJavaObject(Object var1) {
- this.javaObject = var1;
- }
-
- Field getField() {
- return this.field;
- }
-
- String getName() {
- return this.field.getName();
- }
-
- public Object clone() {
- FieldAndMethods var1 = new FieldAndMethods(super.methods, this.field);
- var1.javaObject = this.javaObject;
- return var1;
- }
- }
-