diff options
| author | GeonoTRON2000 <geono@thegt.org> | 2014-04-29 07:13:20 -0700 |
|---|---|---|
| committer | GeonoTRON2000 <geono@thegt.org> | 2014-04-29 07:13:20 -0700 |
| commit | eb05c2dd956b7e991f52eb5c7f03a0f11b7f1f33 (patch) | |
| tree | b3c7315063dae47af9ccf0efb40c4c2b1376e499 /Shenanigans/src/org/archphantom/shenanigans/elements/values/Array.java | |
| parent | b115ae93a10962dd61c18d563be17ad9ef56d47a (diff) | |
| download | shenanigans-eb05c2dd956b7e991f52eb5c7f03a0f11b7f1f33.tar.gz | |
Pushed existing work
Diffstat (limited to 'Shenanigans/src/org/archphantom/shenanigans/elements/values/Array.java')
| -rw-r--r-- | Shenanigans/src/org/archphantom/shenanigans/elements/values/Array.java | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/Shenanigans/src/org/archphantom/shenanigans/elements/values/Array.java b/Shenanigans/src/org/archphantom/shenanigans/elements/values/Array.java new file mode 100644 index 0000000..c03b66f --- /dev/null +++ b/Shenanigans/src/org/archphantom/shenanigans/elements/values/Array.java @@ -0,0 +1,37 @@ +package org.archphantom.shenanigans.elements.values; +import java.util.ArrayList; +import org.archphantom.shenanigans.elements.Program; +import org.archphantom.shenanigans.elements.expressions.Expression; +import org.archphantom.shenanigans.elements.variables.VarTable; + +public class Array extends Value { + private ArrayList<Expression> vals; + + public Array (ArrayList<Expression> values) { + this.vals = values; + } + + public Array (String string) { + this.vals = new ArrayList<Expression>(string.length()); + for (int i = 0; i < string.length(); i++) { + this.vals.add(new CharValue(string.charAt(i))); + } + } + + public Expression getElement (IntValue index, VarTable vars, Program program) { + return vals.get(index.intValue(vars, program).intValue()); + } + + public Expression setElement (IntValue index, Expression value, VarTable vars, Program program) { + return vals.set(index.intValue(vars, program).intValue(), value); + } + + public int size () { + return vals.size(); + } + + public ArrayList<Expression> getValue(VarTable vars, Program program) { + return vals; + } + +} |
