public virtual IVsaItem CreateItem (String name, VsaItemType itemType, VsaItemFlag itemFlag) { lock (this) { CheckForClosed(); if (engine.IsRunning) { throw new VsaException(VsaError.EngineRunning); } if (itemType != VsaItemType.Code) { // We only support code items in this implementation. throw new VsaException(VsaError.ItemTypeNotSupported); } if (itemFlag == VsaItemFlag.Class) { // We don't support class flags. throw new VsaException(VsaError.ItemFlagNotSupported); } VsaItem.ValidateName(engine, name); VsaItem item = new VsaCodeItem(engine, name, itemFlag); itemList.Add(item); return(item); } }
public virtual IVsaItem CreateItem(string name, VsaItemType itemType, VsaItemFlag itemFlag) { if (names.Contains(name)) { throw new VsaException(VsaError.ItemNameInUse); } IVsaItem item = null; switch (itemType) { case VsaItemType.AppGlobal: if (itemFlag != VsaItemFlag.None) { throw new VsaException(VsaError.ItemFlagNotSupported); } item = new VsaGlobalItem(engine, name, itemFlag); break; case VsaItemType.Code: item = new VsaCodeItem(engine, name, itemFlag); break; case VsaItemType.Reference: if (itemFlag != VsaItemFlag.None) { throw new VsaException(VsaError.ItemFlagNotSupported); } item = new VsaReferenceItem(engine, name, itemFlag); break; } if (item != null) { items.Add(item); names.Add(name); } engine.IsDirty = true; return(item); }
public virtual IVsaItem CreateItem(string name, VsaItemType itemType, VsaItemFlag itemFlag) { if (names.Contains (name)) throw new VsaException (VsaError.ItemNameInUse); IVsaItem item = null; switch (itemType) { case VsaItemType.AppGlobal: if (itemFlag != VsaItemFlag.None) throw new VsaException (VsaError.ItemFlagNotSupported); item = new VsaGlobalItem (engine, name, itemFlag); break; case VsaItemType.Code: item = new VsaCodeItem (engine, name, itemFlag); break; case VsaItemType.Reference: if (itemFlag != VsaItemFlag.None) throw new VsaException (VsaError.ItemFlagNotSupported); item = new VsaReferenceItem (engine, name, itemFlag); break; } if (item != null) { items.Add (item); names.Add (name); } engine.IsDirty = true; return item; }
public virtual IVsaItem CreateItem (String name, VsaItemType itemType, VsaItemFlag itemFlag) { lock(this) { CheckForClosed(); if(engine.IsRunning) { throw new VsaException(VsaError.EngineRunning); } if(itemType != VsaItemType.Code) { // We only support code items in this implementation. throw new VsaException(VsaError.ItemTypeNotSupported); } if(itemFlag == VsaItemFlag.Class) { // We don't support class flags. throw new VsaException(VsaError.ItemFlagNotSupported); } VsaItem.ValidateName(engine, name); VsaItem item = new VsaCodeItem(engine, name, itemFlag); itemList.Add(item); return item; } }