Skip to content

Commit

Permalink
Assembler: code review changes.
Browse files Browse the repository at this point in the history
  • Loading branch information
ForNeVeR committed Jan 4, 2016
1 parent 296db86 commit 96eae4f
Show file tree
Hide file tree
Showing 4 changed files with 11 additions and 13 deletions.
2 changes: 0 additions & 2 deletions Naggum.Assembler/Assembler.fs
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,6 @@ let private getMethodAttributes (m : MethodDefinition) =
|> List.fold (|||) empty

let private findMethod (signature : MethodSignature) =
// TODO: Add method overload resolution etc. (see ClrGenerator module)
let ``type`` = signature.ContainingType.Value
``type``.GetMethod (signature.Name, Array.ofList signature.ArgumentTypes)

Expand All @@ -38,7 +37,6 @@ let private assembleUnit (assemblyBuilder : AssemblyBuilder) (builder : ModuleBu
let attributes = getMethodAttributes m
let returnType = m.ReturnType
let argumentTypes = Array.ofList m.ArgumentTypes
System.Diagnostics.Debug.Print (sprintf "%A" m)
let methodBuilder = builder.DefineGlobalMethod (name,
attributes,
returnType,
Expand Down
2 changes: 1 addition & 1 deletion Naggum.Assembler/AssemblyInfo.fs
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ open System.Runtime.InteropServices

[<assembly: AssemblyTitle("Naggum.Assembler")>]
[<assembly: AssemblyProduct("Naggum")>]
[<assembly: AssemblyCopyright("Copyright © Codingteam 2015")>]
[<assembly: AssemblyCopyright("Copyright © Naggum authors 2015-2016")>]
[<assembly: ComVisible(false)>]
[<assembly: Guid("40b84f1e-1823-4255-80d4-1297613025c1")>]
[<assembly: AssemblyVersion("0.0.1.0")>]
Expand Down
6 changes: 3 additions & 3 deletions Naggum.Assembler/Processor.fs
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
module Naggum.Assembler.Processor

open System
open System.IO
open System.Reflection
open System.Reflection.Emit

open Naggum.Assembler.Representation
open Naggum.Compiler
Expand All @@ -23,7 +23,7 @@ let private resolveType name =
result

let private resolveTypes =
List.map (function
List.map (function
| Atom (Symbol name) -> resolveType name
| other -> failwithf "Unrecognized type: %A" other)

Expand Down Expand Up @@ -91,6 +91,6 @@ let private prepareTopLevel = function

/// Prepares the source file for assembling. Returns the intermediate
/// representation of the source code.
let prepare fileName stream : Assembly seq =
let prepare (fileName : string) (stream : Stream) : Assembly seq =
let forms = Reader.parse fileName stream
forms |> Seq.map prepareTopLevel
14 changes: 7 additions & 7 deletions Naggum.Assembler/Program.fs
Original file line number Diff line number Diff line change
Expand Up @@ -5,32 +5,32 @@ open System.IO
open System.Reflection
open System.Reflection.Emit

type ReturnCode =
type private ReturnCode =
| Success = 0
| Error = 1
| InvalidArguments = 2

let printUsage () =
let private printUsage () =
let version = Assembly.GetExecutingAssembly().GetName().Version
printfn "Naggum Assembler %A" version
printfn "Usage: Naggum.Assembler [one or more file names]"

let printError (error : Exception) =
let private printError (error : Exception) =
printfn "Error: %s" (error.ToString ())

let save (assembly : AssemblyBuilder) =
let private save (assembly : AssemblyBuilder) =
let name = assembly.FullName
assembly.Save name
printfn "Assembly %s saved" name

let assemble fileName =
let private assemble fileName =
use stream = File.OpenRead fileName
let repr = Processor.prepare fileName stream
let assemblies = Assembler.assemble repr
assemblies |> Seq.iter save

let nga =
function
let private nga =
function
| [| "--help" |] ->
printUsage ()
ReturnCode.Success
Expand Down

0 comments on commit 96eae4f

Please sign in to comment.