Skip to content

Instantly share code, notes, and snippets.

View eernstg's full-sized avatar

Erik Ernst eernstg

  • Google
  • Aarhus, Denmark
View GitHub Profile
@eernstg
eernstg / AboutSpecParser.md
Last active December 7, 2017 12:07
A few words on the specification parser

The Dart Specification Parser

Author: eernst@

Version: 0.1

We have created a Dart specification parser, built on a grammar specification Dart.g, which is transformed into a working parser by the tool ANTLR v3, using a couple of helper files (in particular, spec_parse.py and spec_parser). This document gives a short introduction to what it is, and some motivations for why we have it, along with an outline of the consequences for the testing workflow when we have a specification parser.

Motivation

@eernstg
eernstg / naiveTypeArguments.diff
Last active November 7, 2017 08:29
A patch for reflectable (branch use_build) adding a naive and probably still buggy ability to handle some actual type arguments
diff --git a/reflectable/lib/mirrors.dart b/reflectable/lib/mirrors.dart
index 8d3cd64..09ece0e 100644
--- a/reflectable/lib/mirrors.dart
+++ b/reflectable/lib/mirrors.dart
@@ -719,6 +719,17 @@ abstract class TypeMirror implements DeclarationMirror {
/// [TypeRelationsCapability].
List<TypeMirror> get typeArguments;
+ /// An immutable list with [Type] values for the actual type arguments
+ /// of this type.
@eernstg
eernstg / super-bounded-types.md
Last active October 16, 2018 13:42
Informal specification: Super-bounded Types
@eernstg
eernstg / NoSuchMethodForwarding.md
Last active March 22, 2018 13:34
Informal specification of noSuchMethod forwarding

This document is now obsolete, please refer to the version in the SDK repository.

NoSuchMethod Forwarding

Author: eernst@

Status: Under implementation.

Version: 0.6 (2018-03-22)

@eernstg
eernstg / InstantiateToBound.md
Last active October 16, 2018 11:14
Informal specification of the instantiate to bound mechanism.

This document may be obsolete, if in doubt please refer to the version in the SDK repository.

Feature: Instantiate to Bound

Author: eernst@

Version: 0.9 (2018-10-16)

Status: Implemented.

@eernstg
eernstg / DispatchingParameters.md
Created August 27, 2017 13:46
Informal specification: Dispatching parameters.

Dispatching Parameters

Author: eernst@

Status: Under discussion.

This document is an informal specification of the dispatching parameter feature in Dart. That feature allows a function parameter to implicitly serve as the receiver for member accesses (e.g., calling instance methods) in the body of the function, similar to the ability of the object denoted by

@eernstg
eernstg / optional-new.md
Last active August 17, 2017 12:44
Informal specification of the optional new feature.

This document is now obsolete, please refer to the current version.

Optional new

Author: eernst@.

Version: 0.1 (2017-08-15)

Status: Under discussion

// Copyright (c) 2017, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
grammar Dart;
@parser::header{
import java.util.Stack;
}
@eernstg
eernstg / optional-const.md
Last active August 17, 2017 12:44
Informal specification of the optional const feature.

This document is now obsolete, please refer to the current version.

Optional const

Author: eernst@.

Version: 0.1 (2017-08-10)

Status: Under discussion

@eernstg
eernstg / AnonymousExtensionMethods.md
Last active August 27, 2017 13:46
Informal specification: Anonymous extension methods

Anonymous Extension Methods

Author: eernst@

Status: Under discussion.

This document is an informal specification of the anonymous extension method feature in Dart. This feature allows for writing a function in an expression whose semantics makes it similar to an instance method on the result of an