예제 #1
0
 /// <summary>
 /// Constructs a new parameter instance
 /// </summary>
 /// <param name="parameter">The parameter to map</param>
 /// <param name="matchedParameter">The parameter that was matched</param>
 /// <param name="mappedItem">The item that this entry is mapped to</param>
 /// <param name="resolvedtype">The resolved type of the parameter</param>
 public MappedParameter(AST.ParameterMap parameter, AST.Parameter matchedParameter, IInstance mappeditem, AST.DataType resolvedtype)
 {
     SourceParameter  = parameter ?? throw new ArgumentNullException(nameof(parameter));
     MatchedParameter = matchedParameter ?? throw new ArgumentNullException(nameof(matchedParameter));
     MappedItem       = mappeditem ?? throw new ArgumentNullException(nameof(mappeditem));
     ResolvedType     = resolvedtype ?? throw new ArgumentNullException(nameof(resolvedtype));
 }
예제 #2
0
 /// <summary>
 /// Constructs a new parameter instance
 /// </summary>
 /// <param name="parameter">The parameter to map</param>
 public Parameter(AST.Parameter parameter)
 {
     SourceParameter = parameter ?? throw new ArgumentNullException(nameof(parameter));
 }
예제 #3
0
 /// <summary>
 /// Gets the Cpp type for the parameter
 /// </summary>
 /// <returns>The cpp type.</returns>
 /// <param name="parameter">The input parameter.</param>
 public CppType GetType(AST.Parameter parameter)
 {
     return(GetType(parameter.CecilType));
 }
예제 #4
0
 public void Visit(AST.Parameter parameter)
 {
     values.Push(llvmParams[parameter]);
 }
예제 #5
0
 public string Type(AST.Parameter parameter)
 {
     return(RS.TypeScope.GetType(parameter).Name);
 }