Skip to content

  • Projects
  • Groups
  • Snippets
  • Help
  • This project
    • Loading...
  • Sign in / Register
D
DecafPlus
  • Project
    • Overview
    • Details
    • Activity
    • Cycle Analytics
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
    • Charts
  • Issues 0
    • Issues 0
    • List
    • Board
    • Labels
    • Milestones
  • Merge Requests 0
    • Merge Requests 0
  • CI / CD
    • CI / CD
    • Pipelines
    • Jobs
    • Schedules
    • Charts
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Members
    • Members
  • Collapse sidebar
  • Activity
  • Graph
  • Charts
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
  • Tianqi Yang
  • DecafPlus
  • Repository

Switch branch/tag
  • DecafPlus
  • src
  • decaf
  • symbol
  • Function.java
Find file
BlameHistoryPermalink
  • Tianqi Yang's avatar
    feat(overload): build the symbol table and check types for overload · d5dd7e00
    Tianqi Yang authored Jan 11, 2019
    Add FuncUtils:
    - getCallFunction:
    	Get a suitable function symbol for a specific call
    		or return an error
    	Return value is of type getCallFunctionReturn
    - getArgListString:
    	Get the string of a function with function name and parameter list
    
    Modify the process of building the symbol table:
    - visitMethodDef:
    	Modify the function table with this name
    		instead of inserting a single function
    	Add the signature of this function into the table
    - checkOverride:
    	Check overrides of overloaded functions
    - isMainClass:
    	Issue errors if main function is overloaded
    
    Modify type checks:
    - call FuncUtils.getCallFunction to get the symbol
    	of this function call
    
    Modify symbol Function:
    - toSignature:
    	Return the signature of this function
    - conflictArgList:
    	Check whether this function is conflicted with another
    d5dd7e00
Function.java 2.92 KB
EditWeb IDE
×

Replace Function.java

Attach a file by drag & drop or click to upload


Cancel
A new branch will be created in your fork and a new merge request will be started.