예제 #1
0
        protected internal override ClassEmitter Generate(TypeReference type, TypeReference @base, TypeReference[] interfaces)
        {
            ClassByteCodeWriter codeWriter = new ClassByteCodeWriter(type, @base, interfaces);

            lock (this)
            {
                ClassByteCodeWriter old = _classes[type] = codeWriter;
                if (old != null)
                {
                    _classes[type] = old;
                    throw new System.InvalidOperationException("Trying to generate class twice: " + type);
                }
            }

            return(codeWriter);
        }
예제 #2
0
 public ByteCodesAnonymousInnerClass(ClassByteCodeWriter outerInstance, sbyte[] bytecode)
 {
     this.outerInstance = outerInstance;
     this._bytecode     = bytecode;
 }