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 }