diff options
author | Brett Chabot <brettchabot@google.com> | 2010-09-23 16:56:56 -0700 |
---|---|---|
committer | Android Git Automerger <android-git-automerger@android.com> | 2010-09-23 16:56:56 -0700 |
commit | 88d74f786b88301f4435c2d9dec5ffbc3d5a1d9b (patch) | |
tree | e833cbe4c9a914027476d6843494982d388c8468 | |
parent | f6fd27112ca997dde07a1ad10d1f6edb8d9d3d3e (diff) | |
parent | 4cd5f4e3732f5fc5f4f13aeefc1a479f2bf77618 (diff) | |
download | android_dalvik-88d74f786b88301f4435c2d9dec5ffbc3d5a1d9b.tar.gz android_dalvik-88d74f786b88301f4435c2d9dec5ffbc3d5a1d9b.tar.bz2 android_dalvik-88d74f786b88301f4435c2d9dec5ffbc3d5a1d9b.zip |
am 4cd5f4e3: Merge "Add user-friendly constructors to StdField"
Merge commit '4cd5f4e3732f5fc5f4f13aeefc1a479f2bf77618' into dalvik-dev
* commit '4cd5f4e3732f5fc5f4f13aeefc1a479f2bf77618':
Add user-friendly constructors to StdField
-rw-r--r-- | dexgen/src/com/android/dexgen/rop/StdField.java | 31 |
1 files changed, 30 insertions, 1 deletions
diff --git a/dexgen/src/com/android/dexgen/rop/StdField.java b/dexgen/src/com/android/dexgen/rop/StdField.java index 3084dcca4..9adcc30ad 100644 --- a/dexgen/src/com/android/dexgen/rop/StdField.java +++ b/dexgen/src/com/android/dexgen/rop/StdField.java @@ -18,6 +18,7 @@ package com.android.dexgen.rop; import com.android.dexgen.rop.cst.CstNat; import com.android.dexgen.rop.cst.CstType; +import com.android.dexgen.rop.cst.CstUtf8; import com.android.dexgen.rop.cst.TypedConstant; /** @@ -38,6 +39,34 @@ public final class StdField extends StdMember implements Field { super(definingClass, accessFlags, nat, attributes); } + /** + * Constructs an instance having Java field as its pattern. + * + * @param field {@code non-null;} pattern for dex field + */ + public StdField(java.lang.reflect.Field field) { + this(CstType.intern(field.getDeclaringClass()), + field.getModifiers(), + new CstNat(new CstUtf8(field.getName()), + CstType.intern(field.getType()).getDescriptor()), + new StdAttributeList(0)); + } + + /** + * Constructs an instance taking field description as user-friendly arguments. + * + * @param declaringClass {@code non-null;} the class field belongs to + * @param type {@code non-null;} type of the field + * @param name {@code non-null;} name of the field + * @param modifiers access flags of the field + */ + public StdField(Class definingClass, Class type, String name, int modifiers) { + this(CstType.intern(definingClass), + modifiers, + new CstNat(new CstUtf8(name), CstType.intern(type).getDescriptor()), + new StdAttributeList(0)); + } + /** {@inheritDoc} */ public TypedConstant getConstantValue() { AttributeList attribs = getAttributes(); @@ -50,4 +79,4 @@ public final class StdField extends StdMember implements Field { return cval.getConstantValue(); } -} +}
\ No newline at end of file |