Merge pull request #948 from lucaswerkmeister/master

4× Bottom → Nothing
attempt to solve #950
add error code for IDE
Fix #944
Add Throwable and Error.
Don't exclude static references from having their types checked (fixes ceylon/ceylon-compiler#1580)
Don't break encapsulation by letting outsiders change the internals of the Module
squash npe
minor fix to error message
Issue #915: resource expressions that are instantiations must be Destroyable; otherwise resource expressions must be Obtainable.
Issue #915: Move the test for whether an expression is an invocation and make it public so that it can be used by the backends.
Add j.l.Error and j.l.Exception to the set of non-importable types (see ceylon/ceylon-compiler#1586).
SpecificationVisitor: allow metamodel access even to uninitialised values
Declaration: add qualifier for local types

So two local types of the same name but different scope are not equal
Add LocalDeclarationVisitor to set all local declaration qualifiers
Declaration: consider the container in hashCode()

otherwise two local declarations with same name but different scope will collide
Declaration: make sure setter/getter and value/anonymous type have different hashes

otherwise they collide
Declaration: consider the qualifier in hashCode/equals
Setter: prefixed name needs a setter prefix to differenciate them from getter
TypeParameter: allow capture

Needed by backend to generate unique names for captured method reified type parameters