compiler/jv_dart_compiler.st
author Jan Vrany <jan.vrany@fit.cvut.cz>
Fri, 11 Jan 2013 13:43:38 +0000
changeset 5 77d56b3a771b
parent 3 46c322c66a29
permissions -rw-r--r--
Made Dart::ParserTests autoloaded.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1
46dd2b3b6974 Initial outline of Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     1
"{ Package: 'jv:dart/compiler' }"
46dd2b3b6974 Initial outline of Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     2
46dd2b3b6974 Initial outline of Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     3
LibraryDefinition subclass:#jv_dart_compiler
46dd2b3b6974 Initial outline of Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     4
	instanceVariableNames:''
46dd2b3b6974 Initial outline of Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     5
	classVariableNames:''
46dd2b3b6974 Initial outline of Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     6
	poolDictionaries:''
46dd2b3b6974 Initial outline of Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     7
	category:'* Projects & Packages *'
46dd2b3b6974 Initial outline of Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     8
!
46dd2b3b6974 Initial outline of Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     9
46dd2b3b6974 Initial outline of Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    10
46dd2b3b6974 Initial outline of Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    11
!jv_dart_compiler class methodsFor:'description'!
46dd2b3b6974 Initial outline of Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    12
46dd2b3b6974 Initial outline of Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    13
excludedFromPreRequisites
46dd2b3b6974 Initial outline of Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    14
    "list all packages which should be ignored in the automatic
46dd2b3b6974 Initial outline of Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    15
     preRequisites scan. See #preRequisites for more."
46dd2b3b6974 Initial outline of Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    16
46dd2b3b6974 Initial outline of Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    17
    ^ #(
46dd2b3b6974 Initial outline of Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    18
    )
46dd2b3b6974 Initial outline of Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    19
!
46dd2b3b6974 Initial outline of Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    20
46dd2b3b6974 Initial outline of Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    21
preRequisites
46dd2b3b6974 Initial outline of Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    22
    "list all required packages.
46dd2b3b6974 Initial outline of Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    23
     This list can be maintained manually or (better) generated and
46dd2b3b6974 Initial outline of Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    24
     updated by scanning the superclass hierarchies and looking for
46dd2b3b6974 Initial outline of Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    25
     global variable accesses. (the browser has a menu function for that)
46dd2b3b6974 Initial outline of Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    26
     Howevery, often too much is found, and you may want to explicitely
46dd2b3b6974 Initial outline of Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    27
     exclude individual packages in the #excludedFromPrerequisites method."
46dd2b3b6974 Initial outline of Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    28
46dd2b3b6974 Initial outline of Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    29
    ^ #(
46dd2b3b6974 Initial outline of Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    30
        #'stx:libbasic'    "LibraryDefinition - superclass of jv_dart "
46dd2b3b6974 Initial outline of Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    31
    )
46dd2b3b6974 Initial outline of Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    32
! !
46dd2b3b6974 Initial outline of Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    33
46dd2b3b6974 Initial outline of Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    34
!jv_dart_compiler class methodsFor:'description - contents'!
46dd2b3b6974 Initial outline of Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    35
46dd2b3b6974 Initial outline of Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    36
classNamesAndAttributes
46dd2b3b6974 Initial outline of Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    37
    "lists the classes which are to be included in the project.
46dd2b3b6974 Initial outline of Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    38
     Each entry in the list may be: a single class-name (symbol),
46dd2b3b6974 Initial outline of Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    39
     or an array-literal consisting of class name and attributes.
46dd2b3b6974 Initial outline of Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    40
     Attributes are: #autoload or #<os> where os is one of win32, unix,..."
46dd2b3b6974 Initial outline of Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    41
46dd2b3b6974 Initial outline of Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    42
    ^ #(
46dd2b3b6974 Initial outline of Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    43
        "<className> or (<className> attributes...) in load order"
46dd2b3b6974 Initial outline of Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    44
        #'jv_dart_compiler'
46dd2b3b6974 Initial outline of Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    45
        #'Dart::ScannerBase'
46dd2b3b6974 Initial outline of Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    46
        #'Dart::Parser'
46dd2b3b6974 Initial outline of Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    47
        #'Dart::Scanner'
3
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
    48
        #'Dart::ScannerTests'
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
    49
        #'Dart::ParserError'
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
    50
        #'Dart::SyntaxError'
46c322c66a29 More work on parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1
diff changeset
    51
        #'Dart::ScannerError'
5
77d56b3a771b Made Dart::ParserTests autoloaded.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3
diff changeset
    52
        (#'Dart::ParserTests' autoload)
1
46dd2b3b6974 Initial outline of Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    53
    )
46dd2b3b6974 Initial outline of Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    54
!
46dd2b3b6974 Initial outline of Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    55
46dd2b3b6974 Initial outline of Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    56
extensionMethodNames
46dd2b3b6974 Initial outline of Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    57
    "lists the extension methods which are to be included in the project.
46dd2b3b6974 Initial outline of Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    58
     Entries are 2-element array literals, consisting of class-name and selector."
46dd2b3b6974 Initial outline of Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    59
46dd2b3b6974 Initial outline of Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    60
    ^ #(
46dd2b3b6974 Initial outline of Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    61
    )
46dd2b3b6974 Initial outline of Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    62
! !
46dd2b3b6974 Initial outline of Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    63
46dd2b3b6974 Initial outline of Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    64
!jv_dart_compiler class methodsFor:'description - project information'!
46dd2b3b6974 Initial outline of Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    65
46dd2b3b6974 Initial outline of Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    66
applicationIconFileName
46dd2b3b6974 Initial outline of Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    67
    "Return the name (without suffix) of an icon-file (the app's icon); will be included in the rc-resource file"
46dd2b3b6974 Initial outline of Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    68
46dd2b3b6974 Initial outline of Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    69
    ^ nil
46dd2b3b6974 Initial outline of Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    70
    "/ ^ self applicationName
46dd2b3b6974 Initial outline of Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    71
!
46dd2b3b6974 Initial outline of Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    72
46dd2b3b6974 Initial outline of Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    73
companyName
46dd2b3b6974 Initial outline of Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    74
    "Return a companyname which will appear in <lib>.rc"
46dd2b3b6974 Initial outline of Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    75
46dd2b3b6974 Initial outline of Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    76
    ^ 'My Company'
46dd2b3b6974 Initial outline of Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    77
!
46dd2b3b6974 Initial outline of Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    78
46dd2b3b6974 Initial outline of Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    79
description
46dd2b3b6974 Initial outline of Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    80
    "Return a description string which will appear in vc.def / bc.def"
46dd2b3b6974 Initial outline of Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    81
46dd2b3b6974 Initial outline of Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    82
    ^ 'Class Library'
46dd2b3b6974 Initial outline of Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    83
!
46dd2b3b6974 Initial outline of Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    84
46dd2b3b6974 Initial outline of Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    85
legalCopyright
46dd2b3b6974 Initial outline of Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    86
    "Return a copyright string which will appear in <lib>.rc"
46dd2b3b6974 Initial outline of Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    87
46dd2b3b6974 Initial outline of Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    88
    ^ 'My CopyRight or CopyLeft'
46dd2b3b6974 Initial outline of Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    89
!
46dd2b3b6974 Initial outline of Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    90
46dd2b3b6974 Initial outline of Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    91
productInstallDirBaseName
46dd2b3b6974 Initial outline of Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    92
    "Returns a default installDir which will appear in <app>.nsi.
46dd2b3b6974 Initial outline of Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    93
     This is usually not the one you want to keep"
46dd2b3b6974 Initial outline of Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    94
46dd2b3b6974 Initial outline of Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    95
    ^ (self package asCollectionOfSubstringsSeparatedByAny:':/') last
46dd2b3b6974 Initial outline of Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    96
!
46dd2b3b6974 Initial outline of Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    97
46dd2b3b6974 Initial outline of Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    98
productName
46dd2b3b6974 Initial outline of Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    99
    "Return a product name which will appear in <lib>.rc"
46dd2b3b6974 Initial outline of Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   100
46dd2b3b6974 Initial outline of Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   101
    ^ 'ProductName'
46dd2b3b6974 Initial outline of Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   102
! !
46dd2b3b6974 Initial outline of Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   103
46dd2b3b6974 Initial outline of Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   104
!jv_dart_compiler class methodsFor:'documentation'!
46dd2b3b6974 Initial outline of Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   105
46dd2b3b6974 Initial outline of Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   106
version_HG
46dd2b3b6974 Initial outline of Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   107
46dd2b3b6974 Initial outline of Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   108
    ^ '$Changeset: <not expanded> $'
46dd2b3b6974 Initial outline of Dart parser
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   109
! !