| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- // Filename: parameterRemapReferenceToPointer.cxx
- // Created by: drose (01Aug00)
- //
- ////////////////////////////////////////////////////////////////////
- //
- // PANDA 3D SOFTWARE
- // Copyright (c) 2001 - 2004, Disney Enterprises, Inc. All rights reserved
- //
- // All use of this software is subject to the terms of the Panda 3d
- // Software license. You should have received a copy of this license
- // along with this source code; you will also find a current copy of
- // the license at http://etc.cmu.edu/panda3d/docs/license/ .
- //
- // To contact the maintainers of this program write to
- // [email protected] .
- //
- ////////////////////////////////////////////////////////////////////
- #include "parameterRemapReferenceToPointer.h"
- #include "typeManager.h"
- #include "cppType.h"
- #include "cppDeclaration.h"
- #include "cppConstType.h"
- #include "cppPointerType.h"
- #include "cppReferenceType.h"
- ////////////////////////////////////////////////////////////////////
- // Function: ParameterRemapReferenceToPointer::Constructor
- // Access: Public
- // Description:
- ////////////////////////////////////////////////////////////////////
- ParameterRemapReferenceToPointer::
- ParameterRemapReferenceToPointer(CPPType *orig_type) :
- ParameterRemap(orig_type)
- {
- _new_type = TypeManager::wrap_pointer(TypeManager::unwrap_reference(orig_type));
- }
- ////////////////////////////////////////////////////////////////////
- // Function: ParameterRemapReferenceToPointer::pass_parameter
- // Access: Public, Virtual
- // Description: Outputs an expression that converts the indicated
- // variable from the new type to the original type, for
- // passing into the actual C++ function.
- ////////////////////////////////////////////////////////////////////
- void ParameterRemapReferenceToPointer::
- pass_parameter(ostream &out, const string &variable_name) {
- out << "*" << variable_name;
- }
- ////////////////////////////////////////////////////////////////////
- // Function: ParameterRemapReferenceToPointer::get_return_expr
- // Access: Public, Virtual
- // Description: Returns an expression that evalutes to the
- // appropriate value type for returning from the
- // function, given an expression of the original type.
- ////////////////////////////////////////////////////////////////////
- string ParameterRemapReferenceToPointer::
- get_return_expr(const string &expression) {
- return "&(" + expression + ")";
- }
|