public LLVMTypeRef Emit(IGenericPipeContext context) { // Emit the type. LLVMTypeRef type = this.type.Emit(); // Return the emitted type. return(type); }
public LLVMTypeRef[] Emit(IGenericPipeContext context) { // Create the resulting argument list. List <LLVMTypeRef> args = new List <LLVMTypeRef>(); // Emit all arguments. foreach (FormalArg arg in this.Values) { // Emit and append each argument. args.Add(arg.Emit(context)); } // Return the resulting argument array. return(args.ToArray()); }
public void Invoke(IGenericPipeContext context) { // Register the directive on the symbol table. context.SymbolTable.directives.Add(this.Key, this.Value); }