예제 #1
0
파일: FormalArg.cs 프로젝트: BowsiePup/Ion
        public LLVMTypeRef Emit(IGenericPipeContext context)
        {
            // Emit the type.
            LLVMTypeRef type = this.type.Emit();

            // Return the emitted type.
            return(type);
        }
예제 #2
0
        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());
        }
예제 #3
0
파일: Directive.cs 프로젝트: BowsiePup/Ion
 public void Invoke(IGenericPipeContext context)
 {
     // Register the directive on the symbol table.
     context.SymbolTable.directives.Add(this.Key, this.Value);
 }