introducing MemoizedFunction as a result of refactoring CallableResolutionService and NameResolutionService caching
memoize TypeSystemServices.Find(Implicit|Explicit)ConversionOperator
hide method
memoize heavily called function
unused usings
don't preserve lexical for code literals by default (the common use case is to have error messages pointing at user code, not macro code); introducing 'preservingLexicalInfo' macro for those cases where it makes sense to preserve it.
access to FileIOPermission should happen inside try body because the it is currently marked as a coreclr critical type in the Unity runtime
Merge branch 'master' of github.com:bamboo/boo
hide ResolveQualifiedName(string name, EntityType flags) in preparation for more memoization
delegate to lambda
ability to clear the memoization cache for specific args
simpler code using NameResolutionService.ResolveQualifiedName(string)
bool return value was not being used
prefer ResolveQualifiedName version that returns IEntity
use a more optimizable pattern
memoize calls to Resolve(string name, EntityType flags) instead of just Resolve(string name)
simplified code by using object.Equals
support for both CAS and CoreCLR security models (under the CoreCLR the method or type access itself might be out of bounds)
Use () instead of {} for expression interpolation instead ("2+2: $(2 + 2)" instead of "2+2: ${2 + 2}") + simple identifier interpolation: "Hello, $name!"
expose booc entry point