Beispiel #1
0
 @Specialization
 protected RList c(
     String f,
     RArgsValuesAndNames args,
     byte naok,
     byte dup,
     @SuppressWarnings("unused") RMissing rPackage,
     @SuppressWarnings("unused") RMissing encoding, //
     @Cached("create()") BranchProfile errorProfile) {
   controlVisibility();
   SymbolInfo symbolInfo = DLL.findRegisteredSymbolinInDLL(f, null, "");
   if (symbolInfo == null) {
     errorProfile.enter();
     throw RError.error(this, RError.Message.C_SYMBOL_NOT_IN_TABLE, f);
   }
   return DotC.dispatch(
       this, symbolInfo.address, symbolInfo.symbol, naok, dup, args.getArguments());
 }
Beispiel #2
0
 @Specialization(guards = "lookupBuiltin(symbol) == null")
 protected RList c(
     VirtualFrame frame,
     RList symbol,
     RArgsValuesAndNames args,
     byte naok,
     byte dup,
     @SuppressWarnings("unused") RMissing rPackage,
     @SuppressWarnings("unused") RMissing encoding) {
   controlVisibility();
   return DotC.dispatch(
       this,
       getAddressFromSymbolInfo(frame, symbol),
       getNameFromSymbolInfo(frame, symbol),
       naok,
       dup,
       args.getArguments());
 }