Mercurial > hg > truffle
comparison truffle/com.oracle.truffle.tck/src/com/oracle/truffle/tck/ComplexNumber.java @ 22499:9bba3a7b34be
Check foreign arguments when accessing ComplexNumber/Sequence objects
author | Matthias Grimmer <grimmer@ssw.jku.at> |
---|---|
date | Mon, 14 Dec 2015 15:07:19 +0100 |
parents | b3569a53c24c |
children | 89db2519ef18 |
comparison
equal
deleted
inserted
replaced
22498:ec40768d77a6 | 22499:9bba3a7b34be |
---|---|
105 } | 105 } |
106 | 106 |
107 @Override | 107 @Override |
108 public Object execute(VirtualFrame frame) { | 108 public Object execute(VirtualFrame frame) { |
109 ComplexNumber complex = (ComplexNumber) ForeignAccess.getReceiver(frame); | 109 ComplexNumber complex = (ComplexNumber) ForeignAccess.getReceiver(frame); |
110 String identifier = (String) ForeignAccess.getArguments(frame).get(0); | 110 String identifier = TckLanguage.expectString(ForeignAccess.getArguments(frame).get(0)); |
111 Number value = (Number) ForeignAccess.getArguments(frame).get(1); | 111 Number value = TckLanguage.expectNumber(ForeignAccess.getArguments(frame).get(1)); |
112 complex.set(identifier, value.doubleValue()); | 112 complex.set(identifier, value.doubleValue()); |
113 return value; | 113 return value; |
114 } | 114 } |
115 } | 115 } |
116 | 116 |
120 } | 120 } |
121 | 121 |
122 @Override | 122 @Override |
123 public Object execute(VirtualFrame frame) { | 123 public Object execute(VirtualFrame frame) { |
124 ComplexNumber complex = (ComplexNumber) ForeignAccess.getReceiver(frame); | 124 ComplexNumber complex = (ComplexNumber) ForeignAccess.getReceiver(frame); |
125 String identifier = (String) ForeignAccess.getArguments(frame).get(0); | 125 String identifier = TckLanguage.expectString(ForeignAccess.getArguments(frame).get(0)); |
126 return complex.get(identifier); | 126 return complex.get(identifier); |
127 } | 127 } |
128 | 128 |
129 } | 129 } |
130 } | 130 } |