// Builds parameter mapping. private void buildArgumentList() { arguments = new ArrayList<Expression>(4); for (int i = 0; i < fcall.getNumArguments(); i++) { arguments.add(fcall.getArgument(i)); } // Catches exceptional cases. Symbol s = SymbolTools.getSymbolOf(fcall.getName()); if (s instanceof NestedDeclarator && ((NestedDeclarator) s).isProcedure()) { PrintTools.printlnStatus(0, "[WARNING] function pointer in ", fcall); exception |= FUNCTION_POINTER; } else if (callee == null) { exception |= LIBRARY_CALL; } else if (callee.containsVarArg()) { exception |= VARIABLE_ARG_LIST; PrintTools.printlnStatus(0, "[WARNING] variable argument list ", fcall); } }