Skip to content

Instantly share code, notes, and snippets.

@drslump
Created October 21, 2013 18:00
Show Gist options
  • Save drslump/7088152 to your computer and use it in GitHub Desktop.
Save drslump/7088152 to your computer and use it in GitHub Desktop.
fe1cf5d allow explicit casts from enum to floating point numbers
42f91ab AST implementation relying on ctor instead of FormatterServices.GetUninitializedObject
72ad7f2 Use Boo.Lang.Compiler.Ast.ExceptionHandler explicitly. It conflicts with System.Reflection.Emit.ExceptionHandler in .NET 4.5
6be232a Use ctor instead of FormatterServices.GetUninitializedObject since this is not supported on some platforms also, do not try to instantiate abstract classes
28859cb Include readme file for booi new features
5b050d4 Refactored booi to use the command line parser from Boo.Lang.Useful
397ce62 fix handling of callable expressions operands in conditional expressions
59169f8 fall back to regular reflection when accessing literal fields (fixes case 506498)
cf075f1 fix handling of generators that yield null (fixes case 494359)
7f53947 freeze AssemblyVersion at 2.0.9.5 to avoid breaking backwards compatibility with existing binaries
663c21a bump version number and start using semantic versioning
2d7cf57 always load the Boo.Lang.Extensions.dll next to the compiler or none at all
f2d5f31 ability to resign retargetted assemblies
a0a444f rewrite wp8 Boo.Lang.dll assembly references to match wp8 system assemblies
9715f8d use wp8 compatible constructors only
080ec3b use DebuggableAttribute(DebuggingModes) instead of DebuggableAttribute(bool, bool) for compatibility with wp8
c0c1e8e don't depend on ICloneable if NO_ICLONEABLE is defined (wp8)
bcb8a34 module level attributes ([module: SomeAttribute])
7358e14 Do not use Environment extensions since they don't work under Mono
72345a Fix for MethodInfoFromLambdaExpressionBody. Should work in .NET 4.5 now.
4948628 Explicit cast to IDictionary to retrieve the correct enumerator
a52f1f5 test for reserved keywords with @ prefix
0a8fb19 Include from import in vim syntax
84865ae Merge pull request #40 from drslump/feature/from-import
3a9dc9f Allow symbol aliases in selective imports
07fe0ad Allow wildcards imports using Python syntax
fbf7e3a Support for backtick quoted string literals
01162ae Annotate quote type for strings
c62b4b7 Allow array() method invocation to match arrays
d53d57e Make ForName virtual to allow descendant classes to provide their own means to load an assembly
056e621 Added fix for abstract virtual property stub.
36324ab dont reference SerializationInfo when NO_SERIALIZATION_INFO is defined
5afc780 organize conditional compilation around missing features of the target platform instead of platform and/or assembly names
4f2ad54 make it compatible with unity's mono by introducing missing Action<T1, T2, T3, T4, T5> replacement
06e48f7 don't reference System.Diagnostics.Process on WINDOWS_PHONE
47d96e1 don't reference SerializationInfo on WINDOWS_PHONE
7db9c05 don't depend on System.Collections.Comparer
256ff07 don't depend on System.Collections.Hashtable for it's no longer supported in mobile framework versions
b623c04 remove references to MarshalByRefObject and CrossAppDomainDelegate for compatibility with wp8
88f448f Fixing incorrect warning BCW0007 in conditional expression.
b763adf Allow embedding of non resx resources
a746040 Fixed msbuild Boo task for latest version on .Net 4.0
5beb5fe Fix for generic class reference.
aa98080 Fix for empty array pattern matching.
605a37f EnumMember.IsStatic == true
ea2dd68 Fix multidimensional slicing setting
d290d4f preserve IsSynthetic on clones
d5a4089 Removed '/pt' directory copy task. The pt directory doesn't seem to exist in source and NAnt 0.92 errors during installation because of this.
d10c1a9 use only System.Runtime.CompilerServices.ExtensionAttribute to tag extension memmbers and do it in a way compatible with c# (by also tagging the declaring type and assembly)
cf7760b reference Boo.Lang.Compiler.dll by default
6046e83 XmlIgnore ParameterDeclaration.IsParamArray for now so that xml serialization at least works (lossy though)
75796ae check array indices as a separate step (so it also runs for unityscript); extract most SlicingExpression handling out of ProcessMethodBodies;
3862e61 SecurityPermissionAttribute is no more
5d92426 introducing AstNodePredicates for extension method predicates on ast nodes
e2785d2 Extend => AddRange
32507dc transient is now an attribute
8981b6c [booish] fix autocomplete behavior
c2cef14 [booish] display IEnumerable[of T] as T*
3fbd680 [booish] fix completion by accessing entities in the correct environment
c4d32e9 introduce EnvironmentBoundValue for threading original environment with values
85c08a0 [booish] allow setting values
393127f [booish] show descriptions for namespaces and others
d869aea [booish] fix how external generic types are described
c04067f When multiple properties are found with the same name, attempt to resolve the correct one based on type information
462cc02 fix handling of checked/unchecked setting for nested blocks; support module level checked/unchecked annotation;
8c69647 allow execution of nant scripts with a parameterless Main method
aabf28b allow execution of scripts with a parameterless Main method (-p:run)
b183c6e bitshift second operand must always be an integer (case 437620)
602a84f extract explaining method
46b8061 prefer 'var' over explicit type
445e2fe enable support for the 4.0.30319 runtime
7038e46 reserved member name prefixes are no more!
8322d7f ensure 'unreachable code' warnings are emitted for expanded expressions (++i becomes i = i + 1 after PMB)
4727a92 don't emit conditional branching instructions when the condition is a constant
79dda18 pattern matching for list literals
e72e2a6 optimize multidimensional array operations using Set/Get/Address primitives
b4d8e9e don't generate a module class just because empty blocks were left in the ast after macro expansion
2a01b73 make tests compatible with nunit 2.5 (nant test runner doesn't seem to support ExpectedExceptionAttribute)
ab734b0 selective import of names
f16a6ca serialize ParameterDeclarationCollection.HasParamArray
d25ddc9 fix 'for' variable reuse type checking; move local reuse handling so it's reused by unityscript
de3dd8d allow 'then' to be used as a macro name in regular mode
ecb9c9f handle attributes with constructors accepting a variable number of arguments
8e9f999 better linq (and c# extension methods in general) integration by automatically importing extension types
bbaf14a make generators in static classes transient
76a5c22 emit static classes as transient
9e7fc93 send trace output to stdout
8f0f181 get default trace level from environment variable BOO_TRACE_LEVEL (Off, Error, Warning, Info, Verbose)
a3cc90c defer asyncResultType initialization
fc25b89 generator of transient class must be transient as well
5fc2293 support for member references in object patterns: ObjectType(Member.SubMember: pattern)
3d8b9b5 fully qualify UnaryOperatorType and BinaryOperatorType
6e86eae support pattern matching against multiple values at once
21e0aa7 remove AllowPartiallyTrustedCallers and ReflectionPermission for better compatibility with .net 4.0
bc1aaac always use the assembly equality comparer when comparing assemblies
5295757 don't check literal ranges in unchecked contexts
f49cfa9 proper support for constant folding of long literals
7e7534b add L suffix when printing long values
f1b8694 mark v4.0.30319 as a supported runtime
46ac290 deprecate 'transient' keyword in favor of TransientAttribute
52d4262 expose CompilerParameters.(OnStrictMode | OnNonStrictMode) extension points
1e1803d Rewrite vim syntax highlighting script.
88b277e expose filtered stream
13098b8 make FastDepthFirstVisitor.Visit virtual (generated code)
00155ca Add an option for the boo lexer to preserve comments
643cd02 use IEntity.DisplayName() in the user interface instead of IEntity.ToString() or IEntity.FullName;
c33fb5c introduce IType.IsNull() extension to avoid proliferation of Null.Default comparisons
d386bef better handling of generic type references when creating stubs
b6b4d3d #elif support in Boo.Lang.Useful.IO.PreProcess
bf61fac booish: don't print the result of evaluating synthetic expressions (like in the case of a for loop over an array causing its length to be printed)
f7f457e optimal operator implementation for string/char membership test
6839354 dont read Assembly.Location outside WithDiscoveryPermission (coreclr)
7f242b3 resolve generic arguments before trying to resolve generic type reference
2a3c963 Array.IndexOf instead of (ICollection<T>).Contains
06931d7 don't use System.Resources.ResourceManager for compatibility with mobile profile; strings.txt => Boo.Lang.Resources.StringResources;
ef8da8f cache heavily used BooCodeBuilder reference
ec8cfdb introduce -x-type-inference-rule-attribute:TypeName command line option so applications such as Unity can provide type inference annotated APIs without a hard dependency on Boo.Lang.dll
f46e6bf instantiate NameResolutionService in a valid state (ready to service requests)
071b16d don't introduce cast when invocation value is not used
47a0d88 introduce TypeInferenceRules enum for easier access to builtin type inference rules; introduce TypeReferencedBySecondArgument rule;
b70b107 introducing Boo.Lang.TypeInferenceRuleAttribute for APIs to help the compiler
2e4ddea extracted type inference rules for builtin method invocations from ProcessMethodBodies into InvocationTypeInferenceRules
ba402d2f introducing ProcessMethodBodies.RegisterTypeInferenceRules extension point so the unityscript compiler can implement special treatment for GameObject.GetComponent
d9a7735 improve stack traces for dynamic dispatching by removing RuntimeServices.Dispatch
82f6a9a more specific signature for VisitMemberPreservingContext (so TypeMember.DeclaringType can be used)
611ce53 Block is deprecated
dc0858d support for runtime implicit conversions
51c515a make CompilerParameters.Ducky virtual so unityscript can properly implement it as (!Stric)
964acde seal PMB.Ducky
38a55f9 introducing ProcessMethodBodies.VisitMemberPreservingContext so unityscript can properly preserve and restore per module strict configuration
67c8190 dont check names of synthetic members
55652c4 CodeBuilder.CreateTypeofExpression should not set Node.Entity
cf670fb properly report errors when types inherit from arrays
5485328 add Boo.Lang and Boo.Lang.Extensions references before any other so suggestions are looked upon first from system assemblies
fe2d93f don't report generic arguments in the error message when it's the generic definition that can't be found
1c11029 add Extension attribute to Boo.Lang.Extensions so gmcs can treat EnvironmentExtensions methods as extension methods
0501152 don't change the type modifiers of an existing module class (CompilerGlobalScope)
a04239f also include type.Attributes in the check for Sealed and Abstract
fd8c867 dont require a specific System.Core.dll version
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment