diff options
author | Brian Carlstrom <bdc@google.com> | 2015-01-08 08:24:06 -0800 |
---|---|---|
committer | Brian Carlstrom <bdc@google.com> | 2015-01-08 09:27:15 -0800 |
commit | 2270795fbe0b277bfd49f40950ecaa78583175cc (patch) | |
tree | 9ac962825d41c4fb8ad1ec0fc2e8b441b42d3869 /src/proguard/evaluation/value/IdentifiedValueFactory.java | |
parent | 9961286c06c25cd03464d3e2b00bd9b9dedf96ba (diff) | |
download | proguard-2270795fbe0b277bfd49f40950ecaa78583175cc.tar.gz |
Upgrade Proguard to 5.1.
Downloaded from:
http://sourceforge.net/projects/proguard/files/proguard/5.1/
Bug: 17550647
Change-Id: I2b4eab16eb7821fc232b294ab7f433aae08f71e1
Diffstat (limited to 'src/proguard/evaluation/value/IdentifiedValueFactory.java')
-rw-r--r-- | src/proguard/evaluation/value/IdentifiedValueFactory.java | 37 |
1 files changed, 27 insertions, 10 deletions
diff --git a/src/proguard/evaluation/value/IdentifiedValueFactory.java b/src/proguard/evaluation/value/IdentifiedValueFactory.java index be5c885..6bd1d5d 100644 --- a/src/proguard/evaluation/value/IdentifiedValueFactory.java +++ b/src/proguard/evaluation/value/IdentifiedValueFactory.java @@ -2,7 +2,7 @@ * ProGuard -- shrinking, optimization, obfuscation, and preverification * of Java bytecode. * - * Copyright (c) 2002-2013 Eric Lafortune (eric@graphics.cornell.edu) + * Copyright (c) 2002-2014 Eric Lafortune (eric@graphics.cornell.edu) * * This program is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by the Free @@ -21,21 +21,20 @@ package proguard.evaluation.value; import proguard.classfile.*; -import proguard.classfile.util.ClassUtil; /** - * This class provides methods to create and reuse IntegerValue objects. + * This particular value factory attaches a unique ID to any unknown values. * * @author Eric Lafortune */ public class IdentifiedValueFactory -extends SpecificValueFactory +extends ParticularValueFactory { - private int integerID; - private int longID; - private int floatID; - private int doubleID; - private int referenceID; + protected int integerID; + protected int longID; + protected int floatID; + protected int doubleID; + protected int referenceID; // Implementations for ValueFactory. @@ -70,6 +69,24 @@ extends SpecificValueFactory { return type == null ? REFERENCE_VALUE_NULL : - new IdentifiedReferenceValue(type, referencedClass, mayBeNull, this, referenceID++); + new IdentifiedReferenceValue(type, + referencedClass, + mayBeNull, + this, + referenceID++); + } + + + public ReferenceValue createArrayReferenceValue(String type, + Clazz referencedClass, + IntegerValue arrayLength) + { + return type == null ? + REFERENCE_VALUE_NULL : + new IdentifiedArrayReferenceValue(ClassConstants.TYPE_ARRAY + type, + referencedClass, + arrayLength, + this, + referenceID++); } }
\ No newline at end of file |