SharpDevelop Community

Get your problems solved!
Welcome to SharpDevelop Community Sign in | Join | Help
in Search

How to set up SharpDevelop with Boo 0.8.0 - with patch

Last post 10-26-2007 8:36 PM by ablecode. 0 replies.
Page 1 of 1 (1 items)
Sort Posts: Previous Next
  • 10-26-2007 8:36 PM

    • ablecode
    • Not Ranked
    • Joined on 10-26-2007
    • Houston, TX
    • Posts 1

    How to set up SharpDevelop with Boo 0.8.0 - with patch

    The following is a Unified Diff I created to compile and use SharpDevelop with Boo 0.8.0

    Simply put the patch in a file in the root directory containing the SharpDevelop code and run patch.exe  -u < FileName

    --- /src/AddIns/BackendBindings/Boo/BooBinding/Project/Src/CodeCompletion/InferredReturnType.cs
    +++ /src/AddIns/BackendBindings/Boo/BooBinding/Project/Src/CodeCompletion/InferredReturnType.cs
    @@ -123,7 +123,7 @@
    result = new ConstructedReturnType(enumerable, new IReturnType[ { returnType });
    }

    - public override void OnCallableBlockExpression(CallableBlockExpression node)
    + public override void OnBlockExpression(BlockExpression node)
    {
    // ignore return statements in callable blocks
    }
    --- /src/AddIns/BackendBindings/Boo/BooBinding/Project/Src/CodeCompletion/ResolveVisitor.cs
    +++ /src/AddIns/BackendBindings/Boo/BooBinding/Project/Src/CodeCompletion/ResolveVisitor.cs
    @@ -609,7 +609,7 @@
    MessageService.ShowError(error, "ResolveVisitor: error processing " + node);
    }

    - public override void OnCallableBlockExpression(CallableBlockExpression node)
    + public override void OnBlockExpression(BlockExpression node)
    {
    AnonymousMethodReturnType amrt = new AnonymousMethodReturnType(cu);
    if (node.ReturnType != null) {
    --- /src/AddIns/BackendBindings/Boo/BooBinding/Project/Src/CodeCompletion/VariableLookupVisitor.cs
    +++ /src/AddIns/BackendBindings/Boo/BooBinding/Project/Src/CodeCompletion/VariableLookupVisitor.cs
    @@ -29,8 +29,8 @@
    SourceLocation GetEndSourceLocation(Node node)
    {
    if (node.EndSourceLocation.IsValid) return node.EndSourceLocation;
    - if (node is CallableBlockExpression) {
    - return GetEndSourceLocation((node as CallableBlockExpression).Body);
    + if (node is BlockExpression) {
    + return GetEndSourceLocation((node as BlockExpression).Body);
    } else if (node is ForStatement) {
    return GetEndSourceLocation((node as ForStatement).Block);
    } else if (node is ExceptionHandler) {
    @@ -44,13 +44,13 @@
    return node.EndSourceLocation;
    }

    - public override void OnCallableBlockExpression(CallableBlockExpression node)
    + public override void OnBlockExpression(BlockExpression node)
    {
    if (node.LexicalInfo.Line <= resolver.CaretLine && GetEndSourceLocation(node).Line >= resolver.CaretLine - 1) {
    foreach (ParameterDeclaration param in node.Parameters) {
    DeclarationFound(param.Name, param.Type ?? (resolver.IsDucky ? new SimpleTypeReference("duck") : new SimpleTypeReference("object")), null, param.LexicalInfo);
    }
    - base.OnCallableBlockExpression(node);
    + base.OnBlockExpression(node);
    }
    }

    --- /src/AddIns/BackendBindings/Boo/BooBinding/Project/Src/Designer/CodeDomVisitor.cs
    +++ /src/AddIns/BackendBindings/Boo/BooBinding/Project/Src/Designer/CodeDomVisitor.cs
    @@ -460,7 +460,7 @@
    return new CodeFieldReferenceExpression(target, name);
    }

    - public override void OnAstLiteralExpression(AstLiteralExpression node)
    + public override void OnQuasiquoteExpression(QuasiquoteExpression node)
    {
    _expression = new CodeObjectCreateExpression(node.Node.GetType());
    }
    --- /src/AddIns/BackendBindings/Boo/NRefactoryToBooConverter/Project/ConvertVisitorExpressions.cs
    +++ /src/AddIns/BackendBindings/Boo/NRefactoryToBooConverter/Project/ConvertVisitorExpressions.cs
    @@ -501,7 +501,7 @@

    public object VisitAnonymousMethodExpression(AnonymousMethodExpression anonymousMethodExpression, object data)
    {
    - B.CallableBlockExpression cbe = new B.CallableBlockExpression(GetLexicalInfo(anonymousMethodBLOCKED EXPRESSION;
    + B.BlockExpression cbe = new B.BlockExpression(GetLexicalInfo(anonymousMethodBLOCKED EXPRESSION;
    cbe.EndSourceLocation = GetLocation(anonymousMethodExpression.EndLocation);
    cbe.Body = ConvertBlock(anonymousMethodExpression.Body);
    ConvertParameters(anonymousMethodExpression.Parameters, cbe.Parameters);
    --- /src/AddIns/BackendBindings/Boo/NRefactoryToBooConverter/Project/RenameLocalsVisitor.cs
    +++ /src/AddIns/BackendBindings/Boo/NRefactoryToBooConverter/Project/RenameLocalsVisitor.cs
    @@ -133,7 +133,7 @@
    }

    public override void OnCallableDefinition(CallableDefinition node) { }
    - public override void OnCallableBlockExpression(CallableBlockExpression node) { }
    + public override void OnBlockExpression(BlockExpression node) { }

    public override void OnDeclarationStatement(DeclarationStatement node)
    {
    --- /src/AddIns/BackendBindings/Boo/NRefactoryToBooConverter/Project/ReplaceBreakStatementsVisitor.cs
    +++ /src/AddIns/BackendBindings/Boo/NRefactoryToBooConverter/Project/ReplaceBreakStatementsVisitor.cs
    @@ -19,7 +19,8 @@
    this.label = label;
    }

    - public override void OnGivenStatement(GivenStatement node) { }
    + //given is no longer a reserve word as of boo 0.8.0
    + //public override void OnGivenStatement(GivenStatement node) { }

    public override void OnForStatement(ForStatement node) { }

Page 1 of 1 (1 items)
Powered by Community Server (Commercial Edition), by Telligent Systems
Don't contact us via this (fleischfalle@alphasierrapapa.com) email address.