예제 #1
0
 protected String getNameFromSymbolInfo(VirtualFrame frame, RList symbol) {
   if (nameExtract == null) {
     CompilerDirectives.transferToInterpreterAndInvalidate();
     nameExtract = ExtractVectorNode.create(ElementAccessMode.SUBSCRIPT, true);
   }
   return RRuntime.asString(nameExtract.applyAccessField(frame, symbol, "name"));
 }
예제 #2
0
 protected long getAddressFromSymbolInfo(VirtualFrame frame, RList symbol) {
   if (addressExtract == null) {
     CompilerDirectives.transferToInterpreterAndInvalidate();
     addressExtract = ExtractVectorNode.create(ElementAccessMode.SUBSCRIPT, true);
   }
   return ((RExternalPtr) addressExtract.applyAccessField(frame, symbol, "address")).getAddr();
 }
예제 #3
0
 @SuppressWarnings("unused")
 @Specialization
 protected Object updateLengthError(Object vector, Object lengthVector) {
   controlVisibility();
   CompilerDirectives.transferToInterpreter();
   throw RError.error(this, RError.Message.INVALID_UNNAMED_VALUE);
 }